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

yizhihongxing

接下来我将为你详细讲解"简单的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里加上上面提到过的代码块,使我们的页面有一个文件上传表单。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:简单的PHP多图上传小程序代码 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • php文件上传的两种实现方法

    下面是关于php文件上传的两种实现方法的完整攻略。 实现方法一:使用原生的PHP函数 使用原生的PHP函数可以实现文件上传,可以通过以下步骤来实现: 首先在前端页面中添加一个表单,其中包含一个file字段,用于选择文件。 <form action="upload.php" method="post" enctyp…

    PHP 2023年5月26日
    00
  • PHP数组array类常见操作示例

    PHP数组array类常见操作示例 长话短说,PHP数组是键值对(key-value)形式的数据结构,可以存储多个值,并且每个值都可以用唯一的键来访问。在 PHP 中,数组是一个非常重要和常用的数据结构,满足了许多数据处理的需求。 以下是数组的常见操作: 创建数组 创建数组的方式有两种,一种是通过array()函数来创建,另一种则是直接使用方括号[]。 $a…

    PHP 2023年5月26日
    00
  • php使用CutyCapt实现网页截图保存的方法

    下面是详细讲解“php使用CutyCapt实现网页截图保存的方法”的完整攻略: 简介 CutyCapt是一个命令行工具,可以通过URL地址截图保存成图片。将其与PHP结合使用,可以实现网页截图的自动化。 准备工作 在使用CutyCapt之前,需要先安装它。具体安装方法可以在官方网站查看。另外,还需要在PHP中执行shell命令的权限。 实现步骤 第一步:安装…

    PHP 2023年5月26日
    00
  • PHP概述.

    下面给出关于“PHP概述”的完整攻略,希望能对你有所帮助。 PHP概述 PHP(Open source scripting language for web servers) 是一种流行的服务器端开发语言,主要用于开发Web应用程序。PHP可以轻松地嵌入HTML代码中,使得程序员能够快速开发动态Web页面。PHP是跨平台的,支持多种操作系统,如Windows…

    PHP 2023年5月24日
    00
  • PHP 处理图片的类实现代码

    那么我们来详细讲解一下 PHP 如何处理图片的类实现代码。 首先,在 PHP 中处理图片需要用到 GD 库,所以要确认 GD 库是否已经安装并启用。 接下来,创建一个 PHP 文件,并引入 GD 库的相关文件: <?php // 引入 GD 库 extension_loaded(‘gd’) or die(‘GD 模块没有安装’); // 引入相关文件 …

    PHP 2023年5月23日
    00
  • PHP比较运算符的详细介绍

    当我们在PHP中比较两个值时,需要使用比较运算符。下面是PHP中可用的比较运算符: 等于(==) 全等于(===) 不等于(!=) 不全等于(!==) 大于(>) 小于(<) 大于等于(>=) 小于等于(<=) 下面是这些比较运算符的详细介绍: 等于(==) 等于运算符用于比较两个值是否相等。如果两个值相等,则结果为true,否则结果…

    PHP 2023年5月26日
    00
  • PHP生成二维码的两个方法和实例

    下面我将详细讲解“PHP生成二维码的两个方法和实例”的完整攻略。 一、PHP生成二维码的两个方法 1.使用QRcode类 QRcode类是一个PHP库,可以将数据转换为QR码图片,然后通过浏览器输出。它的使用方法如下: include_once(‘qrlib.php’); QRcode::png(‘My Text’); 其中,’My Text’是要生成二维码…

    PHP 2023年5月23日
    00
  • PHP检查URL包含特定字符串实例方法

    下面是关于PHP检查URL包含特定字符串的完整攻略,这个攻略分为四个步骤: 步骤1: 获取URL链接 我们需要使用PHP中有关URL链接的相关函数,来获取用户当前访问的URL链接。 $url = "http://".$_SERVER[‘HTTP_HOST’].$_SERVER[‘REQUEST_URI’]; 步骤2: 提取URL中的关键信…

    PHP 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部