这是一个经典范例,它实现了最长用功能,稍加修改就能定制为强大的上传程序.
\n<html><head>
\n<title>上载文件表单</title></head>
\n<body>
\n<form enctype=”multipart/form-data” action=”" method=”post”>
\n请选择文件: <br>
\n<input name=”upload_file” type=”file”><br>
\n<input type=”submit” value=”上传文件”>
\n</form>
\n</body>
\n</html> \n<?
\nupload_file=_FILES[\'upload_file\'][\'tmp_name\'];
\nupload_file_name=_FILES[\'upload_file\'][\'name\'];
\nif(
upload_file){
\nfile_size_max = 1000*1000;// 1M限制文件上传最大容量(bytes)
\nstore_dir = “d:/”;// 上传文件的储存位置
\naccept_overwrite = 1;//是否允许覆盖相同文件
\n// 检查文件大小
\nif (upload_file_size > file_size_max) {
\necho “对不起,你的文件容量大于规定”;
\nexit;
\n}\n// 检查读写文件
\nif (file_exists(store_dir . upload_file_name) && !accept_overwrite) {
\nEcho “存在相同文件名的文件”;
\nexit;
\n}\n//复制文件到指定目录
\nif (!move_uploaded_file(upload_file,store_dir.upload_file_name)) {
\necho “复制文件失败”;
\nexit;
\n}\n}
\nEcho
“<p>你上传了文件:”;
\necho _FILES[\'upload_file\'][\'name\'];
\necho “<br>”;
\n//客户端机器文件的原名称。 \nEcho “文件的 MIME 类型为:”;
\necho _FILES[\'upload_file\'][\'type\'];
\n//文件的 MIME 类型,需要浏览器提供该信息的支持,例如“image/gif”。
\necho “<br>”;\nEcho
“上传文件大小:”;
\necho _FILES[\'upload_file\'][\'size\'];
\n//已上传文件的大小,单位为字节。
\necho “<br>”;\nEcho
“文件上传后被临时储存为:”;
\necho _FILES[\'upload_file\'][\'tmp_name\'];
\n//文件被上传后在服务端储存的临时文件名。
\necho “<br>”;\nErroe=_FILES[\'upload_file\'][\'error\'];
\nswitch(Erroe){
\n case 0:
\n Echo “上传成功”; break;
\n case 1:
\n Echo “上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值.”; break;
\n case 2:
\n Echo “上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。”; break;
\n case 3:
\n Echo “文件只有部分被上传”;break;
\n case 4:
\n Echo “没有文件被上传”;break;
\n}
\n?>
\n