PHP這裡我用的是YII架構,應該沒什麼影響
/* Uploadify 幕後處理方法 */public function actionuploadify(){//設定上傳目錄$path = "./uplode/video/"; //這裡$_FILES為空白if (!empty($_FILES)) {//得到上傳的臨時檔案流$tempFile = $_FILES['Filedata']['tmp_name'];//允許的檔案尾碼$fileTypes = array('avi','rmvb','mpg','wav');//得到檔案原名$fileName = iconv("UTF-8","GB2312",$_FILES["Filedata"]["name"]);$fileParts = pathinfo($_FILES['Filedata']['name']);//接受動態傳值$files=$_POST['typeCode'];//最後儲存伺服器位址if(!is_dir($path))mkdir($path);//判斷singerInfo檔案是否存在且不為空白 $this->getSingFile();if (move_uploaded_file($tempFile, $path.$fileName)){$myfile = explode(".",$fileName);$sql = $this->getfile($myfile[0],1);if ($sql){//songandSinger文檔插入$songSingerFile = "./uplode/image/songSinger.txt";$this->getSongFile($myfile[0],$songSingerFile,"dSongAndSinger","kSingerID");//songandType文檔插入$songTypeFile = "./uplode/image/songType.txt";$this->getSongFile($myfile[0],$songTypeFile,"dSongAndType","kSongTypeID");//songandStyle文檔插入$songStyleFile = "./uplode/image/songStyle.txt";$this->getSongFile($myfile[0],$songStyleFile,"dSongAndStyle","kSongStyleID");echo $fileName."檔案上傳成功,資料上傳成功!";}else{echo $fileName."檔案上傳成功,資料上傳失敗!";}//}else{echo $fileName."上傳失敗!";}}}
下面是html代碼,上傳a標籤
上傳
處理上傳的js代碼
回複討論(解決方案)
要確定檔案路徑是否有上傳許可權
檔案路徑有上傳許可權,我反覆看了的
js 代碼部分要用瀏覽器中看到的
這樣才能判定問題所在
另外,參數中要加上 debug:true, 這一項
catch下失敗原因,列印出來看看。
剛剛加了這句話,js沒有報錯,後台PHP中print_r($_FILES);array沒有任何資料,不知道從哪裡查起,其中發現jquery.uploadify-3.1.min.js這個裡面是擷取檔案資訊並且傳到背景,不知道頁面上是哪個去觸發上傳動作擷取檔案資訊
js 代碼部分要用瀏覽器中看到的
這樣才能判定問題所在
另外,參數中要加上 debug:true, 這一項
加了但是用Firefox看沒有報錯,只是$_FILES為空白
$_FILES為空白?
這是因為你的上傳檔案大於 php 設定的表單大小 post_max_size
actionuploadify
方法名
actionUploadify
我記得是要大些的。
是post_max_size和上傳檔案大小這兩個地方,其他的地方沒問題,謝謝!
$_FILES為空白?
這是因為你的上傳檔案大於 php 設定的表單大小 post_max_size