分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

PHP上传文件

发布时间:2023-09-06 01:10责任编辑:白小东关键词:PHP

up.php上传文件

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>上传v0.1 - 紫游</title></head> <body align = "center"> 上传默认2M <br /> 根据大小命名+原始名称,覆盖文件。<br /> 类型"jpg","png","ico","bmp","gif","tif","tga","txt","zip","rar","7z","gz","mp3","wav","m4a","mp4","3gp"<br /> <br /> <form enctype="multipart/form-data" method="post"><label for="file">请选择上传的文件</label><br /> <input type="file" name="file" size="40" /><input type="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:<a href="‘.$urllujing1."/".$file_path.$size_name.‘" target="_blank">‘.$urllujing1."/".$file_path.$size_name.‘</a><br />‘;      exit;} else {    echo "上传文件不正确,请检查。";}?>


本文出自 “紫游世界” 博客,请务必保留此出处http://610040471.blog.51cto.com/1793584/1964193

PHP上传文件

原文地址:http://610040471.blog.51cto.com/1793584/1964193

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved