導航:首頁 > 編程語言 > php文件上傳下載系統

php文件上傳下載系統

發布時間:2022-11-12 18:19:32

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

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

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

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

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

㈡ php製作文件上傳系統需要另外安裝東西嗎

asp 需要fso支持。對asp的知道點皮毛。

php不需要安裝組件,內置的幾個函數就搞定了。
前端:
<form action="upload.php" enctype="multipart/form-data" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000"/>
<input name="file" type="file" id="file" class="upload"/>
<input type="submit" name="Submit" value="<?=$lang["submit"]?>" style="border:1px #999999 solid;vertical-align:middle;height:18px"/>
</form>
提交處理:
move_uploaded_file($_FILES['file']['tmp_name'],$uploadfile);

㈢ 求實現php文件上傳代碼

PHP上傳文件非常簡單,你需要一個上傳的HTML文件(<FORM>),一個保存文件的PHP文件(保存),一個查詢上傳文件清單的工具。

真正實現完整功能的上傳和管理需要使用資料庫,我的網站俱樂部裡面上傳文件一開放很快就傳了幾萬個文件。

最簡單的方法不用資料庫,可以用一個PHP文件實現,這個文件列出指定目錄下的所有文件,然後提供一個上傳的FORM,最後檢測是否提交了FORM數據,是就保存文件到指定位置。

PHP手冊第39章有關於處理這些問題的說明,我復制粘貼如下:


上一頁V.特點下一頁

--------------------------------------------------------------------------------

第39章文件上傳處理
目錄
POST方法上傳
錯誤信息說明
常見缺陷
上傳多個文件
對PUT方法的支持
POST方法上傳
本特性可以使用戶上傳文本和二進制文件。用PHP的認證和文件操作函數,可以完全控制允許哪些人上傳以及文件上傳後怎樣處理。

PHP能夠接受任何來自符合RFC-1867標準的瀏覽器(包括NetscapeNavigator3及更高版本,打了補丁的MicrosoftInternetExplorer3或者更高版本)上傳的文件。

相關的設置:請參閱php.ini的file_uploads,upload_max_filesize,upload_tmp_dirpost_max_size以及max_input_time設置選項。

請注意PHP也支持PUT方法的文件上傳,NetscapeComposer和W3C的Amaya客戶端使用這種方法。請參閱對PUT方法的支持以獲取更多信息。

例39.1.文件上傳表單

可以如下建立一個特殊的表單來支持文件上傳:<!--Thedataencodingtype,enctype,MUSTbespecifiedasbelow-->
<formenctype="multipart/form-data"action="__URL__"method="POST">
<!--MAX_FILE_-->
<inputtype="hidden"name="MAX_FILE_SIZE"value="30000"/>
<!--$_FILESarray-->
Sendthisfile:<inputname="userfile"type="file"/>
<inputtype="submit"value="SendFile"/>
</form>


以上範例中的__URL__應該被換掉,指向一個真實的PHP文件。

MAX_FILE_SIZE隱藏欄位(單位為位元組)必須放在文件輸入欄位之前,其值為接收文件的最大尺寸。這是對瀏覽器的一個建議,PHP也會檢查此項。在瀏覽器端可以簡單繞過此設置,因此不要指望用此特性來阻擋大文件。實際上,PHP設置中的上傳文件最大值是不會失效的。但是最好還是在表單中加上此項目,因為它可以避免用戶在花時間等待上傳大文件之後才發現文件過大上傳失敗的麻煩。

注意:要確保文件上傳表單的屬性是enctype="multipart/form-data",否則文件上傳不了。

全局變數$_FILES自PHP4.1.0起存在(在更早的版本中用$HTTP_POST_FILES替代)。此數組包含有所有上傳的文件信息。

以上範例中$_FILES數組的內容如下所示。我們假設文件上傳欄位的名稱如上例所示,為userfile。名稱可隨意命名。

$_FILES['userfile']['name']
客戶端機器文件的原名稱。

