php批量上傳文件數據庫,php多文件上傳

php 批量上傳 新手求指教

上傳控件改成數組就可以了。然后循環執行你已經寫完的這段

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名申請、虛擬主機、營銷軟件、網站建設、十堰鄖陽網站維護、網站推廣。

input type='file' name='files[]'

然后$_FILE就變成了一個數組,循環執行上面代碼即可。

php+mysql 如何實現批量文件上傳,

你要實現的這個功能,重點已經不是php或者mysql了。上傳這個東西,不管你是單個上傳還是批量上傳,服務器端的差別是不大的。主要是,你要實現的“流程先是讀出本地某文件夾下文件的列表再勾選想要上傳的文件,一次性上傳”這個功能,目前來看,是要用Flash/Flex來寫了。

php 批量大文件上傳下載如何實現?

1.首先還是查看環境是否支持超大容量上傳的支持,500M以上的文件通常為視頻文件;

2.即然他要上傳500M以上的文件,估計服務器性能必定非同凡想,所以暫可不考慮服務器硬件配置問題,但一定要考慮到網速問題,建議1000M以上出入速率,如少于這個數,你可以放棄這個方案了;

3.前面硬件都過關了,但程序也要加強了,一下上傳500M是哪種語言都不能實現的,唯一解決方案,文件切割,如迅雷下載原理一樣(采用續點上傳),分成若干小塊,然后全部上傳完畢以后,再進行文件合成。

4.至于PHP的文件切割,切割后上傳,以及文件合并,此類代碼網上有許多,樓主可查詢并選擇適合你的代碼,實現你的功能!

怎樣用php實現上傳圖片到數據庫

php實現上傳圖片保存到數據庫的方法。具體分析如下:

php 上傳圖片,一般都使用move_uploaded_file方法保存在服務器上。但如果一個網站有多臺服務器,就需要把圖片發布到所有的服務器上才能正常使用(使用圖片服務器的除外)

如果把圖片數據保存到數據庫中,多臺服務器間可以實現文件共享,節省空間。

首先圖片文件是二進制數據,所以需要把二進制數據保存在mysql數據庫。

mysql數據庫提供了BLOB類型用于存儲大量數據,BLOB是一個二進制對象,能容納不同大小的數據。

BLOB類型有以下四種,除存儲的最大信息量不同外,其他都是一樣的。可根據需要使用不同的類型。

TinyBlob?????? 最大 255B

Blob????????????? 最大 65K

MediumBlob? 最大 16M

LongBlob????? 最大 4G

數據表photo,用于保存圖片數據,結構如下:

CREATE?TABLE?`photo`?(??

`id`?int(10)?unsigned?NOT?NULL?auto_increment,??

`type`?varchar(100)?NOT?NULL,??

`binarydata`?mediumblob?NOT?NULL,??

PRIMARY?KEY??(`id`)??

)?ENGINE=MyISAM?DEFAULT?CHARSET=latin1?AUTO_INCREMENT=1?;

upload_image_todb.php代碼如下:

?php??

//?連接數據庫??

$conn=@mysql_connect("localhost","root","")??or?die(mysql_error());??

@mysql_select_db('demo',$conn)?or?die(mysql_error());?//?判斷action??

$action?=?isset($_REQUEST['action'])??$_REQUEST['action']?:?'';?

//?上傳圖片??

if($action=='add'){??

$image?=?mysql_escape_string(file_get_contents($_FILES['photo']['tmp_name']));??

$type?=?$_FILES['photo']['type'];??

$sqlstr?=?"insert?into?photo(type,binarydata)?values('".$type."','".$image."')";??

@mysql_query($sqlstr)?or?die(mysql_error());??

header('location:upload_image_todb.php');??

exit();??

//?顯示圖片??

}elseif($action=='show'){??

$id?=?isset($_GET['id'])??intval($_GET['id'])?:?0;??

$sqlstr?=?"select?*?from?photo?where?id=$id";??

$query?=?mysql_query($sqlstr)?or?die(mysql_error());??

$thread?=?mysql_fetch_assoc($query);??

if($thread){??

header('content-type:'.$thread['type']);??

echo?$thread['binarydata'];??

exit();??

}??

}else{??

//?顯示圖片列表及上傳表單??

???

!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN"?""??

html??

head??

meta?http-equiv="content-type"?content="text/html;?charset=utf-8"??

title?upload?image?to?db?demo?/title??

/head??

body??

form?name="form1"?method="post"?action="upload_image_todb.php"?enctype="multipart/form-data"??

p圖片:input?type="file"?name="photo"/p??

pinput?type="hidden"?name="action"?value="add"input?type="submit"?name="b1"?value="提交"/p??

/form??

?php??

$sqlstr?=?"select?*?from?photo?order?by?id?desc";??

$query?=?mysql_query($sqlstr)?or?die(mysql_error());??

$result?=?array();??

while($thread=mysql_fetch_assoc($query)){??

$result[]?=?$thread;??

}??

foreach($result?as?$val){??

echo?'pimg?

src="upload_image_todb.php?action=showid='.$val['id'].'t='.time().'"

width="150"/p';??

}??

???

/body??

/html??

?php??

}??

