php上传文件慕课,PHP上传文件

上传v0.1 - 紫游

上传默认2M

根据大小命名+原始名称,覆盖文件。

类型"jpg","png","ico","bmp","gif","tif","tga","txt","zip","rar","7z","gz","mp3","wav","m4a","mp4","3gp"

请选择上传的文件

//例子说明:

//该例子只是简单演示了文件上传的流程,请勿直接用于实际项目

//该例子中缺少对用户权限的检查

//如果上传后的文件没有做重命名,则需要做文件重名时的逻辑处理

//写入数据表文件信息由于涉及到数据库操作,暂略。写入数据表的信息应该包括文件上传的时间,上传的用户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"] . "
";

//echo "类型: " . $_FILES["file"]["type"] . "
";

//echo "大小: " . ($_FILES["file"]["size"] / 1024) . " Kb
";

//echo "临时名称: " . $_FILES["file"]["tmp_name"]."
";

//获得文件扩展名

$temp_arr = explode(".", $FILESname);

$file_ext = array_pop($temp_arr);

$file_ext = trim($file_ext);

$file_ext = strtolower($file_ext);

//echo $FILESsize."
";

//echo $file_ext."
";

//检查扩展名

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."","
\n";

echo 'URL:'.$urllujing1."/".$file_path.$size_name.'
';

exit;

} else {

echo "上传文件不正确,请检查。";

}

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值