分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

文件上传

发布时间:2023-09-06 01:20责任编辑:顾先生关键词:文件上传

1、创建一个文件上传表单

请留意如下有关此表单的信息:

<form> 标签的 enctype 属性规定了在提交表单时要使用哪种内容类型。在表单需要二进制数据时,比如文件内容,请使用 "multipart/form-data"。

<input> 标签的 type="file" 属性规定了应该把输入作为文件来处理。举例来说,当在浏览器中预览时,会看到输入框旁边有一个浏览按钮。

2、创建上传脚本

<?php
if ($_FILES["file"]["error"] > 0)
  {
  echo "Error: " . $_FILES["file"]["error"] . "<br />";
  }
else
  {
  echo "Upload: " . $_FILES["file"]["name"] . "<br />";
  echo "Type: " . $_FILES["file"]["type"] . "<br />";
  echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
  echo "Stored in: " . $_FILES["file"]["tmp_name"];
  }
?>

PHP文件的上传与下载

    1. 文件上传
      1.1 客户端上传设置
      ???① form 必须用 post
      ???② 给form 指定属性 ?enctype=’multipart/form-data’
      ???③ <input type=‘file‘ name="">
      ???④ 表单中可以对上传文件的大小进行限制 ?(可选)
      <input type=‘hidden‘ name="MAX_FILE_SIZE" value="">
      ???????必须写到 input:file 的前面
      1.2 在服务器端通过PHP处理上传
      ???1.2.1 PHP配置文件中与文件上传有关的选项
      ???????指令名 ????????????????默认值 ????????功能描述
      ???????file_uploads ???????????ON ?????????????是否开启文件上传
      ???????max_file_uploads = 20 ??上传文件数量限制
      ???????upload_max_filesize 单个文件 ???2M ?????????限制PHP处理上传文件大小的最大值,此值必须小于post_max_size
      ???????post_max_size ??????????8M
      ???????????????????限制通过POST方法可以接受信息的最大值,也就是整个POST请求的提交值。此值必须大于upload_max_filesize
      ???????????????????整个表单的大小
      ???????upload_tmp_dir ?????????NULL ???上传文件存放的临时路径,可以是绝对路径。默认NULL则使用系统的临时目录。
      ???1.2.2 $_FILES多维数组
      ???????[input的name]=>array(
      ???????????‘name’ ?????????=> ??????原文件的名字,
      ???????????‘type’ ?????????=> ??????文件mime类型
      ???????????‘tmp_name’ ?????=> ??????临时文件的路径
      ???????????‘error’ ????????=> ??????错误号 0表示上传成功
      ???????????‘size’ ?????????=> ??????文件的大小
      ???????)
      ???????error错误号:
      ???????????0 ??????????????表示上传成功
      ???????????1 ??????????????超过了 php.ini 中 upload_max_filesize 的限制
      ???????????2 ??????????????超过了 HTML 表单 中隐藏域设置的 限制
      ???????????3 ??????????????文件只有部分被上传
      ???????????4 ??????????????文件没有上传
      ???????????6 ??????????????找不到临时目录
      ???????????7 ??????????????文件写入失败
      ???1.2.3 常见数据格式(MIME)
      ???????文件类型 ???????????????MIME类型
      ???????图片文件 ???????????????image/gif,image/jpg,image/jpeg,image/png,image/x-png
      ???????纯文本和HTML ???????????text/txt,text/plain,text/html
      ???????二进制文件 ??????????????application/octet-stream
      ???????音频格式 ???????????????audio/basic
      ???????视频格式 ???????????????video/mpeg
      ???1.2.4 PHP文件上传处理函数
      ???????is_uploaded_file()
      ???????move_uploaded_file()

    2. 多文件上传
      使用不同的表单元素
      <input type="file" name="file_a">
      ???<input type="file" name="file_b">
      ???<input type="file" name="file_b">

      使用数组格式的表单元素
      <input type="file" name="file[]">
      ???<input type="file" name="file[]">
      ???<input type="file" name="file[]">

      HTML5指定inputd的属性
      <input type="file" name="file[]" multiple>

    3. 文件下载
      //获取服务器要下载文件的路径
      $filename="./upload/aa.png";

      //获取文件的文件名
      $basename=pathinfo($filename);

      //指定下载文件类型的
      header("Content-Type: image/png");

      //设置head头信息,告知该文件时下载附件并且制定客户端临时存储名称
      header("Content-Disposition:attachment;filename=". $basename["basename"]);
      //指定下载文件的描述信息
      //指定文件大小的
      header("Content-Length:".filesize($filename)); ?

      //将内容输出,以便下载。
      readfile($filename);

文件上传

原文地址:http://www.cnblogs.com/yolo-bean/p/7739497.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved