PHP技术面试题

会基于面试者的简历,问如下的一些问题: OOP 面向对象的3个特性:封装、继承、多态 什么是多态? PHP下如何实现多态? 什么是接口? 什么是抽象类? 接口和抽象类的区别 ? 框架 阅读源码是提升编程能力的最佳手段。不读阅读源码的开发者,是不合格的。 ...

2020年7月29日 · 5 分钟 · zgia

php 7.1.12 Dockerfile

`FROM php:7.1-fpm Composer COPY config/composer /usr/local/bin/composer RUN chmod 755 /usr/local/bin/composer Install selected extensions and other stuff RUN apt-get update && apt-get -y –no-install-recommends install build-essential lsb-release libfreetype6-dev libjpeg62-turbo-dev libmcrypt-dev libpng-dev libssl-dev librabbitmq-dev && apt-get -y –no-install-recommends install apt-utils && apt-get -y install wget procps iputils-ping net-tools vim telnet && apt-get autoremove -y; apt-get autoclean -y; apt-get clean -y; rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/* RUN rm -rf /usr/local/etc/php-fpm.d/* RUN pecl install igbinary redis xdebug swoole amqp && echo “extension=igbinary.so” > /usr/local/etc/php/conf.d/igbinary.ini && echo “extension=redis.so” > /usr/local/etc/php/conf.d/redis.ini && echo “zend_extension=xdebug.so” > /usr/local/etc/php/conf.d/xdebug.ini && echo “extension=swoole.so” > /usr/local/etc/php/conf.d/swoole.ini && echo “extension=amqp.so” > /usr/local/etc/php/conf.d/amqp.ini RUN docker-php-source extract && cp /usr/src/php/ext/openssl/config0.m4 /usr/src/php/ext/openssl/config.m4 && docker-php-ext-install -j$(nproc) openssl && rm -rf /usr/src/php RUN docker-php-ext-install -j$(nproc) iconv mcrypt pdo_mysql mysqli exif gettext RUN docker-php-ext-configure gd –with-freetype-dir=/usr/include/ –with-jpeg-dir=/usr/include/ && docker-php-ext-install -j$(nproc) gd ...

2017年12月14日 · 1 分钟 · zgia

使用phar包配置phpuint

先看官方文档,安装phpunit:http://www.phpunit.de/manual/current/en/installation.html phpunit.phar包几乎包含所有的依赖组件(也包括一些可选组件),所以用phpunit.phar设置单元测试时,无需单独安装其他的可选包了。 ...

2013年3月6日 · 1 分钟 · zgia

php 5.4 + apache 2 + xdebug 2 + Windows

如果配置xdebug有问题,请先配置好php,然后把phpinfo()输出到浏览器的html复制到页面: http://xdebug.org/wizard.php 中的输入框,然后点击按钮:“Analyse my phpinfo() output”,让xdebug帮你决定用哪个php_xdebug.dll。

2013年2月27日 · 1 分钟 · zgia

使用ZipArchive压缩目录

想备份整个网站,就想到先把整个网站打包,然后下载。 下面的代码中,最重要的是:**$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator(“app/”));**这句。 ...

2010年9月18日 · 1 分钟 · zgia

Windows下使用PHP+LDAPS

1、启用:php_openssl.dll; 2、新建目录:c:\openldap\sysconf(c是系统盘); 3、在sysconf下新建文件:ldap.conf,文件内容:TLS_REQCERT never。 4、重启apache(IIS我没有试过,估计也是这样做) 测试: ...

2010年4月16日 · 1 分钟 · zgia

通过phpmailer备份文件到gmail

* 将文件作为Gmail附件备份到Gmail中 * ver 1.0 * 2008-11-15 zGia! * wuliuqiba@gmail.com PHPMailer: http://phpmailer.codeworxtech.com/ http://sourceforge.net/projects/phpmailer PHP email transport class featuring file attachments, SMTP servers, CCs, BCCs, HTML messages, word wrap, and more. Sends email via sendmail, PHP mail(), QMail, or with SMTP. php /** * 将文件作为Gmail附件备份到Gmail中 * ver 1.0 * 2008-11-15 zGia! * wuliuqiba@gmail.com */ error_reporting(E_ALL); //error_reporting(E_STRICT); date_default_timezone_set('Asia/Shanghai'); //@header('Content-Type: text/html; charset=utf-8'); include("class.phpmailer.php"); // ############################################################################## // Gmail标签 // 通过filter,设置邮件自动分拣。比如设置filter: // Matches: to:(xxxxx+book@gmail.com) // Do this: Skip Inbox, Apply label "book" $labels = array( "nolabel" = "", "book" => "book", "backup" => "backup" ); // 是否将多个附件发送到一个邮件中 $more_attaches_email = false; // 附件 // 不能发送可执行文件或大于 20 MB 的邮件 $attaches = array( "E:\phpmailer.rar", ); // 发邮件 if ($more_attaches_email) { mailer($labels['book'], $attaches); } else { foreach ($attaches as $attach) { mailer($labels['backup'], $attach); } } // ############################################################################## // 传送门 function mailer($label, &$attaches) { unset($mail); $mail =& init_mail($label); send_mail($mail, $attaches); } // ############################################################################## // 发邮件 function send_mail(&$mail, &$attaches) { // 邮件主题,正文 $subject = ""; if(empty($attaches)) { echo "No attach!"; exit; } // 多附件 if(is_array($attaches)) { foreach ($attaches as $attach) { $mail->AddAttachment($attach); $subject .= "|" . basename($attach); } } // 单附件 else { $mail->AddAttachment($attaches); $subject .= "|" . basename($attaches); } $subject = preg_replace("/^\|/i", "", $subject); echo "Sending $subject now......\n\t\t"; $mail->Subject = $subject; $mail->Body = preg_replace("/\|/i", " ", $subject); if(!$mail->Send()) { echo "Failure: " . $mail->ErrorInfo; } else { echo "Success, message sent."; } echo "\n"; } // ############################################################################## // 初始化 PHPMailer function init_mail($label = "") { // 构造 $mail = new PHPMailer(); // 使用 SMTP $mail->IsSMTP(); // 激活 SMTP 验证你哦是 $mail->SMTPAuth = true; // 下面3个配置不明白的,可以查看此链接: // http://mail.google.com/support/bin/answer.py?answer=76147 // 此服务器要求安全连接 $mail->SMTPSecure = "ssl"; // 使用 Gmail 作为 SMTP 服务器 $mail->Host = "smtp.gmail.com"; // Gmail 服务器的 SMTP 端口号 $mail->Port = 465; // ****************** 从这里开始 ************************* // 发送邮件的 Gmail 账户 $mail->Username = "username@gmail.com"; $mail->Password = "password"; // 添加回复到 //$mail->AddReplyTo("replyto@gmail.com","replyto"); // 发信人 $mail->From = "sender@gmail.com"; $mail->FromName = "sender"; // 收信人 $mail->AddAddress("recipients" . ($label ? "+$label" : "") . "@gmail.com", "recipients"); // ****************** 到这里结束,改成你自己的gmail账号 ************************* // 邮件编码 $mail->CharSet = "utf-8"; // HTML 格式邮件,如果使用文本模式查看的话,所显示的信息 $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // 正文折行 $mail->WordWrap = 50; // 可以使用某个文件内容作为邮件正文 //$body = $mail->getFile('contents.html'); //$body = eregi_replace("[\]",'',$body); //$mail->MsgHTML($body); // 发送 HTML 格式邮件 $mail->IsHTML(true); return $mail; }

2008年11月16日 · 2 分钟 · zgia

资产管理的物品申请流程

员工申请物品流程 1 申请 1.1 选择物品 1.2 选择审批人 1.3 提交申请 1.3.1 request表存放每个申请 1.3.2 requestitem表存放申请的物品 1.3.3 requestflow表存放申请流程处理 2 部门内部处理申请 2.1 审批人接到通知:短信 2.2 审批人审批,并给出意见(会签) 2.3 转交下一步 2.3.1 更高级审批人 2.3.2 库房 3 库房处理 有3个库房:IT库、非IT库、宣传品库。 3.1 物资负责人 3.1.1 没有物品:转采购流程 3.1.2 有相关物品:审批后,转物品库房管理员 3.2 库房管理员 3.2.1 出库,结束流程。

2008年6月26日 · 1 分钟 · zgia

目前正在进行的项目:资产管理

这2个月一直在做一个产品,php+mysql。有个很好听的名字:企业资产管理,Enterprise Assets Management(EAM)。 目前已经完成: 1、固定资产、非固定资产,这2种分类方式仅面向实物,而非财务; 2、计算机整机和零部件处理; 3、资产在员工之间的转移; 4、统计,使用了open flash chart提供的flash图表; 5、权限 下一步: 1、资产申请的工作流; 2、更完善的统计、报表功能。

2008年6月4日 · 1 分钟 · zgia

相册开发

2008-2-2 1、缓存大图文件,避免第二次使用GD创建缩略图 2、更改页面模板

2008年2月2日 · 1 分钟 · zgia