首页 后端开发 php教程 php 文件上传_PHP教程

php 文件上传_PHP教程

Jul 20, 2016 am 11:07 AM
php 上传 使用 可以 建设 教程 文件 管理 需要 首先

php教程 文件上传

在您可以使用PHP来管理您的上传,你首先需要建设作为用户界面的HTML表单上传的文

件。有一个在下面的例子外观和保存一个编辑HTML代码。



 

   
    Choose a file to upload:
   
 


有一些规则需要建设时遵循HTML表单。首先,请确保该窗体使用POST方法。第二,形

式需要以下属性:字符编码=“多重/表单数据”。它指定的内容类型时使用的信息提

交给伺服器。如果没有这些要求,您的文件上传不了。

另一个需要注意的是隐藏的表单字段名为MAX_FILE_SIZE设置的值。某些Web浏览器实

际上反映了这个领域,也不会允许用户上载文件超过这个数字(字节)更大。您应该

将此值设置为配合最大上传大小,在php.ini文件中设置。这是一套与中

upload_max_filesize,默认值是2MB的。但它仍然不能保证你的脚本将不会转交了尺

寸较大的文件。危险的是,攻击者将尝试向您发送一个请求几个大文件,并填写了文

件系统,也就是PHP存储解码文件。设置在php.ini的post_max_size的指令文件的最大

尺寸,你要(必须大于中upload_max_filesize)。默认值为10MB的。此指令控制的所

有要求,在一个允许的POST数据最大大小。另外,还要确保在你的php.ini文件

file_uploads设置为On。

至少,有一个在输入标记属性看:类型=“文件”。它是用来指定为文件选择控制输入

元素。这提供了一个文件的URI的地方,则需要键入一个“浏览”按钮,可作为替代的

URI输入使用。

在用户进入一个文件的URI,并点击提交按钮的文件的副本将被发送到服务器和用户将

被重定向到upload.php。此PHP文件将处理表单数据。

返回页首

处理表单数据(PHP代码)

当文件被上传和PHP创建了一个文件的临时副本,并建立了超全局变量$ _FILES数组,

包含有关文件的信息。对于每个文件,有5个数据。我们已上传字段命名

为'uploaded_file',所以会存在以下数据:

变量$ _FILES [“uploaded_file”] [“name”]从用户的机器上载的文件的原名称
变量$ _FILES [“uploaded_file”] [“type”]的上传文件的MIME类型(如果浏览器

提供的类型)
变量$ _FILES [“uploaded_file”] [“size”]的以字节为单位上传的文件大小
变量$ _FILES [“uploaded_file”] [“tmp_name”],在该文件暂时存储在服务器上

的位置
变量$ _FILES [“uploaded_file”] [“error”]错误代码从文件上传结果
下面的例子接受一个上传的文件并保存在上载目录中。它允许根据350Kb上传只有JPEG

图像。该代码本身,是相当清楚的,但我们会作出一些解释。有一个例子在外观和保

存此为upload.php PHP代码。
//Сheck that we have a file
if((!empty($_FILES["uploaded_file"])) && ($_FILES['uploaded_file']['error']

== 0)) {
  //Check if the file is JPEG image and it's size is less than 350Kb
  $filename = basename($_FILES['uploaded_file']['name']);
  $ext = substr($filename, strrpos($filename, '.') + 1);
  if (($ext == "jpg") && ($_FILES["uploaded_file"]["type"] == "image/jpeg")

&&
    ($_FILES["uploaded_file"]["size"]     //Determine the path to which we want to save this file
      $newname = dirname(__FILE__).'/upload/'.$filename;
      //Check if the file with the same name is already exists on the

server
      if (!file_exists($newname)) {
        //Attempt to move the uploaded file to it's new place
        if ((move_uploaded_file($_FILES['uploaded_file']

['tmp_name'],$newname))) {
           echo "It's done! The file has been saved as: ".$newname;
        } else {
           echo "Error: A problem occurred during file upload!";
        }
      } else {
         echo "Error: File ".$_FILES["uploaded_file"]["name"]." already

exists";
      }
  } else {
     echo "Error: Only .jpg images under 350Kb are accepted for upload";
  }
} else {
 echo "Error: No file uploaded";
}
?>
在此之前的上载您需要的文件,以确定文件是否真的上传任何东西。之后我们检查上

传的文件,JPEG图像,其大小小于350Kb的。接下来,我们确定的道路,这是我们要保

存此文件,并检查是否已经存在一个服务器上的这些文件的名称。当所有检查通过,

我们将文件复制到一个永久的位置使用move_upload_file()函数。此功能也证实该

文件你要过程,是一个合法的文件从用户上传结果。如果该文件上传成功,那么相应

的消息将出现。

注意:要确保PHP已经允许读取和写入临时文件中保存的位置是您要复制文件的目录。

这个例子其实很简单,它的提出是为了演示如何使用PHP上传文件。例如,您可以添加

新的条件,并允许上传GIF和PNG图像,或任何文件,您需要其他种类。如果您是本教

程使用PHP不熟悉可能是一个很好的起点。


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/444978.htmlTechArticlephp教程 文件上传 在您可以使用PHP来管理您的上传,你首先需要建设作为用户界面的HTML表单上传的文 件。有一个在下面的例子外观和保存一...
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

适用于 Ubuntu 和 Debian 的 PHP 8.4 安装和升级指南 适用于 Ubuntu 和 Debian 的 PHP 8.4 安装和升级指南 Dec 24, 2024 pm 04:42 PM

PHP 8.4 带来了多项新功能、安全性改进和性能改进,同时弃用和删除了大量功能。 本指南介绍了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4

CakePHP 日期和时间 CakePHP 日期和时间 Sep 10, 2024 pm 05:27 PM

为了在 cakephp4 中处理日期和时间,我们将使用可用的 FrozenTime 类。

CakePHP 文件上传 CakePHP 文件上传 Sep 10, 2024 pm 05:27 PM

为了进行文件上传,我们将使用表单助手。这是文件上传的示例。

讨论 CakePHP 讨论 CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP 是 PHP 的开源框架。它的目的是使应用程序的开发、部署和维护变得更加容易。 CakePHP 基于类似 MVC 的架构,功能强大且易于掌握。模型、视图和控制器 gu

CakePHP 创建验证器 CakePHP 创建验证器 Sep 10, 2024 pm 05:26 PM

可以通过在控制器中添加以下两行来创建验证器。

如何设置 Visual Studio Code (VS Code) 进行 PHP 开发 如何设置 Visual Studio Code (VS Code) 进行 PHP 开发 Dec 20, 2024 am 11:31 AM

Visual Studio Code,也称为 VS Code,是一个免费的源代码编辑器 - 或集成开发环境 (IDE) - 可用于所有主要操作系统。 VS Code 拥有针对多种编程语言的大量扩展,可以轻松编写

CakePHP 快速指南 CakePHP 快速指南 Sep 10, 2024 pm 05:27 PM

CakePHP 是一个开源MVC 框架。它使开发、部署和维护应用程序变得更加容易。 CakePHP 有许多库可以减少大多数常见任务的过载。

您如何在PHP中解析和处理HTML/XML? 您如何在PHP中解析和处理HTML/XML? Feb 07, 2025 am 11:57 AM

本教程演示了如何使用PHP有效地处理XML文档。 XML(可扩展的标记语言)是一种用于人类可读性和机器解析的多功能文本标记语言。它通常用于数据存储

See all articles