网站建设,巩义网站制作,巩义做网站-全栈网络

网站建设中使用php完成文件上传功能全过程
当前位置:首页 > 建站技巧 > 网站代码 >

网站建设中使用php完成文件上传功能全过程

时间: 2019-11-21 分类: 网站代码 浏览次数:

在网站建设中,总会在一些网站页面中使用到文件上传功能,由于是一些后台管理功能中,那么如何使用php来完成图片的上传呢?其实这个过程很简单,下面看全栈网络的全部代码过程...

在网站建设中,总会在一些网站页面中使用到文件上传功能,由于是一些后台管理功能中,那么如何使用php来完成图片的上传呢?其实这个过程很简单,下面看全栈网络的全部代码过程,注意我们分为了单文件上传和多文件上传。

一.创建html静态来完成页面上传文件的选择,如下代码:


<form name="form1" method="post" enctype="multipart/form-data" action="upload.php">
      产品标题:<input type="text" name="title"><br>
上传图片1:<input type="file" name="uploadFile"><br>
         <input type="submit" name="提交"><br>
         <input type="hidden" name="token" value="upload">
</form>
<form name="form2" method="post" enctype="multipart/form-data" action="upload.php">
上传图片1:<input type="file" name="uploadFile[]"><br>
上传图片2:<input type="file" name="uploadFile[]"><br>
上传图片3:<input type="file" name="uploadFile[]"><br>
         <input type="submit" name="提交"><br>
         <input type="hidden" name="token" value="upload">
</form>

注意:1.上传方式必须为post方式,enctype必须为multipart/form-data;
           2.token我们先使用固定值进行测试;
           3.表单中上传按钮type类型为file;
           4.多文件上传时使用数组方式进行上传。


创建html静态来完成页面上传文件的选择
 
二.创建php页面,来完成具体上传的逻辑代码。
注意:代码编写前,我们要写了解一下基本的函数,

1.如果phpstudy报500服务器错误,请将以下代码复制到httpd.conf中
 
<IfModule mod_fcgid.c>
FcgidConnectTimeout 20
# to get around upload errors when uploading images increase the MaxRequestLen size to 15MB
MaxRequestLen 15728640
</IfModule>
 
2.FILES超全局变量错误:0-没有错误 4-没有文件上传 1-上传文件超过php.ini中upload_max_filesize限制的大小
3.文件先暂存在某个默认文件夹里,可通过sleep(10),暂停10秒看到
4.将文件移动到临时文件夹,需要使用到move_uploaded_file(原路径,目标路径)
5.上传文件php.ini的相关配置:1.upload_max_filesize-单文件大小限制2.post_max_size-上传所有文件总大小3.max_file_uploads-上传的数量上限
6.pathinfo可以获取上传文件的扩展名

了解完以上知识点,下面我们开始具体php代码的编写,具体分为两种方式和具体的步骤,如下,
a.单文件的上传

//1.先判断表单是否合法提交
if (isset($_POST['token'])&&$_POST['token']=='upload') {
   print_r($_FILES);
     echo '<br>';
 
   //2.判断上传是否有错误
   if ($_FILES['uploadFile']['error']!=0) {
      echo '上传文件发生错误';
      die();
   }
 
   //3.上传文件是否超过2m,文件是不是图片,
   if ($_FILES['uploadFile']['size']>1024*1024*2) {
      echo '上传文件大于2m';
      die();
   }
 
   //4.上传文件是不是图片,
   $arr= array('image/jpeg','image/png', 'image/gif');
   $type=$_FILES['uploadFile']['type'];
   if (!in_array($type,$arr)) {
        echo '上传文件不是图片';
        die();
   }
 
   //5.重命名文件到upload目录中,并重新改名,
    $ext=pathinfo($_FILES['uploadFile']['name'],PATHINFO_EXTENSION);
$tmp_url=$_FILES['uploadFile']['tmp_name'];
$move_url='./upload/'.uniqid().'.'.$ext;
move_uploaded_file($tmp_url,$move_url);
echo "移动成功";
 
b.多文件上传 1.先将网站前端页面传过来的三维数组转二维
    $arrs=$_FILES['uploadFile'];
    foreach ($arrs['name'] as $key => $name) {
     if ($name!='') {
     $ext1=pathinfo($name,PATHINFO_EXTENSION);
     $tmp_url1=$arrs['tmp_name'][$key];
     $move_url1='./upload/'.uniqid().'.'.$ext1;
     move_uploaded_file($tmp_url1,$move_url1);
     echo "移动成功";
     }
    }
 
}else{
echo "非法提交";
}
 
php代码编写完成网站文件上传过程
 
通过以上两步就完成了在网站制作中,使用php代码和前端html页面配合进行图片文件上传的全过程,是不是很简单呢?如果有什么疑问,欢迎随时在线咨询我们。
本文关键词: php, 上传文件 未经允许不得转载:郑州网站建设|郑州网站制作|荥阳网站建设|巩义网站建设|网站优化-全栈网络



Copyright © 2017-2020 版权所有:全栈网络工作室 备案号:豫ICP备17039206号-1 HTML网站地图
郑州网站制作|郑州做网站|巩义网站制作|荥阳做网站|巩义做网站-全栈网络