導航:首頁 > 編程語言 > php批量上傳代碼

php批量上傳代碼

發布時間:2023-05-12 19:21:31

⑴ 菜鳥一隻,求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;

}

?>
其實,有很多php的圖片上傳的類,你可以去下載幾個,看看怎麼調用就行了

⑵ php,批量上傳圖片方法不要插件類的,也不要flash的。

將表單域中的文件域的name屬性設置為一樣並且以數組形式提交。比如
name="file[]"
這樣,你用php獲取他的值,這個值就是多維數組
比如
$FILES = $_FILES['file'];
這個時候,你這個變數$FILES就是一個多維數組了
然後用foeach循環遍歷這個數組即可
foreach ( $FILES as $file ) {

這里之間的代碼,就和你上傳單張圖片一樣的代碼就行
比如獲取上傳圖片的類型: $Type = $file['type']

}

php中
$_GET $_POST $_REQUEST $_FILES等都是全局變數,而且都是數組形式
而數組和foreach循環搭配,那是很完美的,有這兩個來搭配,就不難處理數組了,當然,你所謂的多圖片上傳,也就不是問題的問題了

⑶ PHP文件上傳代碼用法

php文件上傳代碼編寫過程

先判斷是否上傳文件

如果有再來判斷上傳中是否出錯

如果出錯 則提示出錯信息

如查沒出錯 再判斷文件類型

如果類型符合條件 再判斷指定目錄中有沒有存在該文件

如果沒有就把該文件移至指定目錄

在php中上傳文件必須知道的幾個東西

$_FILES[ myfile ][ name ] 是指被上傳文件的名稱

$_FILES[ myfile ][ type ] 是指被上傳文件的類型

$_FILES[ myfile ][ size ] 是指被上傳文件的大小 單位為位元組(B)

$_FILES[ myfile ][ tmp_name ] 是指被上傳文件存在伺服器中的臨時副本文件名稱 文件被移動到指定目錄後臨文件將被自動消毀

$_FILES[ myfile ]["error"] 是指由文件上傳中有可能出現的錯誤的狀態碼 關於各狀態含義後在會說明

先來看一下HTML部分

代碼如下 復制代碼

?<form action="upload php" method="post" enctype="multipart/form data"> 上傳 <input type=file name=myfile /> <input type=submit name=submit value="上傳" /> </form>

說明

form標答的action="upload php"是指點擊這個form中的submit的時候 這個上傳命令會被發送到這個叫 upload php的頁面去處理 method="post"是指以post方式去送 enctype="multipart/form data"屬性規定了在提交這個表單時要使用哪種內容類型 在表單需要二進制數據時 比如文件內容 請使用"multipart/form data" 如果要上傳文件 這個屬性是必要的 input中的type="file"時 規定了應該把輸入作為文件來處理 並且在input後面會有一個瀏覽的按鈕

我們再來看一個PHP處理頁面 upload php

代碼如下 復制代碼

<?php if($_FILES[ myfile ][ name ] != ) { if($_FILES[ myfile ][ error ] > ) { echo "錯誤狀態 " $_FILES[ myfile ][ error ]; } else { move_uploaded_file($_FILES[ myfile ][ tmp_name ] "uploads/" $FILES[ myfile ][ name ]); echo "<script>alert(上傳成功!);</script>"; } } else{ echo "<script>alert(請上傳文件!);</script>"; } ?>

上面超級簡單 我們現在來升級一下

upload php

代碼如下 復制代碼

<!DOCTYPE HTML PUBLIC " //W C//DTD HTML Transitional//EN"> <> <head> <title>ddd</title> <meta equiv="content type" content="text/; charset=UTF "> </head> <body> <! 文件上傳要注意: 要有enctyp method="post" > <form enctype="multipart/form data" action="uploadProcess php" method="post" > <table> <tr><td>請填寫用戶名</td><td><input type=text name=username></td></tr> <tr><td>請簡單介紹文件</td><td><textarea rows=" " cols=" " name=fileintro class="page_speeder_734321457"></textarea></td></tr> <tr><td>請上傳你的文件</td><td><input type=file name=myfile></td></tr> <tr><td colspan=" "><input type=submit value="上傳"><td></tr> </table> </form> </body> </>