$_FILES['userfile']['type']
文件的MIME類型,如果瀏覽器提供此信息的話。一個例子是「image/gif」。不過此MIME類型在PHP端並不檢查,因此不要想當然認為有這個值。

$_FILES['userfile']['size']
已上傳文件的大小,單位為位元組。

$_FILES['userfile']['tmp_name']
文件被上傳後在服務端儲存的臨時文件名。

$_FILES['userfile']['error']
和該文件上傳相關的錯誤代碼。此項目是在PHP4.2.0版本中增加的。

文件被上傳後,默認地會被儲存到服務端的默認臨時目錄中,除非php.ini中的upload_tmp_dir設置為其它的路徑。服務端的默認臨時目錄可以通過更改PHP運行環境的環境變數TMPDIR來重新設置,但是在PHP腳本內部通過運行putenv()函數來設置是不起作用的。該環境變數也可以用來確認其它的操作也是在上傳的文件上進行的。

例39.2.使文件上傳生效

請查閱函數is_uploaded_file()和move_uploaded_file()以獲取進一步的信息。以下範例處理由表單提供的文件上傳。

<?php
//InPHPversionsearlierthan4.1.0,$HTTP_POST_FILESshouldbeusedinstead
//of$_FILES.

$uploaddir='/var/www/uploads/';
$uploadfile=$uploaddir.basename($_FILES['userfile']['name']);

echo'<pre>';
if(move_uploaded_file($_FILES['userfile']['tmp_name'],$uploadfile)){
echo"Fileisvalid,andwassuccessfullyuploaded.\n";
}else{
echo"Possiblefileuploadattack!\n";
}

echo'Hereissomemoredebugginginfo:';
print_r($_FILES);

print"</pre>";

?>

接受上傳文件的PHP腳本為了決定接下來要對該文件進行哪些操作,應該實現任何邏輯上必要的檢查。例如可以用$_FILES['userfile']['size']變數來排除過大或過小的文件,也可以通過$_FILES['userfile']['type']變數來排除文件類型和某種標准不相符合的文件,但只把這個當作一系列檢查中的第一步,因為此值完全由客戶端控制而在PHP端並不檢查。自PHP4.2.0起,還可以通過$_FILES['userfile']['error']變數來根據不同的錯誤代碼來計劃下一步如何處理。不管怎樣,要麼將該文件從臨時目錄中刪除,要麼將其移動到其它的地方。

如果表單中沒有選擇上傳的文件,則PHP變數$_FILES['userfile']['size']的值將為0,$_FILES['userfile']['tmp_name']將為空。

如果該文件沒有被移動到其它地方也沒有被改名,則該文件將在表單請求結束時被刪除。

例39.3.上傳一組文件

PHP的HTML數組特性甚至支持文件類型。

<formaction=""method="post"enctype="multipart/form-data">
<p>Pictures:
<inputtype="file"name="pictures[]"/>
<inputtype="file"name="pictures[]"/>
<inputtype="file"name="pictures[]"/>
<inputtype="submit"value="Send"/>
</p>
</form>


<?php
foreach($_FILES["pictures"]["error"]as$key=>$error){
if($error==UPLOAD_ERR_OK){
$tmp_name=$_FILES["pictures"]["tmp_name"][$key];
$name=$_FILES["pictures"]["name"][$key];
move_uploaded_file($tmp_name,"data/$name");
}
}
?>

--------------------------------------------------------------------------------
上一頁上一級下一頁
38.處理XForms起始頁錯誤信息說明

㈣ 怎樣把下載的PHP建站系統上傳到區域網上的WEB伺服器上

1、區域網與互聯網沒有區別,是一樣的操作,最多就是區域網只可以使用IP,不能使用域名。

2、安好就夠了。

3、用FTP可以,直接用U盤拷貝過去也可以。把PHP文件拷貝到WEB伺服器網站主目錄下,資料庫需要進行導入,或者拷貝到MYSQL\DATA文件夾下,打開你下載的壓縮包,裡面應該有說明。

