首页 > 编程语言 >无涯教程-PHP - 文件上传

无涯教程-PHP - 文件上传

时间:2023-08-21 14:34:56浏览次数:47  
标签:FILES 上载 教程 errors 无涯 file PHP 上传

PHP脚本可以与HTML表单一起使用,以允许用户将文件上传到服务器。最初,文件被上传到临时目录,然后通过PHP脚本重定位到目标位置。

phpinfo.php 页中的信息将用于文件上传的临时目录描述为 upload_tmp_dir ,将允许上传的最大文件大小表示为 upload_max_filesize 。这些参数设置在PHP配置文件 php.ini 中

创建上传表单

下面的以下HTM代码创建一个上载器表单。此表单的方法属性设置为 post ,而enctype属性设置为 multipart/form-data

<?php
   if(isset($_FILES['image'])){
      $errors= array();
      $file_name=$_FILES['image']['name'];
      $file_size =$_FILES['image']['size'];
      $file_tmp =$_FILES['image']['tmp_name'];
      $file_type=$_FILES['image']['type'];
      $file_ext=strtolower(end(explode('.',$_FILES['image']['name'])));
      
      $extensions= array("jpeg","jpg","png");
      
      if(in_array($file_ext,$extensions)=== false){
         $errors[]="extension not allowed, please choose a JPEG or PNG file.";
      }
      
      if($file_size > 2097152){
         $errors[]='File size must be excately 2 MB';
      }
      
      if(empty($errors)==true){
         move_uploaded_file($file_tmp,"images/".$file_name);
         echo "Success";
      }else{
         print_r($errors);
      }
   }
?>
<html>
   <body>
      
      <form action="" method="POST" enctype="multipart/form-data">
         <input type="file" name="image" />
         <input type="submit"/>
      </form>
      
   </body>
</html>

它将产生以下输出-

Upload Form

创建上传脚本

有一个名为 $_ FILES 的全局PHP变量,此变量是关联的二维数组,保留与上载文件有关的所有信息。因此,如果在上传形式中分配给输入的name属性的值为 file ,则PHP将创建以下五个变量-

  • $_ FILES ['file'] ['tmp_name']  - Web服务器上临时目录中的上载文件。

  • $_ FILES ['file'] ['name']            - 上载文件的实际名称。

  • $_ FILES ['file'] ['size']               - 上载文件的字节大小。

  • $_ FILES ['file'] ['type']              - 上载文件的MIME类型。

  • $_ FILES ['file'] ['error']             - 与该文件上传相关的错误代码。

下面的示例应允许上传图像,并返回输出作为上传文件信息。

<?php
   if(isset($_FILES['image'])){
      $errors= array();
      $file_name=$_FILES['image']['name'];
      $file_size=$_FILES['image']['size'];
      $file_tmp=$_FILES['image']['tmp_name'];
      $file_type=$_FILES['image']['type'];
      $file_ext=strtolower(end(explode('.',$_FILES['image']['name'])));
      
      $extensions= array("jpeg","jpg","png");
      
      if(in_array($file_ext,$extensions)=== false){
         $errors[]="extension not allowed, please choose a JPEG or PNG file.";
      }
      
      if($file_size > 2097152) {
         $errors[]='File size must be excately 2 MB';
      }
      
      if(empty($errors)==true) {
         move_uploaded_file($file_tmp,"images/".$file_name);
         echo "Success";
      }else{
         print_r($errors);
      }
   }
?>
<html>
   <body>
      
      <form action="" method="POST" enctype="multipart/form-data">
         <input type="file" name="image" />
         <input type="submit"/>
			
         <ul>
            <li>Sent file: <?php echo $_FILES['image']['name'];  ?>
            <li>File size: <?php echo $_FILES['image']['size'];  ?>
            <li>File type: <?php echo $_FILES['image']['type'] ?>
         </ul>
			
      </form>
      
   </body>
</html>

它将产生以下输出-

Upload Script

参考链接

https://www.learnfk.com/php/php-file-uploading.html

标签:FILES,上载,教程,errors,无涯,file,PHP,上传
From: https://blog.51cto.com/u_14033984/7174796

