首頁  >  文章  >  後端開發  >  用PHP實作檔案上傳二法_PHP教程

用PHP實作檔案上傳二法_PHP教程

WBOY
WBOY原創
2016-07-21 16:10:23806瀏覽


PHP(Hypertext Preprocessor)是一種 HTML 內嵌式的語言 (類似 IIS上的ASP)。而 PHP 獨特的語法則混合了 C、Java、Perl 以及 PHP 式的新語法。它可以比 CGI 或 Perl更快速的執行動態網頁。除此之外,用 PHP 寫出來的 Web 後端CGI 程序,可以很輕易的移植到不同的系統平台。

我們在做網站時,需要訪客的參於才能將網站建設得更加引人注目,這就要求我們從訪客那裡得到文章、圖片等。因此,文件上傳成為網頁中不可或缺的功能。現在我就利用現在流行的程式語言PHP,用兩種方法來說明其功能的實作。

一、利用php的文件函數來實作上傳
這段程式碼分成兩個文件,一個為upload.html,一個是upload.php。

上傳檔案選擇:upload.html 程式碼如下:

上載檔案表單







請選擇檔案:














*** 說明***

1、請注意
這是一個標籤,我們要實作檔案的上傳,必須指定為multipart /form-data ,否則伺服器將不知道你在幹嘛!

2、值得注意的是檔案upload.html中表單選項 MAX_FILE_SIZE 的隱藏值域,透過設定

其Value(值)可以限制上載檔案的大小。

處理剛上傳的檔案:upload.php 程式碼如下:





處理上載檔案







copy($userfile,"newfile");

echo $userfile." -使用者上傳到伺服器上的檔案暫時存放的名稱
";

echo $userfile_name."-在使用者機器上該檔案的原始名稱
";

echo $userfile_size."-上傳檔案的實際位元組數
";

echo $userfile_type."-如果使用者的瀏覽器提供了這個資訊的話,它表示mime的類型。例如image/gif
";

?>






*** 說明 ***

1、使用了PHP檔案函數copy()將上載到臨時目錄下的檔案拷貝到一個特定的目錄下,並重新命名為"newfile"。

2、在upload.html中定義了一個變數userfile,在upload.php中,我們就可以使用這個變量,直接透過$userfile存取上載的文件,但由於這是一個儲存檔案的變數,因此檔案名稱必須透過另一個$userfile_name變數取得。

以下是這個變數的具體用法:

$userfile:在將要存放上載檔案的伺服器上的臨時檔案名稱。

$userfile_name:在傳送者係統中的初始檔案名稱。

$userfile_size:按位元組計算的上載檔案的大小。

$userfile_type:多用途網際郵件擴充協定類型的文件,前提是瀏覽器提供這種訊息,比如說「image/gif"。



二、利用FTP功能進行文件上傳
這段程式碼同樣分為兩個文件,一個為upload.php,一個是ftp.php。

設定ftp的相關選項及選擇上傳檔案名稱:upload.php 程式碼如下:


$username="使用者名稱";

$password="使用者密碼";

$server="主機名稱";

$cdir="上傳目錄名稱" ;

//以上設定你的FTP主機名稱、用戶姓名和使用者密碼

?>







>

>

>

>





















上傳檔案選擇








處理上傳檔案:ftp.php 程式碼如下:


//ftp聯接主機函數

function connect()

{
function connect()

{
{

global $server, $username, $password;

$conn = ftp_connect($server);

ftp_login($conn, $username, $password)
;
return $conn;

}

//建立ftp聯接

$result = connect();

if ($action == "上傳")

{

//用來改變ftp路徑

ftp_chdir($result, $cdir);

//用來上傳指定的文件,同名並以二進制位傳遞

$res_code = ftp_put($result, $upfile_name, $upfile, FTP_BINARY);

// 判斷是否正確上傳

if ($res_code == 1)

echo "上傳成功!";

else

echo "上傳錯誤!";

}

// 關閉聯結

ftp_quit($result);

?>


*** 說明***

函數ftp_put(int ftp_stream, string remote_file, string local_file, int mode)用法
傳回值: 布林值

http://www.bkjia.com/PHPjc/314237.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/314237.htmlTechArticle

PHP(Hypertext Preprocessor)是一種HTML 內嵌式的語言(類似IIS上的ASP)。而 PHP 獨特的語法則混合了 C、Java、Perl 以及 PHP 式的新語法。它可以比 CGI 或...
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn