利用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;

}

?>