uploadProcess php

代碼如下 復制代碼

<?php

//接收 $username=$_POST[ username ]; $fileintro=$_POST[ fileintro ]; //echo $username $fileintro; //獲取文件信息 /* echo "<pre>"; print_r($_FILES); echo "</pre>"; */ //獲取文件的大小 $file_size=$_FILES[ myfile ][ size ]; if($file_size> * * ){ echo "<script type= text/javascript >window alert( 文件不能大於 M )</script>"; exit(); }

//獲取文件類型 $file_type=$_FILES[ myfile ][ type ]; if($file_type!="image/jpeg" && $file_type!="image/pjpeg"){ echo "文件類型只能是 jpg 格式"; exit(); }

//判斷上傳是否OK if(is_uploaded_file($_FILES[ myfile ][ tmp_name ])){ //得到上傳的文件 轉存到你希望的目錄 $upload_file=$_FILES[ myfile ][ tmp_name ]; //防止圖片覆蓋問題 為每個用戶建立一個文件夾 $user_path=$_SERVER[ DOCUMENT_ROOT ] "/file/up/" $username; if(!file_exists($user_path)){ mkdir ($user_path); }

//$move_to_file=$user_path "/" $_FILES[ myfile ][ name ]; //防止用戶上傳用戶名相同的問題 $file_true_name=$_FILES[ myfile ][ name ]; $move_to_file=$user_path "/" time() rand( ) substr($file_true_name strripos($file_true_name " "));

//echo $upload_file $move_to_file; //中文要轉碼 if(move_uploaded_file($upload_file iconv("utf " "gb " "$move_to_file"))){ echo $_FILES[ myfile ][ name ] "上傳成功"; }else{ echo "上傳失敗"; } }else{ echo "上傳失敗"; }

?>

注意:

我舉個例子大家就知道 比如一個圖片文件 pic jpg 我們用 strrchr處理 strrchr(pic jpg ) 它將返回 jpg 明白了嗎?該函數返回指定字元在該字元串最後出現的位置後的字元 配合 substr() 我們就可以取到jpg 這樣我們就得到了文件的後綴名 來判斷上傳文件是否符合指定格式 本程序把指定的格式放在一個數組中 實際使用時可根據需要添加

lishixin/Article/program/PHP/201311/20924

⑷ php函數move_uploaded_file批量上傳問題

個人認為,不建議這樣寫上傳代碼

<?php
$Files=$_FILES['attachment'];
foreach($Filesas$file){//遍歷取得的數組
if(!empty($file['name'])){//如果文件名不為空,也就是跳過沒選擇文件的上傳

//這這里處理你是上傳
move_uploaded_file($file['tmp_name'],'你要保存的文搜耐虧件名稱和路徑');
}世神

}

php中畝豎,對數組的操作,用foreach循環最方便和合適,for循環顯然沒有那個方便

⑸ 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;

}

?>

⑹ php 批量上傳 新手求指教

上傳控制項歲坦乎改成數組就可以了。然後循環執行你已經寫完的這段
<input type='file' name='files[]'>
然後$_FILE就變成了一乎悉個數組,循環執信橡行上面代碼即可。

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

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

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

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

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

⑻ php如何實現一次性上傳多個文件

