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

接下来我将为你详细讲解"简单的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日

相关文章

  • Android 异步加载图片分析总结

    Android 异步加载图片分析总结 背景 在Android应用中,经常会有需要显示图片的情况,而加载图片是一个相对耗时的操作,如果在主线程中进行,就会出现界面卡顿的现象,严重影响用户体验。为了解决这个问题,Android提供了异步加载图片的方案,在本文中,将对异步加载图片的方案进行分析和总结。 加载图片的主要方案 方案一:使用AsyncTask进行图片加载…

    PHP 2023年5月27日
    00
  • 深入解析PHP底层机制及相关原理

    深入解析PHP底层机制及相关原理攻略 简介 PHP是一种非常流行的服务器端脚本语言,应用于许多网站、Web应用和系统后台。PHP底层机制和相关原理的理解对于深入学习PHP和进行PHP编程至关重要。本攻略将从以下几个方面深入解析PHP底层机制及相关原理: PHP中的变量和基本数据类型 PHP的面向对象编程特性 PHP的垃圾回收机制 PHP的执行引擎和语言核心 …

    PHP 2023年5月23日
    00
  • PHP中绘制图像的一些函数总结

    PHP中绘制图像的一些函数总结 简介 PHP是一种广泛使用的服务器端编程语言,在Web开发中具有重要的地位。PHP提供了丰富的图像处理函数,它们可以用来创建、修改、处理图像,同时还能够把图像输出到浏览器或保存到文件中。 本篇文章将总结一些在PHP中常用的绘制图像的函数,包括画线、画矩形、画圆、画多边形、画弧等等。 我们将使用PHP GD库来实现这些功能。GD…

    PHP 2023年5月25日
    00
  • PHP实现Socket服务器的代码

    下面是PHP实现Socket服务器代码的完整攻略: 知识储备 在阅读本攻略之前,您需要掌握以下几个知识点: Socket编程相关知识; PHP编程基础; Linux命令行基础。 实现过程 1. 创建Socket连接 PHP可以通过socket_create()函数创建Socket连接。在创建时需要指定Socket类型、传输协议、地址族等参数,常见的参数组合包…

    PHP 2023年5月23日
    00
  • PHP微商城开源代码实例

    下面我将详细介绍“PHP微商城开源代码实例”的完整攻略。 一、背景介绍 “PHP微商城开源代码实例”是一种基于PHP语言的微信公众号商城系统,它可以帮助用户快速搭建自己的微商城,并且提供了完整的后台管理功能。系统代码全部开源,可以自由定制和修改。 二、系统安装与配置 1. 环境要求 首先,我们需要在部署环境上,确保系统运行的正常。本系统需要以下环境: PHP…

    PHP 2023年5月24日
    00
  • PHP实现网站访问量计数器

    方案一: 使用数据库记录网站访问量 在数据库中创建一个名为 “counter” 的表,其中包含两个字段 “id” 和 “count” 。其中 “id” 为自增主键, “count” 记录网站访问总量。 CREATE TABLE counter ( id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, count IN…

    PHP 2023年5月26日
    00
  • PHP+MYSQL实现用户的增删改查

    下面就来详细讲解一下“PHP+MYSQL实现用户的增删改查”的完整攻略。 一、准备工作 在开始之前,我们需要做一些准备工作才能进行后续的操作。 1.1 创建数据库 首先,我们需要在MYSQL中创建一个数据库,这个数据库将用来存储用户的信息。我们可以在MYSQL中使用下面的SQL语句来创建一个名为users的数据库: CREATE DATABASE users…

    PHP 2023年5月27日
    00
  • PHP使用数组依次替换字符串中匹配项

    使用数组依次替换字符串中匹配项是PHP中常用的操作,下面是具体的攻略: 1. 准备替换的字符串 首先,我们需要一个待替换的字符串。例如,我们有一个字符串为: Hello, {name}. Your age is {age}. 其中,{name}和{age}都是需要替换的占位符。我们将使用PHP中的数组,来依次替换这些占位符。 2. 创建替换数组 在PHP中,…

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