利用PHP上传文件
利用PHP上传文件
这是一个经典范例,它实现了最长用功能,稍加修改就能定制为强大的上传程序.
$upload_file=$_FILES[‘upload_file‘][‘tmp_name‘];
$upload_file_name=$_FILES[‘upload_file‘][‘name‘];
if($upload_file){
$file_size_max=1000*1000;//1M限制文件上传最大容量(bytes)
$store_dir="d:/";//上传文件的储存位置
$accept_overwrite=1;//是否允许覆盖相同文件
//检查文件大小
if($upload_file_size>$file_size_max){
echo"对不起,你的文件容量大于规定";
exit;
}
//检查读写文件
if(file_exists($store_dir.$upload_file_name)&&!$accept_overwrite){
Echo"存在相同文件名的文件";
exit;
}
//复制文件到指定目录
if(!move_uploaded_file($upload_file,$store_dir.$upload_file_name)){
echo"复制文件失败";
exit;
}
}
Echo"
你上传了文件:";
echo$_FILES[‘upload_file‘][‘name‘];
echo"
";
//客户端机器文件的原名称。
Echo"文件的MIME类型为:";
echo$_FILES[‘upload_file‘][‘type‘];
//文件的MIME类型,需要浏览器提供该信息的支持,例如“image/gif”。
echo"
";
Echo"上传文件大小:";
echo$_FILES[‘upload_file‘][‘size‘];
//已上传文件的大小,单位为字节。
echo"
";
Echo"文件上传后被临时储存为:";
echo$_FILES[‘upload_file‘][‘tmp_name‘];
//文件被上传后在服务端储存的临时文件名。
echo"
";
$Erroe=$_FILES[‘upload_file‘][‘error‘];
switch($Erroe){
case0:
Echo"上传成功";break;
case1:
Echo"上传的文件超过了php.ini中upload_max_filesize选项限制的值.";break;
case2:
Echo"上传文件的大小超过了HTML表单中MAX_FILE_SIZE选项指定的值。";break;
case3:
Echo"文件只有部分被上传";break;
case4:
Echo"没有文件被上传";break;
}
?>