zoukankan      html  css  js  c++  java
  • PHP上传图片到数据库和存储到本地文件夹的方法

     
    文件上传必须是post,enctype="multipart/form-data"这种方式可以接收$_FILES。
    最大的上传大小不能大于200M的服务器内存
    <?php
    //错误号处理
    if($_FILES['pic']['error'] > 0)
    {
      switch($_FILES['pic']['error'])  
      {
        case 1:
          echo "超过最大限制";
          break;
        case 2:
     
      }
    }
    限制文件上传的类型
    if($_FILES['pic']['type'])
    {
      list($d,$l)=explode('/',);
    }
    if($l != image)
    {
      echo "上传错误类型";
      exit;
    }else()
        $allowtype=array("png","gif");
        $arr = explode(".",$_FILES['pic']['name']);
        $hz=$arr[count($arr) -1];
        if(!in_array($hz,$allowtype))
        {
          echo "这是不允许的类型";
          exit;
        }
        
     
    {
     
     
    }
     
     
     
     

    //文件上传
    //1.表单  file文本框   表单属性
    //2. 接收post的文件数据

    //平常我们都用$_POST
    //接收文件
    /*
    array(2) {
      ["img"]=>
      array(5) {
      //源文件名
        ["name"]=>
        string(26) "8a0d8cbbgw1dyjbhf4o3ej.jpg"
    //文件  格式
        ["type"]=>
        string(10) "image/jpeg"
    //tmp  temp  临时 文件
        ["tmp_name"]=>
        string(22) "D:\wamp\tmp\phpFAE.tmp"
    //error  错误提示
        ["error"]=>
        int(0)
    //size   文件大小
        ["size"]=>
        int(93943)
      }
      ["img2"]=>
      array(5) {
        ["name"]=>
        string(15) "未命名66676.jpg"
        ["type"]=>
        string(10) "image/jpeg"
    //现在的网站的目录D:\wamp\www\e1215\20121211upload
        ["tmp_name"]=>
        string(22) "D:\wamp\tmp\phpFBF.tmp"
        ["error"]=>
        int(0)
        ["size"]=>
        int(193903)
      }
    }

    //现在的网站的目录D:\wamp\www\e1215\20121211upload
    //D:\wamp\tmp\phpFBF.tmp
    //以上  都是发生  服务器内部的

    //我们从外部去访问图片
    localhost:8088/e1215\20121211upload\abc.jpg

    */
    var_dump($_FILES);

    $tmp_name = $_FILES["img"]["tmp_name"]; // 临时文件地址
    $filename = $_FILES['img']['name'];//这个是源文件名
    $dirname = dirname(__FILE__).DIRECTORY_SEPARATOR."upload";

    //make mk

    //新建年
    $dirname .= DIRECTORY_SEPARATOR.date("Y");
    if(!file_exists($dirname))mkdir($dirname);

    //新建月
    $dirname .= DIRECTORY_SEPARATOR.date("m");
    if(!file_exists($dirname))mkdir($dirname);

    //新建日
    $dirname .= DIRECTORY_SEPARATOR.date("d");
    if(!file_exists($dirname))mkdir($dirname);

    //这个是当前网站目录
    var_dump($dirname);
    move_uploaded_file($tmp_name,$dirname.DIRECTORY_SEPARATOR.$filename);

    $imgsrc = "upload/".date("Y")."/".date("m")."/".date("d")."/".$filename;
    ?>
    <img src="<?php echo $imgsrc?>">
    <form action="" method="post" enctype="multipart/form-data">
    <input type="file" name="img"/>
    <input type="file" name="img2"/>
    <input type="submit" value="上传" />
    </form>
  • 相关阅读:
    BZOJ 3150 [Ctsc2013]猴子 ——期望DP 高斯消元
    BZOJ 4569 [Scoi2016]萌萌哒 ——ST表 并查集
    BZOJ 4590 [Shoi2015]自动刷题机 ——二分答案
    BZOJ 3462 DZY Loves Math II ——动态规划 组合数
    BZOJ 4827 [Shoi2017]分手是祝愿 ——期望DP
    BZOJ 4827 [Hnoi2017]礼物 ——FFT
    BZOJ 4826 [Hnoi2017]影魔 ——扫描线 单调栈
    ZOJ 3874 Permutation Graph ——分治 NTT
    UVA 12633 Super Rooks on Chessboard ——FFT
    HDU 2065 "红色病毒"问题 ——快速幂 生成函数
  • 原文地址:https://www.cnblogs.com/futan/p/php_file_img.html
Copyright © 2011-2022 走看看