<?php
$max_files=5; //最多上傳文件的個數,與 up.htm 中的 input file 控制項的個數相同
$up_ok_files=0; //成功上傳的文件個數
$up_folder="ups"; //保存上傳文件的目標文件夾
if(isset($_FILES['myfile'])){
//由於 $_FILES['myfile'] 是個數組,所以需要使用循環遍歷
for($i=0;$i<$max_files;$i++){
//如果未出錯
if($_FILES['myfile']['error'][$i]==0){
if(move_uploaded_file($_FILES['myfile']['tmp_name'][$i],$up_folder."/".$_FILES['myfile']['name'][$i])){
//成功上傳後,計數器增 1
$up_ok_files +=1;
}
else{
echo "<h4 style='color:red;'>在伺服器中保存失敗</h4>";
}
}
}
echo "<h4>成功上傳 ".$up_ok_files. " 個文件</h4>";
}
?>

如果對 $_FILES['myfile'] 這個數組的結構不清楚,那麼可以在循環之前加入這句代碼將其顯示出來:
print_r($_FILES['myfile']);

對這個數組的結構了解之後,理解上述代碼就比較容易了。
foreach循環實現
常規下,php上傳一張圖片,頁面上添加一個文件域,上傳後,得到的數組是二維數組
轉變一下,
頁面上添加多個文件域,並且他們的name屬性相同,而且是以數組形式提交(比如:name="file[]")
那麼上傳後,得到的是三維數組
而,php中,foreach循環對遍歷數組那真是完美至極
用foreach遍歷一次這個三維數組,得到的結果就又是二維數組,那麼,就和上傳一張圖片一樣一樣的了

⑼ php代碼: 哪位大俠知道 怎麼不用表單上傳文件(大批量,但每個文件就幾K),

沒試過
這個辦法你看行虧雹不行
1 遍歷對應的目錄,找到要上傳的文件及文件名
2 用PHP動態生成form表單,再生成<input file>(就是文件上傳那個對象),再生成提交按鈕
3 提交之後就和正常文件上傳一樣了。

如果不想讓別人看到上傳內容及文件名,你可以把form表單里的所有文件上傳對象都隱洞空迅藏起來,用div就行吧。
至於一個超連接嘛,也可以,你把提交按鈕改成一個超連接後納此,用JS提交form也行~~~

⑽ PHP版怎麼使用kindeditor4.1批量上傳圖片組件

將upload_json.php中的告陪一段改為:

$save_date=date("YmdHis");
//新文件名
$new_file_name=$save_date.'_'.rand(10000,99999).'.'.$file_ext;
//移動文件
$file_path=$save_path.$new_file_name;
$savePath.=$new_file_name;
if(move_uploaded_file($tmp_name,$file_path)===false){
搏族alert("上傳文件失敗。");
}else{
#####存儲文件襪銀蠢路徑#####
$saveDatas=array('path'=>$savePath,'date'=>$save_date);
$mysql->addFile($saveDatas);
if(!empty($_GET['type'])){
$type=$_GET['type'];
header("Location:../list_up_file.php?type={$type}");
}
}
@chmod($file_path,0644);
$file_url=$save_url.$new_file_name;

header('Content-type:text/html;charset=UTF-8');
$json=newServices_JSON();
閱讀全文

與php批量上傳代碼相關的資料

熱點內容
cocos2dluapdf 瀏覽:491
假的加密鎖靠譜嗎 瀏覽:176
經營聖手伺服器怎麼調 瀏覽:749
arduino手機編程 瀏覽:481
西醫pdf下載 瀏覽:29
後浪電影學院pdf 瀏覽:813
程序員怎麼做到不被人嫉妒 瀏覽:669
cmd新建文件夾md命令 瀏覽:570
php數組中的數值排序 瀏覽:832
安卓手機怎麼避免小孩內購 瀏覽:171
聯想伺服器出現黃色嘆號怎麼辦 瀏覽:991
約翰編譯器製作教程 瀏覽:130
大地pdf 瀏覽:109
pdfplus 瀏覽:577
匯編O命令 瀏覽:970
plt轉pdf 瀏覽:365
魔獸60宏命令大全 瀏覽:479
php志願者網站源碼 瀏覽:875
貿易pdf 瀏覽:497
dbug命令 瀏覽:352