當涉及到實際儲存上傳檔案到伺服器,在伺服器端上傳指令碼將在後端處理所有的工作。這裡是一個位元的資訊,應該幫助建立一個自定義的伺服器端上傳指令碼在PHP中。
額外的資料可以傳遞到指令碼無論是作為查詢字串附加到上傳選項,或通過引數formdata選項。根據所設定的方法選項('POST'或'GET'),可以檢索使用$_POST或$_GET陣列中的伺服器端指令碼傳送的引數formdata選項的資訊。
當初始化Uploadify:
在伺服器端指令碼:
將上面的檔案儲存為不同名稱的檔案。 如果想傳遞在頁面上設定的上傳開始前的資訊,那麼最好使用 settings 方法在 onUploadStart 事件,這樣的引數 formdata 在檔案上傳前正確設定。
在uploadify.php指令碼返回的資料可通過 onUploadSuccess 事件作為第二個引數(資料)進行存取。
從uploadify.php檔案返回檔案名:
$targetFolder = '/uploads'; // Relative to the root if (!empty($_FILES)) { $tempFile = $_FILES['Filedata']['tmp_name']; $targetPath = $_SERVER['DOCUMENT_ROOT'] . $targetFolder; $targetFile = rtrim($targetPath,'/') . '/' . $_FILES['Filedata']['name']; // Validate the file type $fileTypes = array('jpg','jpeg','gif','png'); // File extensions $fileParts = pathinfo($_FILES['Filedata']['name']); if (in_array($fileParts['extension'],$fileTypes)) { move_uploaded_file($tempFile,$targetFile); echo $targetFolder . '/' . $_FILES['Filedata']['name']; } else { echo 'Invalid file type.'; } }
上傳返回撥用:
$('#file_upload').uploadify({ // Some options 'onUploadSuccess' : function(file, data, response) { alert('The file was saved to: ' + data); } });