推荐操作系统:windows7系统、PHP5.6、DELL G3电脑
1、上传说明
将客户端的文件上传到服务器,将服务器端的临时文件移动到指定目录。
客户端配置:
(1)表单页面。
(2)表单的发送方式是post。
添加enctype="multipart/form-data";
2、实例
<html> <head> <metahttp-equiv="content-type"content="text/html;charset=utf-8"/> <title>上传你的File吧</title> </head> <formenctype="multipart/form-data"method="post"action="uploadprocess.php"> <table> <tr><tdcolspan="2"><fontstyle="font-size:40px;font-family:华文彩云;">文件上传</font></td></tr> <tr><td>请填写用户名:</td><td><inputtype="text"name="username"/></td></tr> <tr><td>请简单介绍该文件</td><td><textareaname="fileintro"rows="10"cols="80"></textarea></td></tr> <tr><td>请选择你要上传文件:</td><td><inputtype="file"name="myfile"/></td></tr> <tr><td><inputtype="submit"value="上传文件"/></td><td></td></tr> </table> </form> </html>
<?php //1.接收提交文件的用户 $username=$_POST['username']; $fileintro=$_POST['fileintro']; //我们这里需要使用到$_FILES /*echo"<pre>"; print_r($_FILES); echo"</pre>";*/ //其实我们在上传文件时,点击上传后,数据由http协议先发送到apache服务器那边,这里apache服务器已经将上传的文件存放到了服务器下的C:\windows\Temp目录下了。这时我们只需转存到我们需要存放的目录即可。 //php中自身对上传的文件大小存在限制默认为2M //获取文件的大小 $file_size=$_FILES['myfile']['size']; if($file_size>2*1024*1024){ echo"文件过大,不能上传大于2M的文件"; exit(); } $file_type=$_FILES['myfile']['type']; echo$file_type; if($file_type!="image/jpeg"&&$file_type!='image/pjpeg'){ echo"文件类型只能为jpg格式"; exit(); } //判断是否上传成功(是否使用post方式上传) if(is_uploaded_file($_FILES['myfile']['tmp_name'])){ //把文件转存到你希望的目录(不要使用copy函数) $uploaded_file=$_FILES['myfile']['tmp_name']; //我们给每个用户动态的创建一个文件夹 $user_path=$_SERVER['DOCUMENT_ROOT']."/studyphp/file/up/".$username; //判断该用户文件夹是否已经有这个文件夹 if(!file_exists($user_path)){ mkdir($user_path); } //$move_to_file=$user_path."/".$_FILES['myfile']['name']; $file_true_name=$_FILES['myfile']['name']; $move_to_file=$user_path."/".time().rand(1,1000).substr($file_true_name,strrpos($file_true_name,".")); //echo"$uploaded_file$move_to_file"; if(move_uploaded_file($uploaded_file,iconv("utf-8","gb2312",$move_to_file))){ echo$_FILES['myfile']['name']."上传成功"; }else{ echo"上传失败"; } }else{ echo"上传失败"; } ?>原文来自:https://www.py.cn
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容