• 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>
  • 相关阅读:
    一款全屏图片滑动js 插件 超快捷
    19个非常有用的 jQuery 图片滑动插件和教程
    sqlite 下载的 ZIP 包的区别
    get utc+8 当时时间
    http://www.dayandeng.com/ 诈骗网站
    This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms
    c# string 数组转 list
    sql在添加新列时同时指定default约束名称
    windows证书地址
    Value Dispose() cannot be called while doing CreateHandle().
  • 原文地址:https://www.cnblogs.com/futan/p/php_file_img.html
Copyright © 2020-2023  润新知