PHP文件上传代码用法

 我来答
新科技17
2022-09-26 · TA获得超过5852个赞
知道小有建树答主
回答量:355
采纳率:100%
帮助的人:72.8万
展开全部

  php文件上传代码编写过程

   先判断是否上传文件

   如果有再来判断上传中是否出错

   如果出错 则提示出错信息

   如查没出错 再判断文件类型

   如果类型符合条件 再判断指定目录中有没有存在该文件

   如果没有就把该文件移至指定目录

  在php中上传文件必须知道的几个东西

  $_FILES[ myfile ][ name ] 是指被上传文件的名称

  $_FILES[ myfile ][ type ] 是指被上传文件的类型

  $_FILES[ myfile ][ size ] 是指被上传文件的大小 单位为字节(B)

  $_FILES[ myfile ][ tmp_name ] 是指被上传文件存在服务器中的临时副本文件名称 文件被移动到指定目录后临文件将被自动消毁

  $_FILES[ myfile ]["error"] 是指由文件上传中有可能出现的错误的状态码 关于各状态含义后在会说明

  先来看一下HTML部分

代码如下 复制代码

  ?<form action="upload php" method="post" enctype="multipart/form data"> 上传 <input type=file name=myfile /> <input type=submit name=submit value="上传" /> </form>

  说明

  form标答的action="upload php"是指点击这个form中的submit的时候 这个上传命令会被发送到这个叫 upload php的页面去处理 method="post"是指以post方式去送 enctype="multipart/form data"属性规定了在提交这个表单时要使用哪种内容类型 在表单需要二进制数据时 比如文件内容 请使用"multipart/form data" 如果要上传文件 这个属性是必要的 input中的type="file"时 规定了应该把输入作为文件来处理 并且在input后面会有一个浏览的按钮

  我们再来看一个PHP处理页面 upload php

代码如下 复制代码

   <?php if($_FILES[ myfile ][ name ] != ) { if($_FILES[ myfile ][ error ] > ) { echo "错误状态 " $_FILES[ myfile ][ error ]; } else { move_uploaded_file($_FILES[ myfile ][ tmp_name ] "uploads/" $FILES[ myfile ][ name ]); echo "<script>alert(上传成功!);</script>"; } } else{ echo "<script>alert(请上传文件!);</script>"; } ?>

  上面超级简单 我们现在来升级一下

   upload php

代码如下 复制代码

  <!DOCTYPE HTML PUBLIC " //W C//DTD HTML Transitional//EN"> <> <head> <title>ddd</title> <meta equiv="content type" content="text/; charset=UTF "> </head> <body> <! 文件上传要注意: 要有enctyp method="post" > <form enctype="multipart/form data" action="uploadProcess php" method="post" > <table> <tr><td>请填写用户名</td><td><input type=text name=username></td></tr> <tr><td>请简单介绍文件</td><td><textarea rows=" " cols=" " name=fileintro class="page_speeder_734321457"></textarea></td></tr> <tr><td>请上传你的文件</td><td><input type=file name=myfile></td></tr> <tr><td colspan=" "><input type=submit value="上传"><td></tr> </table> </form> </body> </>

   uploadProcess php

代码如下 复制代码

   <?php

  //接收 $username=$_POST[ username ]; $fileintro=$_POST[ fileintro ]; //echo $username $fileintro; //获取文件信息 /* echo "<pre>"; print_r($_FILES); echo "</pre>"; */ //获取文件的大小 $file_size=$_FILES[ myfile ][ size ]; if($file_size> * * ){ echo "<script type= text/javascript >window alert( 文件不能大于 M )</script>"; exit(); }

  //获取文件类型 $file_type=$_FILES[ myfile ][ type ]; if($file_type!="image/jpeg" && $file_type!="image/pjpeg"){ echo "文件类型只能是 jpg 格式"; exit(); }

  //判断上传是否OK if(is_uploaded_file($_FILES[ myfile ][ tmp_name ])){ //得到上传的文件 转存到你希望的目录 $upload_file=$_FILES[ myfile ][ tmp_name ]; //防止图片覆盖问题 为每个用户建立一个文件夹 $user_path=$_SERVER[ DOCUMENT_ROOT ] "/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( ) substr($file_true_name strripos($file_true_name " "));

  //echo $upload_file $move_to_file; //中文要转码 if(move_uploaded_file($upload_file iconv("utf " "gb " "$move_to_file"))){ echo $_FILES[ myfile ][ name ] "上传成功"; }else{ echo "上传失败"; } }else{ echo "上传失败"; }

  ?>

  注意:

  我举个例子大家就知道 比如一个图片文件 pic jpg 我们用 strrchr处理 strrchr(pic jpg ) 它将返回 jpg 明白了吗?该函数返回指定字符在该字符串最后出现的位置后的字符 配合 substr() 我们就可以取到jpg 这样我们就得到了文件的后缀名 来判断上传文件是否符合指定格式 本程序把指定的格式放在一个数组中 实际使用时可根据需要添加

lishixinzhi/Article/program/PHP/201311/20924

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式