PHP上传图片到数据库和存储到本地文件夹的方法
生活随笔
收集整理的這篇文章主要介紹了
PHP上传图片到数据库和存储到本地文件夹的方法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文件上傳必須是post,enctype="multipart/form-data"這種方式可以接收$_FILES。 最大的上傳大小不能大于200M的服務(wù)器內(nèi)存 <?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的文件數(shù)據(jù)
//平常我們都用$_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"
//現(xiàn)在的網(wǎng)站的目錄D:\wamp\www\e1215\20121211upload
????["tmp_name"]=>
????string(22)?"D:\wamp\tmp\phpFBF.tmp"
????["error"]=>
????int(0)
????["size"]=>
????int(193903)
??}
}
//現(xiàn)在的網(wǎng)站的目錄D:\wamp\www\e1215\20121211upload
//D:\wamp\tmp\phpFBF.tmp
//以上??都是發(fā)生??服務(wù)器內(nèi)部的
//我們從外部去訪問圖片
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);
//這個是當(dāng)前網(wǎng)站目錄
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>
//錯誤號處理 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的文件數(shù)據(jù)
//平常我們都用$_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"
//現(xiàn)在的網(wǎng)站的目錄D:\wamp\www\e1215\20121211upload
????["tmp_name"]=>
????string(22)?"D:\wamp\tmp\phpFBF.tmp"
????["error"]=>
????int(0)
????["size"]=>
????int(193903)
??}
}
//現(xiàn)在的網(wǎng)站的目錄D:\wamp\www\e1215\20121211upload
//D:\wamp\tmp\phpFBF.tmp
//以上??都是發(fā)生??服務(wù)器內(nèi)部的
//我們從外部去訪問圖片
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);
//這個是當(dāng)前網(wǎng)站目錄
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>
轉(zhuǎn)載于:https://www.cnblogs.com/futan/archive/2012/12/11/php_file_img.html
總結(jié)
以上是生活随笔為你收集整理的PHP上传图片到数据库和存储到本地文件夹的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用xmanager连接centos5.
- 下一篇: 轻松删除所有安装的gem