導航:首頁 > 編程語言 > php分段上傳

php分段上傳

發布時間:2022-09-08 00:40:45

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中怎麼實現文件的分類上傳

先判斷上傳文件的類型,不同的類型寫在不同的文件夾
<?
if(isset($_POST['send']) && $_POST['send']=='true'){
print_r($_FILES);
$type = $_FILES['file']['type'];
switch($type){
case 'image/jpeg':
$dfolder = 'jpg';
break;
case 'application/pdf';
$dfolder = 'pdf';
break;
case 'text/plain';
$dfolder = 'txt';
break;
}

mkdir($dfolder,0777);

if(move_uploaded_file($_FILES['file']['tmp_name'],$dfolder.'/'.$_FILES['file']['name'])){
echo 'upload success';
}
}else{
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>

<body>
<form name="form1" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="hidden" name="send" value="true">
<input type="submit" value="submit">
</form>
</body>
</html>
<? } ?>

Ⅲ 如何實現php上傳多個文件 - 技術問答

PHP不支持一個file表單一次上傳多個文件,所以需要寫很多個type為file的放在form表單下,但是名字要相同。用一個提交按鈕,然後循環出所有的文件逐個上傳。

Ⅳ php 上傳

php的文件上傳機制是把用戶上傳的文件保存在php.ini的upload_tmp_dir定義的臨時目錄(默認是系統的臨時目錄,如:/tmp)里的一個類似phpxXuoXG的隨機臨時文件,程序執行結束,該臨時文件也被刪除。PHP給上傳的文件定義了四個變數:(如form變數名是file,而且register_globals打開)

$file #就是保存到伺服器端的臨時文件(如/tmp/phpxXuoXG )

$file_size #上傳文件的大小

$file_name #上傳文件的原始名稱

$file_type #上傳文件的類型

推薦使用:

$_FILES['file']['tmp_name']

$_FILES['file']['size']

$_FILES['file']['name']

$_FILES['file']['type']

Ⅳ php如何實現文件上傳啊

PHP一般使用POST方法上傳文件,下面是一個簡單的文件上傳示例,裡面有相關的注釋:

up.htm文件:

----------

<html>

<head>

<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">

<title>UpSample</title>

</head>

<body>

<formaction="up.php"method="post"enctype="multipart/form-data">

<!--備注:表單中enctype="multipart/form-data"的意思,是設置表單的MIME編碼。默認情況,這個編碼格式是application/x-www-form-urlencoded,不能用於文件上傳;只有使用了multipart/form-data,才能完整的傳遞文件數據,進行下面的操作,並且method要設置為"post"-->

File:<br/>

<inputtype="file"name="upfile"size="30"><br/>

<!--上傳框要設置type="file"-->

<br/>

<inputtype="submit"value="Upload">

</form>

</body>

</html>

----------

up.php文件

----------

<?php

if(is_uploaded_file($_FILES["upfile"]["tmp_name"])){

//如果有文件上傳

//is_uploaded_file--判斷文件是否是通過HTTPPOST上傳的,返回布爾值

//$_FILES['upfilename']['...'],其中的'upfilename'即為上傳框的name屬性

//$_FILES['upfile']['tmp_name']--文件被上傳後在服務端儲存的臨時文件名,一般是系統默認

if(!eregi('pdf',$_FILES['upfile']['type'])){

//我們這里假設你要上傳一個pdf文件

//if(!eregi('pdf',$_FILES['upfile']['type']))這個是判斷上傳文件類型的,是不是pdf文件,當然,若是想判斷是否是jpg文件的話,將pdf改成jpg就可以了,即if(!eregi('jpg',$_FILES['upfile']['type']))

//$_FILES['upfile']['type']是文件的MIME類型,如果瀏覽器提供此信息的話。例如「image/gif」

echo'TheuploadedfileisnotanpdfFile!Pleaseuploadarightfile!';

}else{

$filename=$_FILES['upfile']['name'];

//$filename=$_FILES['upfile']['name'],這里是指定上傳後的文件名,這里使用的仍是原來的文件名字,($_FILES['upfile']['name']是原始文件的名字)

if(move_uploaded_file($_FILES["upfile"]["tmp_name"],dirname(__FILE__)."/upload_file/".$filename)){

//這里就是上傳文件

//dirname(__FILE__)."/upload_file/".$file_name--指定上傳的目標文件,假設你要上傳的目標文件夾upload_file是和當前文件(upload.php)在同一文件夾下

//chmod(dirname(__FILE__)."/upload_file/".$file_name,0444);

//上面注釋掉的是用來改變上傳後文件的屬性,444即只有執行和讀的許可權(看情況加上)

echo$_FILES["upfile"]["name"]."uploadedsucceed!!!";

}else{

echo"Can'tupload!!!";

}

}

}else{

echo"Fileisnotselected";

}

