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>
  • 相关阅读:
    Combine 框架,从0到1 —— 4.在 Combine 中使用计时器
    Combine 框架,从0到1 —— 4.在 Combine 中使用通知
    Combine 框架,从0到1 —— 3.使用 Subscriber 控制发布速度
    Combine 框架,从0到1 —— 2.通过 ConnectablePublisher 控制何时发布
    使用 Swift Package Manager 集成依赖库
    iOS 高效灵活地配置可复用视图组件的主题
    构建个人博客网站(基于Python Flask)
    Swift dynamic关键字
    Swift @objcMembers
    仅用递归函数操作逆序一个栈(Swift 4)
  • 原文地址:https://www.cnblogs.com/futan/p/php_file_img.html
Copyright © 2011-2022 走看看