㈤ php如何將上傳的文件下載到本地指定目錄下

出於安全考慮,瀏覽器對本地文件是沒有任何操作選擇,所以下載時只能人為選擇存放路徑。可以考慮使用控制項來實現

㈥ 求php怎麼實現web端上傳超大文件

加大PHP上傳文件大小的限制,是通過修改PHP.INI文件來實現,但是這個支持是有限度的,因為WEB協議本為下載而生,超大文件的上傳是FTP的專利。

PHP用超級全局變數數組$_FILES來記錄文件上傳相關信息的。

1.file_uploads=on/off
是否允許通過http方式上傳文件
2.max_execution_time=30
允許腳本最大執行時間,超過這個時間就會報錯
3.memory_limit=50M
設置腳本可以分配的最大內存量,防止失控腳本佔用過多內存,此指令只有在編譯時設置了
--enable-memory-limit標志的情況下才生效
4.upload_max_filesize=20M
允許上傳文件的最大大小,此指令必須小於post_max_size
5.upload_tmp_dir
上傳文件臨時存放目錄
6.post_max_size=30M
允許post方式可以接受最大大小
$_FILES['myFile']['name'] 客戶端上次文件的原始名稱。
$_FILES['myFile']['type'] 文件的 MIME 類型,需要瀏覽器提供該信息的支持,例如"image/gif"。
$_FILES['myFile']['size'] 已上傳文件的大小,單位為位元組。
$_FILES['myFile']['tmp_name'] 文件被上傳後在服務端儲存的臨時文件名,一般是系統默認。可以在php.ini的upload_tmp_dir 指定,但 用 putenv() 函數設置是不起作用的。
$_FILES['myFile']['error'] 和該文件上傳相關的狀態碼。['error'] 是在 PHP 4.2.0 版本中增加的。下面是它的說明:(它們在PHP3.0以後成了常量)
UPLOAD_ERR_OK
值:0; 沒有錯誤發生,文件上傳成功。
UPLOAD_ERR_INI_SIZE
值:1; 上傳的文件超過了 php.ini 中 upload_max_filesize 選項限制的值。
UPLOAD_ERR_FORM_SIZE
值:2; 上傳文件的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值。
UPLOAD_ERR_PARTIAL
值:3; 文件只有部分被上傳。
UPLOAD_ERR_NO_FILE
值:4; 沒有文件被上傳。
值:5; 上傳文件大小為0.
文件被上傳結束後,默認地被存儲在了臨時目錄中,這時您必須將它從臨時目錄中刪除或移動到其它地方,如果沒有,則會被刪除。
也就是不管是否上傳成功,腳本執行完後臨時目錄里的文件肯定會被刪除。
附:修改PHP上傳文件大小限制的方法
1. 一般的文件上傳,除非文件很小.就像一個5M的文件,很可能要超過一分鍾才能上傳完.
但在php中,默認的該頁最久執行時間為 30 秒.就是說超過30秒,該腳本就停止執行.
這就導致出現 無法打開網頁的情況.這時我們可以修改 max_execution_time
在php.ini里查找
max_execution_time
默認是30秒.改為
max_execution_time = 0
0表示沒有限制
2. 修改 post_max_size 設定 POST 數據所允許的最大大小。此設定也影響到文件上傳。
php默認的post_max_size 為2M.如果 POST 數據尺寸大於 post_max_size $_POST 和 $_FILES superglobals 便會為空.
查找 post_max_size .改為
post_max_size = 150M
3. 很多人都會改了第二步.但上傳文件時最大仍然為 8M.
為什麼呢.我們還要改一個參數upload_max_filesize 表示所上傳的文件的最大大小。
查找upload_max_filesize,默認為8M改為
upload_max_filesize = 100M
另外要說明的是,post_max_size 大於 upload_max_filesize 為佳.

㈦ php連接ftp下載或上傳文件

$conn_id = ftp_connect('localhost') or die('can\'t connect to ftp');

// login with username and password
$login_result = @ftp_login($conn_id, $ftpname, $ftppass);

