php有很多值得学习的地方,这里我们主要介绍php上传类的解决方案,希望大家通过本文有大的收获。用户可以直接在web页面中输入php命令代码,因而不需要任何特殊的开发环境。在web页面中,所有php代码都被放置在“”中。此外,用户还可以选择使用诸如 等的形式。php引擎会自动识别并处理页面中所有位于php定界符之间的代码。
<OL class=dp-xml><LI class=alt><SPAN><SPAN class=tag><?</SPAN><SPAN class=tag-name>php</SPAN><SPAN> </SPAN></SPAN><LI class=""><SPAN>/** </SPAN><LI class=alt><SPAN>*Fileuploadclass </SPAN><LI class=""><SPAN>*@version1.0.0(ThuAug1801:32:39CST2005) </SPAN><LI class=alt><SPAN>*@authorsanshi </SPAN><LI class=""><SPAN>*/ </SPAN><LI class=alt><SPAN>classupLoad </SPAN><LI class=""><SPAN>{ </SPAN><LI class=alt><SPAN>/** </SPAN><LI class=""><SPAN>* </SPAN><LI class=alt><SPAN>*@authorsanshi </SPAN><LI class=""><SPAN>*@version1.0.0ThuAug1801:00:18CST2005 </SPAN><LI class=alt><SPAN>*@paramstring$info文件内容 </SPAN><LI class=""><SPAN>*@paramstring$fileName生成的文件名 </SPAN><LI class=alt><SPAN>*@returnboolean建立成功返回true </SPAN><LI class=""><SPAN>*@deprecated </SPAN><LI class=alt><SPAN>*建立html文件 </SPAN><LI class=""><SPAN>*/ </SPAN><LI class=alt><SPAN>functioncreateHtml($info,$fileName) </SPAN><LI class=""><SPAN>{ </SPAN><LI class=alt><SPAN>} </SPAN><LI class=""><SPAN>/** </SPAN><LI class=alt><SPAN>* </SPAN><LI class=""><SPAN>*@authorsanshi </SPAN><LI class=alt><SPAN>*@version1.0.0ThuAug1801:03:09CST2005 </SPAN><LI class=""><SPAN>*@returnvoid </SPAN><LI class=alt><SPAN>*@deprecated </SPAN><LI class=""><SPAN>*构造函数 </SPAN><LI class=alt><SPAN>*/ </SPAN><LI class=""><SPAN>functiondownLoad() </SPAN><LI class=alt><SPAN>{} </SPAN><LI class=""><SPAN>/** </SPAN><LI class=alt><SPAN>* </SPAN><LI class=""><SPAN>*@authorsanshi </SPAN><LI class=alt><SPAN>*@version1.0.0ThuAug1801:03:55CST2005 </SPAN><LI class=""><SPAN>*@paramstring$fileField在表单中的字段名 </SPAN><LI class=alt><SPAN>*@paramstring$length限制的长度 </SPAN><LI class=""><SPAN>*@returnboolean成功返回true </SPAN><LI class=alt><SPAN>*@deprecated </SPAN><LI class=""><SPAN>*功能实现函数 </SPAN><LI class=alt><SPAN>*/ </SPAN><LI class=""><SPAN>functioninit($fileField,$</SPAN><SPAN class=attribute>length</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>''</SPAN><SPAN>) </SPAN></SPAN><LI class=alt><SPAN>{ </SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute>files</SPAN><SPAN>=$_FILES[$fileField]; </SPAN></SPAN><LI class=alt><SPAN>//用户名需要改动,根据自己的实际情况做改动 </SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute>userName</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>'sanshi'</SPAN><SPAN>; </SPAN></SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute>fileName</SPAN><SPAN>=$files['name']; </SPAN></SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute>fileType</SPAN><SPAN>=$files['type']; </SPAN></SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute>fileTemp</SPAN><SPAN>=$files['tmp_name']; </SPAN></SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute>fileSize</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>empty</SPAN><SPAN>($length)?($files['size']+10):$length; </SPAN></SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute>fileError</SPAN><SPAN>=$files['error'];//这块也许php4中没有 </SPAN></SPAN><LI class=""><SPAN>//改为 </SPAN><LI class=alt><SPAN>//if($this-</SPAN><SPAN class=tag>></SPAN><SPAN>_isType($fileName)||$this-</SPAN><SPAN class=tag>></SPAN><SPAN>_isBig($length )) </SPAN></SPAN><LI class=""><SPAN>if(!$this-</SPAN><SPAN class=tag>></SPAN><SPAN>_isType($fileName)||$this-</SPAN><SPAN class=tag>></SPAN><SPAN>_isBig($length )||$fileError!=0) </SPAN></SPAN><LI class=alt><SPAN>{ </SPAN><LI class=""><SPAN>//print_r($files); </SPAN><LI class=alt><SPAN>returnfalse; </SPAN><LI class=""><SPAN>}else{ </SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute>path</SPAN><SPAN>=$this-</SPAN><SPAN class=tag>></SPAN><SPAN>_createDir($userName);//取得路径 </SPAN></SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute>createFileName</SPAN><SPAN>=$userName."_".time();//设置当前文件名 </SPAN></SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute>createFileType</SPAN><SPAN>=$this-</SPAN><SPAN class=tag>></SPAN><SPAN>getFileType($fileName);//设置文件类别 </SPAN></SPAN><LI class=""><SPAN>return@move_uploaded_file($fileTemp,$path.$createFileName.'.'.$createFileType)?true:false; </SPAN><LI class=alt><SPAN>} </SPAN><LI class=""><SPAN>} </SPAN><LI class=alt><SPAN> </SPAN><LI class=""><SPAN>/** </SPAN><LI class=alt><SPAN>* </SPAN><LI class=""><SPAN>*@authorsanshi </SPAN><LI class=alt><SPAN>*@version1.0.0ThuAug1801:07:43CST2005 </SPAN><LI class=""><SPAN>*@paramint$length上传限制的大小 </SPAN><LI class=alt><SPAN>*@returnboolean超过返回true </SPAN><LI class=""><SPAN>*@deprecated </SPAN><LI class=alt><SPAN>*判断是否超过预定大小 </SPAN><LI class=""><SPAN>*/ </SPAN><LI class=alt><SPAN>function_isBig($length) </SPAN><LI class=""><SPAN>{ </SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute>bigest</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>''</SPAN><SPAN>; </SPAN></SPAN><LI class=""><SPAN>return$big</SPAN><SPAN class=tag>></SPAN><SPAN>$bigest?true:false; </SPAN></SPAN><LI class=alt><SPAN>} </SPAN><LI class=""><SPAN>/** </SPAN><LI class=alt><SPAN>* </SPAN><LI class=""><SPAN>*@authorsanshi </SPAN><LI class=alt><SPAN>*@version1.0.0ThuAug1801:08:55CST2005 </SPAN><LI class=""><SPAN>*@paramstring$fileName文件名 </SPAN><LI class=alt><SPAN>*@returnstring$fileType文件后缀 </SPAN><LI class=""><SPAN>*@deprecated </SPAN><LI class=alt><SPAN>*取得文件后缀(只取得文件的最后一个后缀名) </SPAN><LI class=""><SPAN>*/ </SPAN><LI class=alt><SPAN>functiongetFileType($fileName) </SPAN><LI class=""><SPAN>{ </SPAN><LI class=alt><SPAN>returnend(explode('.',$fileName)); </SPAN><LI class=""><SPAN>} </SPAN><LI class=alt><SPAN>/** </SPAN><LI class=""><SPAN>* </SPAN><LI class=alt><SPAN>*@authorsanshi </SPAN><LI class=""><SPAN>*@version1.0.0ThuAug1801:10:41CST2005 </SPAN><LI class=alt><SPAN>*@paramstring$fileName文件名 </SPAN><LI class=""><SPAN>*@paramboolean$method是否检查多个后缀默认false </SPAN><LI class=alt><SPAN>*@paramint$postFix后缀个数默认为2 </SPAN><LI class=""><SPAN>*@returnboolean存在返回true </SPAN><LI class=alt><SPAN>*@deprecated </SPAN><LI class=""><SPAN>*检查文件的后缀是否在类别数组中,类别数组自己设置 </SPAN><LI class=alt><SPAN>*如果$method设置为true则检查文件有几个后缀 </SPAN><LI class=""><SPAN>*/ </SPAN><LI class=alt><SPAN>function_isType($fileName,$</SPAN><SPAN class=attribute>method</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>'false'</SPAN><SPAN>,$</SPAN><SPAN class=attribute>postFix</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>2</SPAN><SPAN>) </SPAN></SPAN><LI class=""><SPAN>{ </SPAN><LI class=alt><SPAN>//设置类别数组 </SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute>type</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>array</SPAN><SPAN>('jpeg', </SPAN></SPAN><LI class=alt><SPAN>'gif', </SPAN><LI class=""><SPAN>'bmp', </SPAN><LI class=alt><SPAN>'exe'); </SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute>fileName</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>strtolower</SPAN><SPAN>($fileName); </SPAN></SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute>fileTypeArray</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>explode</SPAN><SPAN>('.',$fileName); </SPAN></SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute>fileType</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>end</SPAN><SPAN>($fileTypeArray); </SPAN></SPAN><LI class=alt><SPAN>//判断是否有一个文件有多个后缀 </SPAN><LI class=""><SPAN>if($method) </SPAN><LI class=alt><SPAN>{ </SPAN><LI class=""><SPAN>if(count($fileTypeArray)</SPAN><SPAN class=tag>></SPAN><SPAN>(is_int($postFix)?$postFix:2)) </SPAN></SPAN><LI class=alt><SPAN>{ </SPAN><LI class=""><SPAN>returnfalse; </SPAN><LI class=alt><SPAN>} </SPAN><LI class=""><SPAN>} </SPAN><LI class=alt><SPAN>returnin_array($fileType,$type); </SPAN><LI class=""><SPAN>} </SPAN><LI class=alt><SPAN> </SPAN><LI class=""><SPAN>/** </SPAN><LI class=alt><SPAN>* </SPAN><LI class=""><SPAN>*@authorsanshi </SPAN><LI class=alt><SPAN>*@version1.0.0ThuAug1801:17:19CST2005 </SPAN><LI class=""><SPAN>*@paramstring$userName </SPAN><LI class=alt><SPAN>*@returnstring$path </SPAN><LI class=""><SPAN>*@deprecated </SPAN><LI class=alt><SPAN>*建立目录目录格式年/月/日/用户名/ </SPAN><LI class=""><SPAN>*权限为755 </SPAN><LI class=alt><SPAN>*/ </SPAN><LI class=""><SPAN>function_createDir($userName) </SPAN><LI class=alt><SPAN>{ </SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute>root</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>''</SPAN><SPAN>; </SPAN></SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute>pathSign</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>DIRECTORY_SEPARATOR</SPAN><SPAN>; </SPAN></SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute>y</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>date</SPAN><SPAN>('Y').$pathSign; </SPAN></SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute>m</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>date</SPAN><SPAN>('m').$pathSign; </SPAN></SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute>d</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>date</SPAN><SPAN>('d').$pathSign; </SPAN></SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute>path</SPAN><SPAN>=$root.$y.$m.$d.$userName; </SPAN></SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute>dirArray</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>explode</SPAN><SPAN>($pathSign,$path); </SPAN></SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute>tempDir</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>''</SPAN><SPAN>; </SPAN></SPAN><LI class=""><SPAN>foreach($dirArrayas$dir) </SPAN><LI class=alt><SPAN>{ </SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute>tempDir.</SPAN><SPAN>=$dir.$pathSign; </SPAN></SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute>isFile</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>file_exists</SPAN><SPAN>($tempDir); </SPAN></SPAN><LI class=""><SPAN>clearstatcache(); </SPAN><LI class=alt><SPAN>if(!$isFile&&!is_dir($tempDir)) </SPAN><LI class=""><SPAN>{ </SPAN><LI class=alt><SPAN>@mkdir($tempDir,0755); </SPAN><LI class=""><SPAN>} </SPAN><LI class=alt><SPAN>} </SPAN><LI class=""><SPAN>return$path.$pathSign; </SPAN><LI class=alt><SPAN>} </SPAN><LI class=""><SPAN>/** </SPAN><LI class=alt><SPAN>* </SPAN><LI class=""><SPAN>*@authorsanshi </SPAN><LI class=alt><SPAN>*@version1.0.0ThuAug1801:19:32CST2005 </SPAN><LI class=""><SPAN>*@param string$dirName目录名 </SPAN><LI class=alt><SPAN>*@return boolean可以操作返回true </SPAN><LI class=""><SPAN>*@deprecated </SPAN><LI class=alt><SPAN>*判断操作是否在上传目录 </SPAN><LI class=""><SPAN>*/ </SPAN><LI class=alt><SPAN>function_isDel($dirName) </SPAN><LI class=""><SPAN>{ </SPAN><LI class=alt><SPAN>//注意upLoadDir,一定要与真正使用目录相对应 </SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute>upLoadDir</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>''</SPAN><SPAN>; </SPAN></SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute>upLoadDir</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>preg_replace</SPAN><SPAN>('/\//','/',$upLoadDir); </SPAN></SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute>format</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>"/^{$upLoadDir}/"</SPAN><SPAN>; </SPAN></SPAN><LI class=alt><SPAN>returnpreg_match($format,$dirName); </SPAN><LI class=""><SPAN>} </SPAN><LI class=alt><SPAN>/** </SPAN><LI class=""><SPAN>* </SPAN><LI class=alt><SPAN>*@authorsanshi </SPAN><LI class=""><SPAN>*@version1.0.0ThuAug1801:25:58CST2005 </SPAN><LI class=alt><SPAN>*@paramstring$fileName文件名 </SPAN><LI class=""><SPAN>*@returnboolean删除文件成功返回true </SPAN><LI class=alt><SPAN>*@deprecated </SPAN><LI class=""><SPAN>*删除文件 </SPAN><LI class=alt><SPAN>*/ </SPAN><LI class=""><SPAN>functiondelFile($fileName) </SPAN><LI class=alt><SPAN>{ </SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute>cur_dir</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>dirname</SPAN><SPAN>(trim($fileName)); </SPAN></SPAN><LI class=alt><SPAN>if($this-</SPAN><SPAN class=tag>></SPAN><SPAN>_isDel($cur_dir)) </SPAN></SPAN><LI class=""><SPAN>{ </SPAN><LI class=alt><SPAN>return@unlink($fileName)?true:false; </SPAN><LI class=""><SPAN>}else{ </SPAN><LI class=alt><SPAN>returnfalse; </SPAN><LI class=""><SPAN>} </SPAN><LI class=alt><SPAN>} </SPAN><LI class=""><SPAN>/** </SPAN><LI class=alt><SPAN>* </SPAN><LI class=""><SPAN>*@authorsanshi </SPAN><LI class=alt><SPAN>*@version1.0.0ThuAug1801:27:43CST2005 </SPAN><LI class=""><SPAN>*@paramstring$dieName目录名 </SPAN><LI class=alt><SPAN>*@returnboolean删除成功返回true </SPAN><LI class=""><SPAN>*@deprecated </SPAN><LI class=alt><SPAN>*删除目录目录下如果有文件不能删除 </SPAN><LI class=""><SPAN>*/ </SPAN><LI class=alt><SPAN>functiondelDir($dirName) </SPAN><LI class=""><SPAN>{ </SPAN><LI class=alt><SPAN>if($this-</SPAN><SPAN class=tag>></SPAN><SPAN>_isDel($dirName)&&is_dir($dirName)) </SPAN></SPAN><LI class=""><SPAN>{ </SPAN><LI class=alt><SPAN>return@rmdir($dirName)?true:false; </SPAN><LI class=""><SPAN>}else{ </SPAN><LI class=alt><SPAN>returnfalse; </SPAN><LI class=""><SPAN>} </SPAN><LI class=alt><SPAN>} </SPAN><LI class=""><SPAN> </SPAN><LI class=alt><SPAN>} </SPAN><LI class=""><SPAN></SPAN><SPAN class=tag>?></SPAN><SPAN> </SPAN></SPAN><LI class=alt><SPAN></SPAN><SPAN class=tag><?</SPAN><SPAN class=tag-name>php</SPAN><SPAN> </SPAN></SPAN><LI class=""><SPAN>//使用 </SPAN><LI class=alt><SPAN>/* </SPAN><LI class=""><SPAN>include'upLoad.class.php'; </SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute>up</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>newupLoad</SPAN><SPAN>(); </SPAN></SPAN><LI class=""><SPAN>if($up-</SPAN><SPAN class=tag>></SPAN><SPAN>init("file")) </SPAN></SPAN><LI class=alt><SPAN>{ </SPAN><LI class=""><SPAN>echo'success'; </SPAN><LI class=alt><SPAN>}else{ </SPAN><LI class=""><SPAN>echo'failure'; </SPAN><LI class=alt><SPAN>} </SPAN><LI class=""><SPAN>*/ </SPAN><LI class=alt><SPAN></SPAN><SPAN class=tag>?></SPAN><SPAN> </SPAN></SPAN></LI></OL>
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号