//需要注意的:

/*

在你的up.php同級目錄下建立upload_file文件夾,來存放上傳的文件

在上傳之前要看一下php的配置文件:php.ini中的三處設置

1.是否允許文件上傳:(file_uploads=On)

2.文件上傳的最大size:(upload_max_filesize)

3.post的最大size(post_max_size)這個大小設置成和uplod_max_filesize一樣大或比uplod_max_filesize大

*/

/*

這只是很簡單的一個文件上傳的例子,為了幫助理解,只是判斷了一下上傳文件的類型,還可以使用if語句來判斷上傳文件的大小($_FILES['upfile']['type'])),並進行提示控制等,相關可以查閱$_FILE['upfile']數組的各個值分別代表什麼

*/

?>

----------

可以看看php100裡面的視頻,其中一節就是介紹文件上傳的.:)

Ⅵ 求PHP 超大文件上傳解決方案:分片斷點上傳(一)

大文件上傳主要需要解決2個難點問題。
一個是文件的分片,一個是文件的合成。
也就是客戶端分片上傳,伺服器端量分片的文件進行合成。
文件分片,前端瀏覽器提供了分片的js函數,我們只需要調用即可。
文件上傳需要解決斷點續傳的問題,就是伺服器端需要保留和記錄每次上傳的分片,這樣可以通過順序進行文件合並。
斷點續傳是通過記錄上傳的信息,已上傳的切片不需要重復上傳,當全部切片上傳成功,伺服器端進行切片合並。

Ⅶ PHP圖片分段上傳如何實現

哦。

Ⅷ php超大文件上傳如何實現

  1. 超大是多大?

  2. 如果幾百M之內,可以通過修改php的配置文件來實現,網上很容易可以搜索到具體修改的值

  3. 不過,我更建議前端使用分段上傳的方式來實現,具體方法還是請搜索。

閱讀全文

與php分段上傳相關的資料

熱點內容
android伸縮控制項 瀏覽:851
androidm3u8緩存 瀏覽:234
imphp開源知乎 瀏覽:706
清除網路通配符dos命令 瀏覽:837
鴻蒙系統怎麼快速換回安卓 瀏覽:712
pdf綠色虛擬列印機 瀏覽:213
androidtab框架 瀏覽:147
java轉php的時間戳 瀏覽:639
編譯libstdc依賴 瀏覽:659
清演算法人與原法人的區別 瀏覽:410
家庭裝修下載什麼app軟體 瀏覽:575
美食博主用什麼app拍視頻 瀏覽:817
ipone手機如何加密微信 瀏覽:357
自來水加密閥閥帽 瀏覽:438
華為交換機dhcp配置命令 瀏覽:319
androidbitmap縮小 瀏覽:275
單片機串口控制燈 瀏覽:88
大訊雲伺服器安裝視頻 瀏覽:788
華為演算法領先世界 瀏覽:658
linux路由重啟 瀏覽:570