// check connection
if ((!$conn_id) || (!$login_result)) {
echo '連接出錯';
exit;
}
//$path 路徑$fliename文件名多個文件上傳
$dir=ftp_chdir($conn_id,$filename);//上傳目錄
$Name=array_filter(explode('|',$fliename));
foreach ($Name as $key=>$val){
ftp_put($conn_id, $val, $path.$val, FTP_BINARY)or die('上傳失敗!');
}

ftp_close($conn_id);

㈧ php 上傳文件類

<?php
/*
* -------------------------------------------------
* @file : File.class.php
* @function : 文件相關的類
* @link : 星模PHP培訓 www.xingmo.com
* @right : 2002-2009 Xingmo Inc
* @author : Kuai Yigang <KuaiYigang#xingmo.com>
* @date : 2005-3-25
* @update : 2010/1/30
* -------------------------------------------------
*/
class Files
{
/**
* 將上傳文件轉移到指定位置
*
* @param string $file_name
* @param string $target_name
* @return blog
*/
public function move_uploaded_file($file_name, $target_name = '')
{
if (function_exists("move_uploaded_file"))
{
if (move_uploaded_file($file_name, $target_name))
{
return true;
}
else
{
if (($file_name, $target_name))
{
return true;
}
else
{
return false;
}
}

}
else
{
if (($file_name, $target_name))
{
return true;
}
else
{
return false;
}
}
return false;
}

/******************************************
*函數:upload($fileArray,$uploaddir,$filename)
*作用:上傳文件函數
*輸入:$_FILES['userfile'],$uploaddir,$filename(不帶後綴)
*輸出:$fullname(整個文件名)
**
******************************************
*--製作--日期--
*[email protected] 2004-06-22 23:00
******************************************
*--修改--日期--目的--
*
*/
//有待修改,加上
public function upload($fileArray, $uploaddir, $filename)
{
//取得文件後綴
$suffix = $this->getExt($fileArray['name']);

//文件及路徑
if(!file_exists($uploaddir))
{
$this->mkdirAll($uploaddir,0777);
}
//chmod($uploaddir,0777);

$fullname = $filename.".".$suffix;
$uploadfile = $uploaddir.'/'.$fullname;
if($this->move_uploaded_file($fileArray['tmp_name'], $uploadfile))
{
return $fullname;
}
else
{
return false;
}
}

/******************************************
*函數:getExt($file)
*作用:取得文件後綴
*輸入:文件名,$_FILES['userfile']['name']
*輸出:$ext(文件後綴)
**
******************************************
*--製作--日期--
*[email protected] 2004-12-19 14:08
******************************************
*--修改--日期--目的--
*
*/
public function getExt($file, $type=1)
{
if($type == 1)
{
$temp = explode('.', $file);
$ext = strtolower(array_pop($temp));//strtolower()轉換成小寫字元串 array_pop()將數組最後一個單元彈出
}
else if($type==2)
{
$ext = strtolower(end(explode('.', $file)));
}
else if($type==3)
{
$ext = strtolower(pathinfo($file, PATHINFO_EXTENSION));
}
else
{
$ext = strtolower(substr($file, strrpos($file, '.')+1));
}
return $ext;

//如果是圖片,可以用getimagesize()
}

/******************************************
*函數:mkdirAll($filepath)
*作用:檢查是否存在一個目錄,如果不存在則創建之
*輸入:$filepath(目錄路徑,如$UPLOAD.'/1/2/3/4')
*輸出:true OR false
**
******************************************
*--製作--日期--
*[email protected] 2005-5-23
******************************************
*--修改--日期--目的--
*
*/
public function mkdirAll($filepath)
{
$temp = explode('/', $filepath);
$path = $temp[0].'/';
for($i=1; $i<count($temp); $i++)//count計算數組中的單元數目或對象中的屬性個數

{
$path .= $temp[$i].'/';
if(!file_exists($path))//file_exists()檢查文件和目錄是否存在,存在返回true
{
mkdir($path, 0777);
chmod($path, 0777);//chmod改變文件模式
}
}
return (file_exists($filepath)) ? true : false;
}

/******************************************
*函數:checkPhoto
*作用:檢查是否可以上傳上的圖片
*輸入:$fileArray:$_FILES['file']
*輸出:true OR false
**
******************************************
*--製作--日期--
*[email protected] 2005-5-30
******************************************
*--修改--日期--目的--
*
*/
public function checkPhoto($fileArray)
{
return (strtolower($this->getExt($fileArray['name'])) == 'jpg' || strtolower($this->getExt($fileArray['name'])) == 'jpeg' || strtolower($this->getExt($fileArray['name'])) == 'gif' || strtolower($this->getExt($fileArray['name'])) == 'png') ? true :false;
}

/******************************************
*函數:checkFlash
*作用:檢查是否可以上傳的flash
*輸入:$fileArray:$_FILES['file']
*輸出:true OR false
**
******************************************
*--製作--日期--
*[email protected] 2005-6-2
******************************************
*--修改--日期--目的--
*
*/
public function checkFlash($fileArray)
{
return (strtolower($this->getExt($fileArray['name'])) == 'swf') ? true :false;
}

/******************************************
*函數:uploadPhoto
*作用:上傳圖片(限制了上傳時文件的大小及上傳後存在伺服器上的文件大小,上傳後存在一個臨時目錄)
*輸入:$fileArray:$_FILES['file'],$TempDir:上傳後存放的臨時目錄,$filename:上傳後存放在伺服器上的文件名(不帶後綴),$MaxUpload:最大可上傳的文件大小,$MaxSave:最大在伺服器上存放的大小
*輸出:'true|文件名' OR 'false'
**
******************************************
*--製作--日期--
*[email protected] 2006-4-21
******************************************
*--修改--日期--目的--
*
*/
//俱樂部中使用
public function uploadPhoto($fileArray, $TempDir, $filename, $MaxUpload, $MaxSave, $SmallWidth, $SmallHeight)
{
require 'Image.class.php';
$Image = new Image;
if($fileArray['error'] == 1)
{
return 'false|上傳的文件過大';
}
elseif($fileArray['error'] == 0)
{
//return 'false|上傳的文件過大';
}
else
{
return 'false|上傳失敗';
}
if($fileArray['size'] <= $MaxSave)
{
$fullname = $this->upload($fileArray,$TempDir,$filename);
if($fullname)
{
$SmallPicName = $this->getSmallPicName($fullname, $SmallWidth, $SmallHeight);//小圖片的高、寬
$Image->Resize($TempDir.'/'.$fullname, $TempDir.'/'.$SmallPicName, $SmallWidth, $SmallHeight);

return 'true|'.$fullname.'|'.$SmallPicName;
}
else
{
return 'false|上傳失敗';
}
}
if(($fileArray['size'] > $MaxSave) && (filesize($fileArray['tmp_name']) <= $MaxUpload))
{
$fullname = $this->upload($fileArray,$TempDir,$filename);
if($fullname)
{
$Image->Resize($TempDir.'/'.$fullname, $TempDir.'/'.$fullname, '1024', '768');
if(filesize($TempDir.'/'.$fullname) <= $MaxSave)
{
$SmallPicName = $this->getSmallPicName($fullname, $SmallWidth, $SmallHeight);//小圖片的高、寬
$Image->Resize($TempDir.'/'.$fullname, $TempDir.'/'.$SmallPicName, $SmallWidth, $SmallHeight);

return 'true|'.$fullname.'|'.$SmallPicName;
}
else
{
$Image->Resize($TempDir.'/'.$fullname, $TempDir.'/'.$fullname, '800', '600');
if(filesize($TempDir.'/'.$fullname) <= $MaxSave)
{
$SmallPicName = $this->getSmallPicName($fullname, $SmallWidth, $SmallHeight);//小圖片的高、寬
$Image->Resize($TempDir.'/'.$fullname, $TempDir.'/'.$SmallPicName, $SmallWidth, $SmallHeight);

return 'true|'.$fullname.'|'.$SmallPicName;
}
else
{
$Image->Resize($TempDir.'/'.$fullname, $TempDir.'/'.$fullname, '600', '480');
if(filesize($TempDir.'/'.$fullname) <= $MaxSave)
{
$SmallPicName = $this->getSmallPicName($fullname, $SmallWidth, $SmallHeight);//小圖片的高、寬
$Image->Resize($TempDir.'/'.$fullname, $TempDir.'/'.$SmallPicName, $SmallWidth, $SmallHeight);

return 'true|'.$fullname.'|'.$SmallPicName;
}
else
{
return 'false|上傳的文件過大';
}
}
}
}
else
{
return 'false|上傳失敗';
}

}
if($fileArray['size'] > $MaxUpload)
{
return 'false|上傳的文件過大';
}

}

//某社區中使用
public function uploadPhoto2($fileArray, $TempDir, $filename, $MaxUpload, $MaxSave)
{
require_once 'Image.class.php';
$Image = new Image;
$Photo = array();
if($fileArray['error'] == 1)
{
return false;
}
elseif($fileArray['error'] == 0)
{
}
else
{
return false;
}
if($fileArray['size'] <= $MaxSave)
{
$fullname = $this->upload($fileArray,$TempDir,$filename);
$Exif = new Exif($TempDir.'/'.$fullname);//2006-8-8增加
$Photo[0] = $Exif->getImageInfo();//2006-8-8增加
if($fullname)
{
$Photo[1] = $fullname;//2006-8-8增加
$Photo = serialize($Photo);//2006-8-8增加
return $Photo;//2006-8-8修改
}
else
{
return false;
}
}
if(($fileArray['size'] > $MaxSave) && (filesize($fileArray['tmp_name']) <= $MaxUpload))
{
$fullname = $this->upload($fileArray,$TempDir,$filename);
$Exif = new Exif($TempDir.'/'.$fullname);//2006-8-8增加
$Photo[0] = $Exif->getImageInfo();//2006-8-8增加

if($fullname)
{
$Image->Resize($TempDir.'/'.$fullname, $TempDir.'/'.$fullname, '1024', '768');
clearstatcache();
if(filesize($TempDir.'/'.$fullname) <= $MaxSave)
{
$Photo[1] = $fullname;//2006-8-8增加
$Photo = serialize($Photo);//2006-8-8增加
return $Photo;//2006-8-8修改
}
else
{
$Image->Resize($TempDir.'/'.$fullname, $TempDir.'/'.$fullname, '800', '600');
clearstatcache();
if(filesize($TempDir.'/'.$fullname) <= $MaxSave)
{

$Photo['FullName'] = $fullname;//2006-8-8增加
$Photo = serialize($Photo);//2006-8-8增加
return $Photo;//2006-8-8修改
}
else
{
$Image->Resize($TempDir.'/'.$fullname, $TempDir.'/'.$fullname, '600', '480');
clearstatcache();
if(filesize($TempDir.'/'.$fullname) <= $MaxSave)
{
$Photo[1] = $fullname;//2006-8-8增加
$Photo = serialize($Photo);//2006-8-8增加
return $Photo;//2006-8-8修改
}
else
{
return false;
}
}
}
}
else
{
return false;
}

}
if($fileArray['size'] > $MaxUpload)
{
return false;
}

}

//得到縮小後的圖片的名稱,比如原文件是123.gif,縮小到100*50後的文件名是123_100_50.gif
public function getSmallPicName($filename, $width, $height)
{
$full_length = strlen($filename);
$type_length = strlen($this->getExt($filename));
$name_length = $full_length-$type_length;
$name = substr($filename,0,$name_length-1);
return $name."_".$width."_".$height.".".$this->getExt($filename);
}

//下載文件,$FilePath:文件路徑,$FileName:文件名稱
public function download($FilePath, $FileName, $type=1)
{
if($type == 1)
{
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header( "Content-Disposition: attachment; filename=".$FileName);
header( "Content-Description: File Transfer");
@readfile($FilePath);
}
if($type == 2)
{
$filesize = filesize($FilePath);
$imagesize = getimagesize($FilePath);
$filetype = $imagesize['mime'];
ob_end_clean();
header('Cache-control: max-age=31536000');
header('Expires: '.gmdate('D, d M Y H:i:s', time() + 31536000).' GMT');
header('Content-Encoding: none');
header('Content-Disposition: attachment; filename='.$FileName);
header('Content-Type: '.$filetype);
@$fp = fopen($FilePath, 'rb');
@flock($fp, 2);
$file = @fread($fp, $filesize);
@fclose($fp);
echo $file;
}
}

//查看圖片,$FilePath:文件路徑
public function displayPic($FilePath, $type=2)
{
if($type == 1)
{
$imagesize = getimagesize($FilePath);
$filetype = $imagesize['mime'];
header('Content-Type: '.$filetype);
$pic = file_get_contents($FilePath);
echo $pic;
flush();
}
if($type == 2)
{
$imagesize = getimagesize($FilePath);
$filetype = $imagesize['mime'];
$filesize = filesize($FilePath);
//ob_end_clean();
//header('Cache-control: max-age=31536000');
//header('Expires: '.gmdate('D, d M Y H:i:s', time() + 31536000).' GMT');
//header('Content-Encoding: none');
//header('Content-Disposition: attachment; filename='.$attach['filename']);
header('Content-Type: '.$filetype);
@$fp = fopen($FilePath, 'rb');
@flock($fp, 2);
$pic = @fread($fp, $filesize);
@fclose($fp);
echo $pic;
}
}

//下載網路上的文件,保存在本地
//從遠端取得文件,保存在本地硬碟c:目錄下
//curl_download("http://www.xingmo.com.cn/logo.gif", "20090831.gif");
function curl_download($remote, $local)
{
$cp = curl_init($remote);
$fp = fopen($local, "w");

//curl_setopt($cp, CURLOPT_URL, $remote);
curl_setopt($cp, CURLOPT_FILE, $fp); //設置了curl要寫入的本地文件
//curl_setopt($cp, CURLOPT_HEADER, false); //不輸出head信息

curl_exec($cp);
curl_close($cp);
fclose($fp);
}

}
?>

