PHP上传文件
up.php上传文件
<!DOCTYPEhtml><html><head><metacharset="utf-8"/><title>上传v0.1-紫游</title></head><bodyalign="center">上传默认2M<br/>根据大小命名+原始名称,覆盖文件。<br/>类型"jpg","png","ico","bmp","gif","tif","tga","txt","zip","rar","7z","gz","mp3","wav","m4a","mp4","3gp"<br/><br/><formenctype="multipart/form-data"method="post"><labelfor="file">请选择上传的文件</label><br/><inputtype="file"name="file"size="40"/><inputtype="submit"name="submit"value="确定"/></form><br/></body><?php//例子说明://该例子只是简单演示了文件上传的流程,请勿直接用于实际项目//该例子中缺少对用户权限的检查//如果上传后的文件没有做重命名,则需要做文件重名时的逻辑处理//写入数据表文件信息由于涉及到数据库操作,暂略。写入数据表的信息应该包括文件上传的时间,上传的用户ID以及存储的位置,以便清理上传无效的文件以及文件过期管理等//无提交校验,要防止远程提交,可以在表单生成页面产生一个会话ID,然后在upload.php页面做校验以防止远程提交//配置php.ini文件(以20M以下大小的文件为例)//查找以下选项并修改->//file_uploads=On;//打开文件上传选项//upload_max_filesize=20M;//上传文件上限//如果要上传比较大的文件,必须把服务器缓存上限调大,把脚本最大执行时间变长//post_max_size=20M;post上限//max_execution_time=1800;脚本最大执行时间//max_input_time=1800;脚本请求解析的最大时间//memory_limit=128M;(128MB)内存上限//包含端口号的完整地址$urlduankou='http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];//只取路径$urllujing='http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"];$urllujing1=dirname($urllujing);//取服务器IP端口$SERVERIPport=$_SERVER["SERVER_ADDR"].':'.$_SERVER["SERVER_PORT"];//文件存储路径$file_path="upload/";//664权限为文件属主和属组用户可读和写,其他用户只读。if(is_dir($file_path)!=TRUE)mkdir($file_path,0664);//定义允许上传的文件扩展名$ext_arr=array("jpg","png","ico","bmp","gif","tif","tga","txt","zip","rar","7z","gz","mp3","wav","m4a","mp4","3gp");if(empty($_FILES)===false){//判断检查if($_FILES['file']['size']>2097152){exit("对不起,您上传的照片超过了2M=2097152。");}if($_FILES["file"]["error"]>0){exit("错误:".$_FILES["file"]["error"]);//值:0;没有错误发生,文件上传成功。//值:1;上传的文件超过了php.ini中upload_max_filesize选项限制的值。//值:2;上传文件的大小超过了HTML表单中MAX_FILE_SIZE选项指定的值。//值:3;文件只有部分被上传。//值:4;没有文件被上传。}//上传的文件名名称$FILESname=$_FILES["file"]["name"];//文件字节大小$FILESsize=$_FILES['file']['size'];//echo"名称:".$_FILES["file"]["name"]."<br/>";//echo"类型:".$_FILES["file"]["type"]."<br/>";//echo"大小:".($_FILES["file"]["size"]/1024)."Kb<br/>";//echo"临时名称:".$_FILES["file"]["tmp_name"]."<br/>";//获得文件扩展名$temp_arr=explode(".",$FILESname);$file_ext=array_pop($temp_arr);$file_ext=trim($file_ext);$file_ext=strtolower($file_ext);//echo$FILESsize."<br/>";//echo$file_ext."<br/>";//检查扩展名if(in_array($file_ext,$ext_arr)===false){exit("上传的文件类型不支持。");}//以时间戳重命名文件$new_name=time().".".$file_ext;//根据大小加名称$size_name=$FILESsize."_".$FILESname;//将文件移动到存储目录下//move_uploaded_file($_FILES["file"]["tmp_name"],"$file_path".$new_name);move_uploaded_file($_FILES["file"]["tmp_name"],"$file_path".$size_name);//向数据表写入文件存储信息以便管理echo"\n文件上传成功!".$SERVERIPport."","<br/>\n";echo'URL:<ahref="'.$urllujing1."/".$file_path.$size_name.'"target="_blank">'.$urllujing1."/".$file_path.$size_name.'</a><br/>';exit;}else{echo"上传文件不正确,请检查。";}?>
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。