接下来我将为你详细讲解"简单的PHP多图上传小程序代码"的完整攻略。
思路
我们需要完成一个简单的PHP记录多张图片的上传界面。其中我们需要做到以下几点:
- 上传的图片需要保存在文件夹中。
 - 上传的图片需要做类型判断,只保存指定格式的图片。
 - 上传的图片需要做大小判断,限制图片大小。
 - 黏贴上传和拖拽上传需要支持。
 
实现步骤
1. 创建上传表单
<form action="upload.php" method="post" enctype="multipart/form-data">
   <input type="file" name="files[]" class="file" multiple="true" />
   <input type="submit" value="上传" />
</form>
2. 创建upload.php文件
<?php
$upload_dir = 'uploads/'; //上传文件的保存路径
$allowed_ext = array('jpg','jpeg','png','gif'); // 允许上传的图片格式
$max_size = 5 * 1024 * 1024; // 允许上传的最大文件大小,单位为字节
//检查上传文件是否存在错误
function check_file($file_name,$error) {
   if($error != UPLOAD_ERR_OK) {
      switch($error) {
         case UPLOAD_ERR_INI_SIZE:
         case UPLOAD_ERR_FORM_SIZE:
            $err_msg = '上传文件大小不符';
            break;
         case UPLOAD_ERR_PARTIAL:
            $err_msg = '上传文件不完整';
            break;
         case UPLOAD_ERR_NO_FILE:
            $err_msg = '没有选择上传文件';
            break;
         case UPLOAD_ERR_NO_TMP_DIR:
            $err_msg = '上传目录不存在';
            break;
         case UPLOAD_ERR_CANT_WRITE:
            $err_msg = '写入文件失败';
            break;
         case UPLOAD_ERR_EXTENSION:
            $err_msg = '上传的文件类型不符合要求';
            break;
         default:
            $err_msg = '未知错误';
            break;
      }
      exit($err_msg); //输出错误并退出程序
   }
   //检查上传文件是否为合法的上传文件
   if(!is_uploaded_file($file_name)) {
        exit('非法上传文件'); //输出错误并退出程序
   }
}
//上传文件处理函数
function upload_file($file) {
   global $upload_dir, $allowed_ext, $max_size;
   //获取上传文件的扩展名
   $ext = pathinfo($file['name'], PATHINFO_EXTENSION);
   //检查上传的文件是否为图片格式
   if(!in_array($ext, $allowed_ext)) {
       exit('上传的文件类型不符合要求'); //输出错误并退出程序
   }
   //检查上传的文件是否超过大小限制
   if($file['size'] > $max_size) {
       exit('上传文件大小超出限制'); //输出错误并退出程序
   }
   //重命名上传的文件
   $new_file_name = date('YmdHis').mt_rand(100, 999).'.'.$ext;
   //将上传的文件移动到指定的文件夹
   if(move_uploaded_file($file['tmp_name'], $upload_dir.$new_file_name)) {
      return true;
   } else {
      return false;
   }
}
//遍历上传的文件信息并处理上传
foreach($_FILES['files']['name'] as $k => $v) {
   if($_FILES['files']['error'][$k] == UPLOAD_ERR_OK) {
      check_file($_FILES['files']['tmp_name'][$k], $_FILES['files']['error'][$k]);
      //处理上传文件
      if(upload_file($_FILES['files']['name'][$k])) {
         echo $_FILES['files']['name'][$k].'上传成功<br>';
      } else {
         echo $_FILES['files']['name'][$k].'上传失败<br>';
      }
   }
}
?>
3. 创建文件夹并设置为可写
为了保存上传的照片,我们需要在我们的程序中新建一个文件夹,我们将根据需要创建称为uploads的文件夹。
在您的FTP客户端中,转到您的Web根目录并右键单击以创建一个新文件夹,将该文件夹改名为uncodep。然后右键单击uncodep文件夹以更改该文件夹的权限,确保该文件夹是可写的。
4. 确认PHP运行时的max_execution_time和max_input_time
如果您的PHP网站托管在共享服务器上,则无法更改该设置。但是,如果您有root访问权限,可以更改此设定。否则,您必须问您的主机技术人员更改。
总结
在我们的完整攻略中,我们完成了一个简单的PHP多图上传小程序代码的实现,并且对于每个步骤都做了详细的解释。
对于每一个需要记录多张图片的场合,我们都可以调整一下upload.php文件的路径,并且在HTML里加上上面提到过的代码块,使我们的页面有一个文件上传表单。
The End




大气响应式网络建站服务公司织梦模板
高端大气html5设计公司网站源码
织梦dede网页模板下载素材销售下载站平台(带会员中心带筛选)
财税代理公司注册代理记账网站织梦模板(带手机端)
成人高考自考在职研究生教育机构网站源码(带手机端)
高端HTML5响应式企业集团通用类网站织梦模板(自适应手机端)