㈨ php的move_uploaded_file上傳中文文件有時會失敗

move_uploaded_file上傳文件出錯方式有很多,比如文件過大,比如上傳文件夾無寫許可權,比如文件格式限制,你使用print_r(FILE)把上傳文件的所有信息列印出來看看。看看錯過碼,找到錯誤就能定位!

㈩ PHP項目如何上傳到伺服器

用FTP上傳工具上傳即可。這里以8UFTP軟體為例:

1、下載安裝FTP軟體,輸入伺服器IP地址,FTP的用戶名和密碼進行連接。

閱讀全文

與php文件上傳下載系統相關的資料

熱點內容
phpmysql自增 瀏覽:164
把ppt保存為pdf 瀏覽:533
汽車密封件加密配件 瀏覽:887
黑馬程序員15天基礎班 瀏覽:560
java調整格式 瀏覽:521
香港雲伺服器租用價 瀏覽:78
linuxsublime3 瀏覽:560
imac混合硬碟命令 瀏覽:277
沈陽用什麼app租房車 瀏覽:857
00後高中生都用什麼app 瀏覽:237
戴爾塔式伺服器怎麼打開獨立顯卡 瀏覽:807
醫療程序員招聘 瀏覽:597
住宿app可砍價是什麼意思 瀏覽:133
java跳出語句 瀏覽:55
javastring個數 瀏覽:928
人工免疫演算法應用 瀏覽:79
有什麼app能收聽俄羅斯廣播電台 瀏覽:34
2015考研紅寶書pdf 瀏覽:443
程序員幾月跳槽合適 瀏覽:444
液壓油可壓縮嗎 瀏覽:946