如果您对我们的培训感兴趣,欢迎您访问新程PHP培训主站

学员姓名:马铮
基本资料:毕业于北京工业大学,本科。毕业后曾从事COBOL语言开发。自学过4个月的php语言,但是一直不得要领。到新程php培训中心学习之前,曾考虑到北京某知名php培训班学习,但因对方宣传与实际不符而放弃。
就业情况:现就业360圈(http://www.360quan.com/),因与公司签订工资保密协议而不能公布工资 。
马铮毕业感言:
秋天的凉意还没有到来,三个月的学习生活就已走到了尽头。还没有褪去记忆里相逢的色彩,耳边却已响起了离别的歌谣。三个月的时间虽然短暂,但在我心里却如曲水流长婉转,脑海中留下的点滴痕迹也似萤火虫般醒目难忘。
想起今年从上家公司离职的时候,感觉刚毕业不久而且非科班出身的自己对于软件的理解就像是打补丁,这里一块那里一块,没有一个完整的知识体系,又像是在黑夜里行走,有力气也跑不了几步。思前想后,决定还是要进行一下完整知识体系的培训,需要一个好的导师进行沟通指导。在进行了很多培训机构的调查咨询后,我最终选择了新程PHP培训,这段难忘的时光也由此宣告开始。
乍到此处,心有戚戚然,然而随着渐渐与导师与同学沟通的深入,感觉到了这里浓厚的大家庭的氛围。每天上午的任课老师邓老师的讲课也由浅入深,循序渐进,从HTML到CSS,从JS到BOM,从PHP到MYSQL,我也由懵懵懂懂的听课看书,逐步进入深入学习探讨的状态,从一开始脑子里满是问题都不知道问哪个好到后来能够根据导师的提示自己寻找线索解决答案再到后来的自己提出问题能够给出几个解决方案,每一次都是飞跃,每一次都增长了我的不断学习的信心与继续技术这条路的决心。
随着学习的深入,接触的技术不断的增多,随之而来的一种浮躁的心态愈演愈烈。慢慢的我发现我自己每天很累很疲惫,还总有种失去方向的感觉,想要一口吃下一个胖子却又不可能一口吃下一个胖子。在这样矛盾的心理的作用下,有时候一点自信也没有,有时候想要放弃,但是导师缴老师的一句话(遇到问题不要怕,当你分析并解决问题后,你会比别人获得更大的收获),让我思量良久。于是我静下心来,专注导师所讲课的内容,从基础一点一点的掌握,就像先哲马克思所说,基础决定上层建筑。要想在技术这条路上越走越远,就必须把基础打牢,这样才能学的更深,飞得更高。
这里和其他培训机构最大的不同:每天下午缴老师都要牺牲自己休息的时间,耐心的为大家做辅导,巩固每天学习的知识,定期为我们做一些高级技术的专题讲座(如JSON SEO JQUERY,大流量负载方案)并最终指导我们每人独立完成了3个版本(普通,静态,MVC)的CMS系统,这些最终成为了我之后一次次面试,笔试成功的最大资本。
唐骏说过一句话:我们需要的不是给你1个月时间你能考100分的人,我们需要的是给你1天时间你能考60分的人。两位老师每天不断地强调我们要养成独立学习的习惯,遇到问题如何分析和解决,当我们离开老师时,也可以不断地自我成长。
就这样,每天在课堂上认真求索,在家里坚持复习,一切都有条不紊的进行着。日子一天天的过去,我从一个懵懵懂懂的初学者到了现在一些理念熟稔于心的老鸟。临到这几天的面试笔试,感觉有些从容,不再像初毕业时候的那般捉襟见肘穷于应付。
现在是离别的时刻,现在也是开始的时刻。感谢这个大家庭给我带来的自信与从容,感谢缴老师对我的照顾与指导。
最后祝愿新程PHP培训越做越好,每位同学们都能在这里实现梦想,找到理想的工作。

学员姓名:李震就业情况:
就业于水晶石数字科技有限公司 (http://www.crystalcg.com/cn/)
李震毕业感言
转眼之间,我的三个月的培训已经结束了.时间虽然短暂,也许与高中或者大学无法相比,可这三个月朋友之间的喜怒哀乐与缴老师不厌其烦的讲解.这些回忆才是 最宝贵和美好的. 记得我们刚刚来到新程培训的时候是那样的稚嫩,关于培训的项目我们可以说是”零”基础,虽然是大学刚刚毕业,可四年的大学生活中,又能真正学到些什 么………
在来到新程PHP培训之前,已经大学毕业半年多了,我在大学学的专业是计算机网络技术,在大学毕业后自然而然也就围着关于网络的工作找,面对着一次次的招 聘会,面对着一次次的尴尬与摇头,自己才发现,大学所学的东西怎么那么没有用呢,怎么就找不到一个工作呢,一个关于网络的工作这么难找吗???
之后,跟父母研究以后,决定找个培训班,在充充电,就这样找到了新程PHP培训,与缴老师结识了.
我选择的是LAMP全能就业班,在这三个月的学习中,真的就一个感觉,每天都在飞快的成长,每天都在飞快的进步.
在缴老师的教学中,我感觉到了什么叫做责任心,由于我们来的时候对于PHP都是零基础,所以感觉比较笨,但是无论我们怎么笨,怎么不会,怎么听不懂,缴老 师都是始终如一的去讲解每一个问题,每一个知识点一直讲到我们点头说会为止,在签订合同的时候,上课时间只有一上午,可是实际上课的时间基本都是一整天, 一整天的上,缴老师从来没有在收取别的费用了.
三个月的时间过去了,缴老师也按照合同给我们找到了工作,可没想到的是给我们找到了一家这么有实力,这么大的公司—水晶石数字科技有限公司.这是一家跨国公司,在中国 北京,天津上海等都有公司,在英国伦敦也有分公司,还是2012年奥运会合作伙伴…
缴老师的培训班没得说,一个字”棒”,两个字”责任”,
最后祝愿新程PHP培训班越办越好,哈哈其实不用祝愿也会办的越来越好的,因为有着一个这么负责任的老师在指导着我们前进,临了给新程写了一首小诗…..
新程诗
新山青,程山青
两岸青山相对迎
总关同窗离别情
祝愿新程往前行
又是一道经典的面试题
echo print不是真正的函数,而是PHP语言结构
print_r可以打印出复杂类型变量的值(如数组,对象)
echo的执行效率最高。
echo 可以输出用”,”分割的多个字符串,print不行。
本题比较简单,实现方法也很多。
<?php
function Arrayfun($arr) {
$str = implode(”,$arr); //把数组组成一个字符串
$tempArr = array();
for ($i=0;$i<strlen($str);$i++) {
$tempArr[] = $str[$i];
}
return $tempArr;
}
print_r(Arrayfun(Array(2,45,10,257)));
/**
输出
Array
(
[0] => 2
[1] => 4
[2] => 5
[3] => 1
[4] => 0
[5] => 2
[6] => 5
[7] => 7
)
*/
?>
print_r(Arrayfun(Array(2,45,10,257)));
$str = 0;
function fun(&$str){
return $str;
}
echo fun($str+1);
分析:本题其实不会输出任何结果,只是产生一个致命的错误。对于fun的参数是一个引用传递的变量,所以参数只能是变量。
同理,用实数做参数也会产生类似的错误。例如 fun(1);
<?php
//这个比较简单,考察的是对strpos掌握情况
//一定要用===,因为strpos可能会返回0
$a = ‘http://www.phppx.com’;
$b = ‘h’;
if (strpos($a,$b,0) === false) {
echo ‘没有’;
} else {
echo ‘有’;
}
?>
<?php
//方法1,截取字符串
$a = ‘http://www.phppx.com’;
$b = ‘新程PHP培训’;
$a=$a.$b;
echo $b=substr($a,0,-1*strlen($b));
echo $a=substr($a,strlen($b));
//方法2,利用数组
$a = ‘http://www.phppx.com’;
$b = ‘新程PHP培训’;
$a = array($a,$b);
echo $b = $a[0];
echo $a= $a[1];
?>
考虑到有些同学不太清楚自己是不是适合学习php,同时也为了打消各位同学的顾虑,新程PHP培训决定把免费试听的时间从2天提高到5天,完全免费,不收取任何费用。
很多“所谓知名培训”只能试听半天时间,这说明什么,他们对教学时不自信的。我们之所以这样做,源于我们对教学的自信,以及“一切为就业服务”的态度。
新程PHP培训将一如既往,竭尽全力为各位同学服务。
经过三个月的紧张而有序的学习,新程PHP培训就业班第六期全部8名同学在一个月内已经100%就业。
之所以能够100%就业,最重要3个因素是:
新程成立2年多以来,严格恪守“好好做教学,好好做就业”的宗旨,用铁一样事实一次次证明,新程PHP培训从来没有食言过,是真正对得起学员每一分学费的。
下面是8位同学的工作照。(注:我们绝不拿入学照,或者生活照当工作照,那样完全没有可信度)。以下所有同学QQ,手机联系方式都有,但是考虑到个人隐私,这里不方便公开。如想跟其中某位同学聊聊,请加QQ543850577(毛老师) 或者 QQ群100498385。(以下同学都在群里)
胡佳就业于:天啸融通(北京)科技有限公司 |
李金霞就业于:马可波罗网 |
祝清就业于:宏合窗景科技有限公司 |
李想就业于:无限新空信息技术有限公司 |
马曙光就业于:北京芙德中天科贸有限公司 |
金建丞就业于:国际教育科技有限公司 |
张鹏飞就业于:乐你游旅行网 |
王方超就业于:北京百德诚医疗科技有限公司 |
这个类的所有操作不需要 zLib 模块的支持,有的时候可能会用到这个类。
<?
/**
* @copyright 互联网
* @author bouchon
* 整理:www.phppx.com
* @desc 建立、操作、控制 ZIP 文件的类
*/
class zip
{
var $datasec, $ctrl_dir = array();
var $eof_ctrl_dir = “\x50\x4b\x05\x06\x00\x00\x00\x00″;
var $old_offset = 0; var $dirs = Array(“.”);
function get_List($zip_name)
{
$zip = @fopen($zip_name, ‘rb’);
if(!$zip) return(0);
$centd = $this->ReadCentralDir($zip,$zip_name);
@rewind($zip);
@fseek($zip, $centd['offset']);
for ($i=0; $i<$centd['entries']; $i++)
{
$header = $this->ReadCentralFileHeaders($zip);
$header['index'] = $i;$info['filename'] = $header['filename'];
$info['stored_filename'] = $header['stored_filename'];
$info['size'] = $header['size'];$info['compressed_size']=$header['compressed_size'];
$info['crc'] = strtoupper(dechex( $header['crc'] ));
$info['mtime'] = $header['mtime']; $info['comment'] = $header['comment'];
$info['folder'] = ($header['external']==0×41FF0010||$header['external']==16)?1:0;
$info['index'] = $header['index'];$info['status'] = $header['status'];
$ret[]=$info; unset($header);
}
return $ret;
}
function Add($files,$compact)
{
if(!is_array($files[0])) $files=Array($files);
for($i=0;$files[$i];$i++){
$fn = $files[$i];
if(!in_Array(dirname($fn[0]),$this->dirs))
$this->add_Dir(dirname($fn[0]));
if(basename($fn[0]))
$ret[basename($fn[0])]=$this->add_File($fn[1],$fn[0],$compact);
}
return $ret;
}
function get_file()
{
$data = implode(”, $this -> datasec);
$ctrldir = implode(”, $this -> ctrl_dir);
return $data . $ctrldir . $this -> eof_ctrl_dir .
pack(‘v’, sizeof($this -> ctrl_dir)).pack(‘v’, sizeof($this -> ctrl_dir)).
pack(‘V’, strlen($ctrldir)) . pack(‘V’, strlen($data)) . “\x00\x00″;
}
function add_dir($name)
{
$name = str_replace(“\\”, “/”, $name);
$fr = “\x50\x4b\x03\x04\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00″;
$fr .= pack(“V”,0).pack(“V”,0).pack(“V”,0).pack(“v”, strlen($name) );
$fr .= pack(“v”, 0 ).$name.pack(“V”, 0).pack(“V”, 0).pack(“V”, 0);
$this -> datasec[] = $fr;
$new_offset = strlen(implode(“”, $this->datasec));
$cdrec = “\x50\x4b\x01\x02\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00″;
$cdrec .= pack(“V”,0).pack(“V”,0).pack(“V”,0).pack(“v”, strlen($name) );
$cdrec .= pack(“v”, 0 ).pack(“v”, 0 ).pack(“v”, 0 ).pack(“v”, 0 );
$ext = “\xff\xff\xff\xff”;
$cdrec .= pack(“V”, 16 ).pack(“V”, $this -> old_offset ).$name;
$this -> ctrl_dir[] = $cdrec;
$this -> old_offset = $new_offset;
$this -> dirs[] = $name;
}
function add_File($data, $name, $compact = 1)
{
$name = str_replace(‘\\’, ‘/’, $name);
$dtime = dechex($this->DosTime());
$hexdtime = ‘\x’ . $dtime[6] . $dtime[7].’\x’.$dtime[4] . $dtime[5]
. ‘\x’ . $dtime[2] . $dtime[3].’\x’.$dtime[0].$dtime[1];
eval(‘$hexdtime = “‘ . $hexdtime . ‘”;’);
if($compact)
$fr = “\x50\x4b\x03\x04\x14\x00\x00\x00\x08\x00″.$hexdtime;
else $fr = “\x50\x4b\x03\x04\x0a\x00\x00\x00\x00\x00″.$hexdtime;
$unc_len = strlen($data); $crc = crc32($data);
if($compact){
$zdata = gzcompress($data); $c_len = strlen($zdata);
$zdata = substr(substr($zdata, 0, strlen($zdata) – 4), 2);
}else{
$zdata = $data;
}
$c_len=strlen($zdata);
$fr .= pack(‘V’, $crc).pack(‘V’, $c_len).pack(‘V’, $unc_len);
$fr .= pack(‘v’, strlen($name)).pack(‘v’, 0).$name.$zdata;
$fr .= pack(‘V’, $crc).pack(‘V’, $c_len).pack(‘V’, $unc_len);
$this -> datasec[] = $fr;
$new_offset = strlen(implode(”, $this->datasec));
if($compact)
$cdrec = “\x50\x4b\x01\x02\x00\x00\x14\x00\x00\x00\x08\x00″;
else $cdrec = “\x50\x4b\x01\x02\x14\x00\x0a\x00\x00\x00\x00\x00″;
$cdrec .= $hexdtime.pack(‘V’, $crc).pack(‘V’, $c_len).pack(‘V’, $unc_len);
$cdrec .= pack(‘v’, strlen($name) ).pack(‘v’, 0 ).pack(‘v’, 0 );
$cdrec .= pack(‘v’, 0 ).pack(‘v’, 0 ).pack(‘V’, 32 );
$cdrec .= pack(‘V’, $this -> old_offset );
$this -> old_offset = $new_offset;
$cdrec .= $name;
$this -> ctrl_dir[] = $cdrec;
return true;
}
function DosTime() {
$timearray = getdate();
if ($timearray['year'] < 1980) {
$timearray['year'] = 1980; $timearray['mon'] = 1;
$timearray['mday'] = 1; $timearray['hours'] = 0;
$timearray['minutes'] = 0; $timearray['seconds'] = 0;
}
return (($timearray['year'] – 1980) << 25) | ($timearray['mon'] << 21) | ($timearray['mday'] << 16) | ($timearray['hours'] << 11) |
($timearray['minutes'] << 5) | ($timearray['seconds'] >> 1);
}
function Extract ( $zn, $to, $index = Array(-1) )
{
$ok = 0; $zip = @fopen($zn,’rb’);
if(!$zip) return(-1);
$cdir = $this->ReadCentralDir($zip,$zn);
$pos_entry = $cdir['offset'];
if(!is_array($index)){ $index = array($index); }
for($i=0; $index[$i];$i++){
if(intval($index[$i])!=$index[$i]||$index[$i]>$cdir['entries'])
return(-1);
}
for ($i=0; $i<$cdir['entries']; $i++)
{
@fseek($zip, $pos_entry);
$header = $this->ReadCentralFileHeaders($zip);
$header['index'] = $i; $pos_entry = ftell($zip);
@rewind($zip); fseek($zip, $header['offset']);
if(in_array(“-1″,$index)||in_array($i,$index))
$stat[$header['filename']]=$this->ExtractFile($header, $to, $zip);
}
fclose($zip);
return $stat;
}
function ReadFileHeader($zip)
{
$binary_data = fread($zip, 30);
$data = unpack(‘vchk/vid/vversion/vflag/vcompression/vmtime/vmdate/Vcrc/Vcompressed_size/Vsize/vfilename_len/vextra_len’, $binary_data);
$header['filename'] = fread($zip, $data['filename_len']);
if ($data['extra_len'] != 0) {
$header['extra'] = fread($zip, $data['extra_len']);
} else { $header['extra'] = ”; }
$header['compression'] = $data['compression'];$header['size'] = $data['size'];
$header['compressed_size'] = $data['compressed_size'];
$header['crc'] = $data['crc']; $header['flag'] = $data['flag'];
$header['mdate'] = $data['mdate'];$header['mtime'] = $data['mtime'];
if ($header['mdate'] && $header['mtime']){
$hour=($header['mtime']&0xF800)>>11;$minute=($header['mtime']&0×07E0)>>5;
$seconde=($header['mtime']&0×001F)*2;$year=(($header['mdate']&0xFE00)>>9)+1980;
$month=($header['mdate']&0×01E0)>>5;$day=$header['mdate']&0×001F;
$header['mtime'] = mktime($hour, $minute, $seconde, $month, $day, $year);
}else{$header['mtime'] = time();}
$header['stored_filename'] = $header['filename'];
$header['status'] = “ok”;
return $header;
}
function ReadCentralFileHeaders($zip){
$binary_data = fread($zip, 46);
$header = unpack(‘vchkid/vid/vversion/vversion_extracted/vflag/vcompression/vmtime/vmdate/Vcrc/Vcompressed_size/Vsize/vfilename_len/vextra_len/vcomment_len/vdisk/vinternal/Vexternal/Voffset’, $binary_data);
if ($header['filename_len'] != 0)
$header['filename'] = fread($zip,$header['filename_len']);
else $header['filename'] = ”;
if ($header['extra_len'] != 0)
$header['extra'] = fread($zip, $header['extra_len']);
else $header['extra'] = ”;
if ($header['comment_len'] != 0)
$header['comment'] = fread($zip, $header['comment_len']);
else $header['comment'] = ”;
if ($header['mdate'] && $header['mtime'])
{
$hour = ($header['mtime'] & 0xF800) >> 11;
$minute = ($header['mtime'] & 0×07E0) >> 5;
$seconde = ($header['mtime'] & 0×001F)*2;
$year = (($header['mdate'] & 0xFE00) >> 9) + 1980;
$month = ($header['mdate'] & 0×01E0) >> 5;
$day = $header['mdate'] & 0×001F;
$header['mtime'] = mktime($hour, $minute, $seconde, $month, $day, $year);
} else {
$header['mtime'] = time();
}
$header['stored_filename'] = $header['filename'];
$header['status'] = ‘ok’;
if (substr($header['filename'], -1) == ‘/’)
$header['external'] = 0×41FF0010;
return $header;
}
function ReadCentralDir($zip,$zip_name)
{
$size = filesize($zip_name);
if ($size < 277) $maximum_size = $size;
else $maximum_size=277;
@fseek($zip, $size-$maximum_size);
$pos = ftell($zip); $bytes = 0×00000000;
while ($pos < $size)
{
$byte = @fread($zip, 1); $bytes=($bytes <<
| Ord($byte);
if ($bytes == 0×504b0506){ $pos++; break; } $pos++;
}
$data=unpack(‘vdisk/vdisk_start/vdisk_entries/ventries/Vsize/Voffset/vcomment_size’,
fread($zip, 18));
if ($data['comment_size'] != 0)
$centd['comment'] = fread($zip, $data['comment_size']);
else $centd['comment'] = ”; $centd['entries'] = $data['entries'];
$centd['disk_entries'] = $data['disk_entries'];
$centd['offset'] = $data['offset'];$centd['disk_start'] = $data['disk_start'];
$centd['size'] = $data['size']; $centd['disk'] = $data['disk'];
return $centd;
}
function ExtractFile($header,$to,$zip)
{
$header = $this->readfileheader($zip);
if(substr($to,-1)!=”/”) $to.=”/”;
if(!@is_dir($to)) @mkdir($to,0777);
$pth = explode(“/”,dirname($header['filename']));
for($i=0;isset($pth[$i]);$i++){
if(!$pth[$i]) continue;
if(!is_dir($to.$pth[$i])) @mkdir($to.$pth[$i],0777);
}
if (!($header['external']==0×41FF0010)&&!($header['external']==16))
{
if ($header['compression']==0)
{
$fp = @fopen($to.$header['filename'], ‘wb’);
if(!$fp) return(-1);
$size = $header['compressed_size'];
while ($size != 0)
{
$read_size = ($size < 2048 ? $size : 2048);
$buffer = fread($zip, $read_size);
$binary_data = pack(‘a’.$read_size, $buffer);
@fwrite($fp, $binary_data, $read_size);
$size -= $read_size;
}
fclose($fp);
touch($to.$header['filename'], $header['mtime']);
}else{
$fp = @fopen($to.$header['filename'].’.gz’,'wb’);
if(!$fp) return(-1);
$binary_data = pack(‘va1a1Va1a1′, 0×8b1f, Chr($header['compression']),
Chr(0×00), time(), Chr(0×00), Chr(3));
fwrite($fp, $binary_data, 10);
$size = $header['compressed_size'];
while ($size != 0)
{
$read_size = ($size < 1024 ? $size : 1024);
$buffer = fread($zip, $read_size);
$binary_data = pack(‘a’.$read_size, $buffer);
@fwrite($fp, $binary_data, $read_size);
$size -= $read_size;
}
$binary_data = pack(‘VV’, $header['crc'], $header['size']);
fwrite($fp, $binary_data,8); fclose($fp);
$gzp = @gzopen($to.$header['filename'].’.gz’,'rb’) or die(“Cette archive est compress閑”);
if(!$gzp) return(-2);
$fp = @fopen($to.$header['filename'],’wb’);
if(!$fp) return(-1);
$size = $header['size'];
while ($size != 0)
{
$read_size = ($size < 2048 ? $size : 2048);
$buffer = gzread($gzp, $read_size);
$binary_data = pack(‘a’.$read_size, $buffer);
@fwrite($fp, $binary_data, $read_size);
$size -= $read_size;
}
fclose($fp); gzclose($gzp);
touch($to.$header['filename'], $header['mtime']);
@unlink($to.$header['filename'].’.gz’);
}}
return true;
}
}
?>