?

程序運行截圖和數據庫截圖:

php怎么實現批量上傳圖片?不是一張一張選擇之后一起上傳 就是打開文件夾全選直接全部上傳。

獲取路徑下的所有圖片文件名,寫入數據庫或是某個變量,在別的頁面調用程序上傳,再從別的頁面讀出來就行了。

以下是示例代碼:

?php

function upload($fileName,$filePath)

{

//判斷該文件是否是用戶根據POST方式提交到服務器的上傳文件

foreach($_FILES[$fileName]['tmp_name'] as $k=$v)

{

if($_FILES[$fileName]['name'][$k]!="")

{

$result=check($_FILES[$fileName]['size'][$k],$_FILES[$fileName]['type'][$k],$_FILES[$fileName]['name'][$k]);

if($result['error']==1)

{

echo $result['msg']."br";

echo "出錯文件:".$result['name']."br";

}

else

{

$arrTT=explode(".",$_FILES[$fileName]['name'][$k]);

$extName=$arrTT[count($arrTT)-1];

$NewName=sha1(microtime()).".".$extName;

if(move_uploaded_file($v,$filePath.$NewName));

$arrWW[]=$NewName;

}

}

}

return $arrWW;

}

function check($size,$types,$name)

{

if($size=5242880)

{

$result['msg']='文件過大!';

$result['error']=1;

$result['name']=$name;

}

$arrType=array('image/pjpeg','image/gif','image/x-png','audio/mp3','application/msword','application/vnd.ms_excel','application/octet-stream','application/vnd.ms-powerpoint');

if(!in_array($types,$arrType))

{

$result['msg']='文件類型不匹配!';

$result['error']=1;

$result['name']=$name;

}

return $result;

}

?

Thinkphp怎么批量添加數據

?php

class FileAction extends Action {

public function Index()

{

//print_r(__URL__);

$file = M('file');

$list = $file-select();

$this-assign('filelist',$list);

$this-display();

}

public function upload()

{

//文件上傳的地址上傳給它,并且上傳完成后返回一個信息,讓其寫入數據庫

//如果$_FILES為空的畫,我就讓action給出一個錯誤提示,告訴用戶必須選擇上傳文件。如果有上傳文件,則調用up方法

//$_FILES = $this-_post('file');

//print_r($_FILES);

if (empty($_FILES)) {

$this-error('必須選擇上傳文件');

}else {

$a = $this-Up();

//print_r($a);

if (isset($a)) {

//寫入數據庫方法

if($this-c($a)) {

$this-success('上傳成功');

}else {

$this-error('寫入數據庫失敗');

}

}else {

$this-error('上傳文件有異常請與系統管理員聯系');

}

}

}

private function c($data)

{

//print_r($data);

$file=M('file');

$num = '0';

for($i = 0; $i count($data)-1; $i++) {

$data['filename']=$data[$i]['savename'];

if( $file-data($data)-add())

{

$num++;

}

}

if($num==count($data)-1)

{

return true;

}else {

return false;

}

}

// private function c($data)

// {

// $file = M('file');

// $data['filename'] = $data[0]['savename'];

// if ($file-data($data)-add()) {

// return true;

// }else {

// return false;

// }

// }

//在這個方法當中,完成與thinkphp相關的,文件上傳類的調用

private function Up()

{

//echo '模擬上傳';

//基本上傳功能

//批量上傳功能

//生成圖片縮略圖

//自定義參數上傳

//上傳檢測(大小,后綴,mime類型)

//支持覆蓋方式上傳

//上傳類型,附件大小,上傳路徑定義

//支持hash或者日期子目錄保存上傳文件

//上傳圖片的安全性檢測

//對上傳文件的hash檢測

//上傳文件名自定義規范

import('@.ORG.UploadFile');

import('@.ORG.Image');

$upload = new UploadFile();

$upload-maxSize = '1000000'; //指上傳文件大小,默認為-1,不限制大?。╞ytes)

$upload-savePath = './Public/'; //上傳保存到什么地方?路徑建議保存到入口文件平級或平級目錄的子目錄

$upload-saveRule = 'uniqid'; //上傳文件的文件名保存規則 time uniqid(默認) com_create_guid

$upload-hashType = 'md5_file';

$upload-autoCheck = true; //是否自動檢測附件 默認true

$upload-uploadReplace = true; //如果存在同名文件是否進行覆蓋

$upload-allowExts = array('jpg','jpeg','png','gif'); //允許上傳的文件后綴

$upload-allowPath = array('image/png','image/jpg','image/pjpeg','image/gif','image/jpeg'); //檢測mime類型

$upload-thumb = true; // 是否開啟圖片文件縮略

$upload-thumbMaxWidth = '300,500';//縮略圖最大寬度

$upload-thumbMaxHeight = '200,400';//最大高度

$upload-thumbPrefix = 's-,m-';//縮略圖文件前綴

//$upload-thumbSuffix = '_s,_m';//文件后綴

//$upload-thumbPath = '';//如果留空直接上傳至

//$upload-thumbFile 在數據庫中也存一個文件名即可

$upload-thumbRemoveOrigin = 1; //如果生成縮略圖,是否刪除原圖

//$upload-autoSub 是否使用子目錄進行保存上傳文件

//$upload-subType='' 子目錄創建方式默認為hash 也可以為date

//$upload-dateFormat 子目錄方式date的指定日期格式

//$upload-hashLevle

//upload() 如果上傳成功返回true,失敗返回false

if ($upload-upload()) {

$info = $upload-getUploadFileInfo();

return $info;

}else {

//是專門來獲取上傳的錯誤信息的

$this-error($upload-getErrorMsg());

}

}

}

?

新聞標題:php批量上傳文件數據庫,php多文件上傳
文章URL:http://m.kartarina.com/article26/heidjg.html

成都網站建設公司_創新互聯,為您提供手機網站建設標簽優化網站維護、ChatGPT、網站收錄靜態網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

營銷型網站建設
主站蜘蛛池模板: 亚洲日韩精品无码专区加勒比| 秋霞鲁丝片无码av| 中文一国产一无码一日韩| 无码av天天av天天爽| 免费无码av片在线观看| 免费无码成人AV在线播放不卡| 亚洲精品天堂无码中文字幕| 亚洲av无码成人精品区| 无码精品尤物一区二区三区| 亚洲高清无码综合性爱视频| 91精品无码久久久久久五月天| 五月丁香六月综合缴清无码| 中文有码无码人妻在线| 国产在线观看无码免费视频 | 精品一区二区三区无码视频| 国产亚洲3p无码一区二区| 人妻少妇看A偷人无码精品| 无码无套少妇毛多18p| 免费无码又爽又刺激网站| 日韩精品中文字幕无码一区| 一区二区三区无码高清| 国产精品亚洲专区无码唯爱网| 国产在线无码视频一区二区三区| 97无码免费人妻超级碰碰碰碰| 无码精品一区二区三区免费视频 | 国产成人无码区免费内射一片色欲| 亚洲熟妇无码八V在线播放| 亚洲VA中文字幕无码毛片| 免费无码又爽又刺激网站直播| 亚洲?V无码成人精品区日韩 | 最新中文字幕av无码专区| 日韩综合无码一区二区| 免费无码一区二区| 韩国精品一区二区三区无码视频| 亚洲av无码一区二区三区天堂古代| 日韩网红少妇无码视频香港| 亚洲av无码乱码国产精品| 国产精品va无码一区二区 | 亚洲国产精品无码久久久久久曰 | 无码日韩人妻av一区免费| 99精品一区二区三区无码吞精|