2010-08-08 45 views
0

我上傳file = Plupload。我檢查變量$_FILES$_POST$this->data,一切都是空的,!isset 請幫我cakePHP或PHP與Plupload

function mod_uploadImg($id = null){ 
     if (!$id){ 
       return false; 
     } 
     if (!empty($_POST)){ 
       CakeLog::write('activity', 'file exist'); 
     } 
     if (isset($_FILES['file']['tmp_name']) && is_uploaded_file($_FILES['file']['tmp_name'])){ 
       CakeLog::write('activity', 'file exist'); 
     } 
     if (!empty($this->data)){ 
       CakeLog::write('activity', '$this->data'); 
     } 

     if (!empty($_FILES)){ 
     CakeLog::write('activity', '$_FILES'); 
     } 
    } 

我已經把形式上的multipart/form-data的(儘管腳本似乎不要必須把)

+0

請顯示一些代碼。 – 2010-08-08 15:22:12

回答

0

使用: //讀取二進制輸入流並將其附加到臨時文件中 $ in = fopen(「php:// input」,「rb」);

0

你放

enctype="multipart/form-data" 

在您的表單聲明?

+0

我做了,$ this-> form(...,array('type'=>'file'...); – meotimdihia 2010-08-08 15:34:31

+0

@meoth那不是什麼Iznogood的意思,請顯示錶單生成的HTML代碼 – 2010-08-08 15:39:58

+0

嘿,看看http://pastebin.com/Uq7yJkhW 謝謝 – meotimdihia 2010-08-08 15:46:07

0

問題是因爲您使用的是Ajax文件上傳。上傳Ajax文件實際上創建了一個帶有文件上傳元素的正常形式的隱藏標籤。

這是問題的根源。 iframe看起來像一個單獨的頁面,Firebug無法處理這個請求的帖子。此外,這些字段可能與Cake的慣例完全不同。

我過去也遇到過同樣的問題,我也在爲同樣的事情而苦苦掙扎。 :)我的建議 - 使用正常上傳。

+0

我知道字段與Cake的約定不同,我需要抓取數據ajax, plupload上傳 – meotimdihia 2010-08-09 04:51:39

+0

然後嘗試郵寄它,至少你會看到你的郵件中的結果:) – 2010-08-09 06:37:50