相关文章

  • php 如何实现检测nginx配置的正确性
    在Web服务器的搭建过程中,Nginx是一款非常流行的开源软件,它能够快速、高效地处理HTTP请求。为了保证Nginx服务器的稳定性和安全性,我们需要定期检测Nginx配置文件的正确性,以便及时发现并解决问题。本文将介绍如何使用PHP实现检测nginx配置的正确性。安装php-fpm首先需要安装php-fpm,它......
  • 无涯教程-PHP - 文件IO
    打开和关闭文件PHPfopen()函数用于打开文件,它需要两个参数,首先说明文件名,然后说明操作方式。可以将文件模式指定为此表中的六个模式之一。Sr.NoMode&Purpose1r只读模式。指针移到文件的开头。2r+读写模式。指针移到文件的开头。3w写入模式。指针移到文......
  • centos7 jdk1.8安装教程
    使用root用户安装jdk8下载参考,下载jdk-8u161-linux-x64.tar.gzhttps://blog.csdn.net/qq_21187515/article/details/84850814在/usr/目录下创建java目录#mkdir/usr/java#cd/usr/java4.把下载的jdk-8u161-linux-x64.tar.gz上传到linux上的/us......
  • 无涯教程-PHP - 运算符
    什么是运算符?可以使用表达式4+5等于9给出简单答案。这里4和5称为操作数,而+称为运算符。PHP语言支持以下类型的运算符。算术运算符比较运算符逻辑运算符赋值运算符三元操作符让无涯教程一一看一下所有运算符。算术运算符PHP语言支持以下算术运算符,假设变量A=10,变量B......
  • [转]Linux下,WinSCP普通用户登录sftp后切换到root权限 教程
    --------------------------------------------------------------------------------------------------------有这个需求的原因:为了提高系统安全性,禁用了root的ssh登录,但是又想使用sftp工具,如winscp,对root下的一些文件进行修改.下面这个方法注释掉了sudoers配置项Defa......
  • 从零开始构建动态网站 - 快速PHP开发
    在现代互联网时代,动态网站开发已成为许多技术人员关注的焦点。PHP作为一种广泛使用的服务器端脚本语言,具有简单易学、强大灵活等特点,成为了构建动态网站的首选之一。本文将带领您快速入门PHP开发,从零开始构建一个简单的动态网站,并提供相关的代码示例。PHP简介PHP(HypertextPrep......
  • Photoshop2023(Beta) PS AI版本安装爱国使用教程
    所需准备creative-cloudAdobe-GenP开始什么是creative-cloud你可以把它当成苹果的AppStore或者安卓的PlayStore,这是Adobe自家的应该程序商店,商城,资源管理中心,可以下载Adobe的所有软件,也能购买相关服务。下载creative-cloud官网地址:https://creativecloud.adobe.com/app......
  • 【AI视频教程】只需5步,AI作出鸡你太美视频
    1.视频效果黄昏见证虔诚的信徒2.准备工作制作视频效果,需要准备下面3个条件:准备stablediffusion的环境剪辑一段【鸡你太美】原版视频stablediffusion安装sd-webui-IS-NET-pro插件2.1部署stablediffusion环境部署步骤参考制作ikun图片的文章:【奶奶看了都会】2分钟学会......
  • Python教程(10)——Python变量类型元组tuple的详细用法
    在Python中,元组(Tuple)是一种有序且不可变的数据类型。元组可以包含任意数量的元素,用逗号分隔,并用圆括号括起来。与列表(List)不同,元组的元素不能修改。元组与列表一样,可以通过索引访问其中的元素。my_tuple=("apple","banana","cherry")print(my_tuple[0])#输出:apple元组的......
  • 本文实例讲述了PHP Web表单生成器
    本文实例讲述了PHPWeb表单生成器。分享给大家供大家参考,具体如下:1.实例:  相关学习推荐:PHP编程从入门到精通2.需求分析在项目的实际开发中,经常需要设计各种各样表单。直接编写HTML表单虽然简单,但修改、维护相对麻烦。因此,可以利用PHP实现一个Web表单生成器,使其可以根......