茫茫網海中的冷日 - 對這文章發表回應
茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1729270 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
F09_070.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

對這文章發表回應

發表限制: 非會員 可以發表

發表者: 冷日 發表時間: 2012/11/12 10:41:25

如何使用jQuery File Upload‧將一堆檔案一次性上傳(upload)到網站內

之前一直尋找方法,不使用FTP的方式把檔案上傳到伺服器上。之前使用Java,以為是唯一的方法,直到今天找到這一個JQuery模組。

01. 在 AQUANTUM Demo Site下載jQuery File Upload Demo。

02. 解壓檔案至伺服器資料夾內。今次使用的是XAMPP伺服器(xampp\htdocs\)。

03. 為方便瀏覽,可把資料夾名稱(blueimp-jQuery-File-Upload-fa25106)更改為簡單的名稱(jQuery-File-Upload)。

04. 打開瀏覽器( http://localhost/jQuery-File-Upload/example/),會出現以下畫面。

05. 上傳檔案,測試程式是否正常。

06. 上傳檔案後,可在xampp\htdocs\jQuery-File-Upload\example\files資料夾內,找到上傳的檔案。

07. 如果只是上傳檔案到特定位置,來到這裡已經完成所有的工作。但今次的目的,是需要把不同的檔案,存放到不同的資料夾內。

08. 首先,假設其他不同的資料夾位置,與jQuery-File-Upload資料夾在同一層位置(xampp\htdocs\jQuery-File-Upload\example\other_folder)。

09. 將xampp\htdocs\jQuery-File-Upload\example資料夾下index.html檔案,更改為index.php檔案。

10. 編輯xampp\htdocs\jQuery-File-Upload\example資料夾index.php檔案。

在檔案最頭位置,新增以下內容:


<?php
if (isset($_POST["folder_name"]) && $_POST["folder_name"]!="") {
$folder=$_POST["folder_name"];
if (!file_exists(str_replace(basename(dirname(__FILE__)), 'other_folder', dirname(__FILE__)).'/'.$folder)) {
mkdir(str_replace(basename(dirname(__FILE__)), 'other_folder', dirname(__FILE__)).'/'.$folder, 0777);
}
$fp = fopen('folder_name.log','w');
fputs ($fp, $folder);
fclose ($fp);
echo '<p>Absoulte path: '.str_replace(basename(dirname(__FILE__)), 'other_folder', dirname(__FILE__)).'/'.$folder.'/</p>';
echo '<p>Relative apth: '.str_replace(basename(dirname(__FILE__)), 'other_folder', dirname($_SERVER['PHP_SELF'])).'/'.$folder.'/</p>';
?>

在以下位置:
<button type="button" class="delete">Delete files</button>
新增:
<a class="change" href="reset.php">Change folder</a>


在檔案最尾位置,新增以下內容:
<?php
} else {
echo '<html>';
echo '<head>';
echo '<title>Folder</title>';
echo '<style type="text/css">';
echo 'input {';
echo 'font-family: Arial;';
echo '}';
echo '.content_text {';
echo 'font-size: 10pt;';
echo 'color: #333;';
echo '}';
echo '</style>';
echo '</head>';
echo '<body>';
echo '<form name="titleform" method="post" action="'.$_SERVER['PHP_SELF'].'">';
echo '<p>Folder name: <input class="content_text" id="folder_name" name="folder_name" type="text" MAXLENGTH=50 size="30" /></p>';
echo '<input type="submit" value="Submit" />';
echo '<input type="reset" value="Reset" />';
echo '</body>';
echo '</html>';
}
?>

11. 編輯xampp\htdocs\jQuery-File-Upload\example資料夾style.css檔案。


新增以下內容:
.change {
float: right;
padding: 10px 0 0 0;
}

11. 編輯xampp\htdocs\jQuery-File-Upload\example資料夾upload.php檔案。

在以下位置:
function __construct($options=null) {
新增:
$fp = fopen('folder_name.log','r');
if ($fp) {
$folder = fgets($fp,4096);
}
fclose ($fp);

將:
'upload_dir' => dirname(__FILE__).'/files/',
'upload_url' => dirname($_SERVER['PHP_SELF']).'/files/',
更改為:
'upload_dir' => str_replace(basename(dirname(__FILE__)), 'other_folder', dirname(__FILE__)).'/'.$folder.'/',
'upload_url' => str_replace(basename(dirname(__FILE__)), 'other_folder', dirname($_SERVER['PHP_SELF'])).'/'.$folder.'/',

為避免上傳惡意程式,將:
'accept_file_types' => '/.+$/i',
更改為只限制上傳圖檔:
'accept_file_types' => '/(jpg)|(gif)|(png)$/i',


因應不需要存放縮圖圖檔,將:
'thumbnail' => array(
'upload_dir' => dirname(__FILE__).'/thumbnails/',
'upload_url' => dirname($_SERVER['PHP_SELF']).'/thumbnails/',
'max_width' => 80,
'max_height' => 80
)
更改為:
/*
'thumbnail' => array(
'upload_dir' => dirname(__FILE__).'/thumbnails/',
'upload_url' => dirname($_SERVER['PHP_SELF']).'/thumbnails/',
'max_width' => 80,
'max_height' => 80
)
*/

12. 在xampp\htdocs\jQuery-File-Upload\example資料夾下,新增reset.php檔案。

<?php
unset($_POST["updateverifycode"]);
unset($_POST["folder_name"]);
header("location: index.php");
?>

13. 打開瀏覽器( http://localhost/jQuery-File-Upload/example/index.php),會要求輸入資料夾名稱。

14. 上傳檔案,再到相關資料夾,檢查檔案是否已成功上傳。

附加檔案大小
blueimp-jQuery-File-Upload-fa25106.zip33.99 KB

原文出處: 如何使用jQuery File Upload‧將一堆檔案一次性上傳(upload)到網站內 | Knowledge base
內容圖示
url email imgsrc image code quote
樣本
bold italic underline linethrough   












 [詳情...]
validation picture

注意事項:
預覽不需輸入認證碼,僅真正發送文章時才會檢查驗證碼。
認證碼有效期10分鐘,若輸入資料超過10分鐘,請您備份內容後,重新整理本頁並貼回您的內容,再輸入驗證碼送出。

選項

Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|