欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

php批量上傳文件數(shù)據(jù)庫,php多文件上傳

php 批量上傳 新手求指教

上傳控件改成數(shù)組就可以了。然后循環(huán)執(zhí)行你已經(jīng)寫完的這段

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

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

然后$_FILE就變成了一個數(shù)組,循環(huán)執(zhí)行上面代碼即可。

php+mysql 如何實(shí)現(xiàn)批量文件上傳,

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

php 批量大文件上傳下載如何實(shí)現(xiàn)?

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

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

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

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

怎樣用php實(shí)現(xiàn)上傳圖片到數(shù)據(jù)庫

php實(shí)現(xiàn)上傳圖片保存到數(shù)據(jù)庫的方法。具體分析如下:

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

如果把圖片數(shù)據(jù)保存到數(shù)據(jù)庫中,多臺服務(wù)器間可以實(shí)現(xiàn)文件共享,節(jié)省空間。

首先圖片文件是二進(jìn)制數(shù)據(jù),所以需要把二進(jìn)制數(shù)據(jù)保存在mysql數(shù)據(jù)庫。

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

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

TinyBlob?????? 最大 255B

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

MediumBlob? 最大 16M

LongBlob????? 最大 4G

數(shù)據(jù)表photo,用于保存圖片數(shù)據(jù),結(jié)構(gòu)如下:

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??

//?連接數(shù)據(jù)庫??

$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??

}??

?

程序運(yùn)行截圖和數(shù)據(jù)庫截圖:

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

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

以下是示例代碼:

?php

function upload($fileName,$filePath)

{

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

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怎么批量添加數(shù)據(jù)

?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()

{

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

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

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

//print_r($_FILES);

if (empty($_FILES)) {

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

}else {

$a = $this-Up();

//print_r($a);

if (isset($a)) {

//寫入數(shù)據(jù)庫方法

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

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

}else {

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

}

}else {

$this-error('上傳文件有異常請與系統(tǒng)管理員聯(lián)系');

}

}

}

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;

// }

// }

//在這個方法當(dāng)中,完成與thinkphp相關(guān)的,文件上傳類的調(diào)用

private function Up()

{

//echo '模擬上傳';

//基本上傳功能

//批量上傳功能

//生成圖片縮略圖

//自定義參數(shù)上傳

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

//支持覆蓋方式上傳

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

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

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

//對上傳文件的hash檢測

//上傳文件名自定義規(guī)范

import('@.ORG.UploadFile');

import('@.ORG.Image');

$upload = new UploadFile();

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

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

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

$upload-hashType = 'md5_file';

$upload-autoCheck = true; //是否自動檢測附件 默認(rèn)true

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

$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 在數(shù)據(jù)庫中也存一個文件名即可

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

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

//$upload-subType='' 子目錄創(chuàng)建方式默認(rèn)為hash 也可以為date

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

//$upload-hashLevle

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

if ($upload-upload()) {

$info = $upload-getUploadFileInfo();

return $info;

}else {

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

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

}

}

}

?

新聞標(biāo)題:php批量上傳文件數(shù)據(jù)庫,php多文件上傳
文章URL:http://chinadenli.net/article26/heidjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化網(wǎng)站維護(hù)、ChatGPT網(wǎng)站收錄、靜態(tài)網(wǎng)站

廣告

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

營銷型網(wǎng)站建設(shè)