PHP——文件上传


创建文件上传表单




  • enctype表明上传文件使用哪种类型文件
  • “multipart/form-date”表明需要二进制数据文件(文件类容)

创建上传脚本

<?php


if ($_FILES["file"]["error"]>0)

{

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

$_FILES数组

  • 第一个参数,是表单的input name ;第二个参数可以是name,type,size,tmp_name,error
    -$_FILES["file"]["name"]:被上传文件的名称
    -$_FILES["file"]["type"]:被上传文件的类型
    -$_FILES["file"]["size"]:被上传文件的大小,以字节计
    -$_FILES["file"]["tmp_name"]:存储在服务器的文件的临时副本的名称
    -$_FILES["file"]["error"]:由文件上传导致的错误代码

上传限制

<?php
if ((($_FILES["file"]["type"]=="image/gif")||($_FILES["file"]["type"]=="image/jpeg")||($_FILES["file"]["type"]=="image/pjep")&&($_FILES["file"]["size"]<20000)))
{
    if($_FILES["file"]["error"]>0)
    {
        echo "Error:".$_FILES["file"]["error"]."
"; } else { echo "Upload:".$_FILES["file"]["name"]."
"; echo "Type:".$_FILES["file"]["type"]."
"; echo "Size:".$_FILES["file"]["size"]."
"; echo "Temp file:".$_FILES["file"]["tmp_name"]."
"; } } else { echo "Invalid file"; } ?>

  • IEl浏览器识别jpg文件的类型为:pjpep
  • FireFox浏览器识别jpg文件的类型为:jpeg

保存被上传的文件

<?php

if ((($_FILES["file"]["type"]=="image/gif")||($_FILES["file"]["type"]=="image/jpeg")||($_FILES["file"]["type"]=="image/pjep")&&($_FILES["file"]["size"]<20000)))

{
    if($_FILES["file"]["error"]>0)
    {
        echo "Error:".$_FILES["file"]["error"]."
"; } else { echo "Upload:".$_FILES["file"]["name"]."
"; echo "Type:".$_FILES["file"]["type"]."
"; echo "Size:".$_FILES["file"]["size"]."
"; echo "Temp file:".$_FILES["file"]["tmp_name"]."
"; if (file_exists("upload/".$_FILES["file"]["name"])) { echo $_FILES["file"]["name"]."already existe"; } else { move_uploaded_file($_FILES["file"]["tmp_name"], "upload/".$_FILES["file"]["name"]); echo "stored in:"."upload/".$_FILES["file"]["name"]; } } } else { echo "Invalid file"; } ?>

PHP