简单的PHP多图上传小程序代码

2023-12-12php编程
5

接下来我将为你详细讲解"简单的PHP多图上传小程序代码"的完整攻略。

思路

我们需要完成一个简单的PHP记录多张图片的上传界面。其中我们需要做到以下几点:

  1. 上传的图片需要保存在文件夹中。
  2. 上传的图片需要做类型判断,只保存指定格式的图片。
  3. 上传的图片需要做大小判断,限制图片大小。
  4. 黏贴上传和拖拽上传需要支持。

实现步骤

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

相关推荐

php实现多语言网站的思路和构想
我们在进行系统或者网站开发的时候,有需要多语言切换的功能。PHP作为一种常用的编程语言,可以很方便地实现多语言网站功能。本文将介绍如何使用PHP实现多语言网站功能,并提供相应的代码示例。 创建语言文件 首先,需要创建不同语言的语言文件。每个语言文件...
2025-08-20 php编程
83

php通过调用谷歌翻译API实现网站中英文翻译
我们在制作网站时候,要实现中英文双语网站,通过调用api方式实现文章内容自动翻译,这个要怎么操作呢?以调用谷歌翻译api实现翻译。 获取谷歌翻译秘钥 我们需要到Google Cloud控制台创建一个项目,并启用Cloud Translation API。然后,生成一个API密钥,这个...
2025-08-20 php编程
200

PHP+HTML集成DeepSeek API,实现一个简单的聊天对话项目
PHP+HTML集成DeepSeek API,实现一个简单的聊天对话项目,最终实现效果如下: 准备工作 PHP环境 :确保你的开发环境中安装了PHP。 DeepSeek API密钥 :注册并获取DeepSeek API的访问密钥。 创建api调用接口 创建一个PHP脚本(api.php),用于调用DeepSeek API...
2025-03-31 php编程
100

PHP怎么删除系统中的文件和目录
我们在使用php编程时候,有时候需要删除系统中某个目录。在php中,删除目录是通过使用一些内置函数来完成的。本文将介绍如何使用php中的内置函数删除目录。 一、unlink()函数 PHP中的unlink()函数可以用于删除一个文件,而当用于删除目录时,它只能删除目录...
2025-02-21 php编程
184

js+php实现用户登录
一.ajax完成用户名异步检验 html代码: !DOCTYPE htmlhtml lang="en"head meta charset="UTF-8" title用户名是否存在/title/headbodyform action="" method="post" table tr td用户名/td tdinput type="text" name="username" placeholder="请输入用户名" cla...
2025-01-09 php编程
93

PHP如何使用session实现保存用户登录信息
session在php中是一个非常重要的东西,像我们用户登录一般都使用到session这个东西,相对于cookie来说session 要安全很多,同时我们购物车经常使用session来做临时的记录保存哦。 使用session保存页面登录信息 1、数据库连接配置页面:connectvars.php ?php/...
2024-11-05 php编程
95