2014-10-31 168 views
0

我的腳本在Apache服務器上運行正常。但是,當我遷移到nginx的服務器,我得到了錯誤:PHP消息:PHP警告:爲foreach()提供的無效參數

PHP message: PHP Warning: Invalid argument supplied for foreach() in

而且有代碼:

 foreach($this->_uploaded as $name) { 
     $file = pathinfo($name); 
     $ad_count = $file['filename']; 
     $path = '/images/ads/'.$friendly_name.'-black-friday-'.($ad_count).'-' . $this->createRandomString() . '.' . $file['extension']; 

     if(!copy(__SITE_PATH . "/public/tmp/" . $name, __FRONTEND_PATH . $path)) { 
      return false; 
     } 
     $this->db->query("INSERT INTO stores_ads (stores_id, path, sort) VALUES (".$id.", '".$path."', ".(int)$ad_count.")"); 
     @unlink(__SITE_PATH . "/public/tmp/" . $name); 
    } 

你知道爲什麼?我認爲它可能會得到上傳文件夾的錯誤路徑?或者nginx配置有問題?

這是全碼:

+1

'$此 - > _ uploaded'必須是一個數組。試試'print_r($ this - > _ uploaded)',看看它是否是一個數組。 – Rasclatt 2014-10-31 03:20:23

+0

'$ this - > _ uploaded'是什麼? – 2014-10-31 03:20:33

+0

同樣的事情,你需要確保'$ this - > _ uploaded'是一個數組。 – Rasclatt 2014-10-31 03:26:52

回答

0

添加類似:

if (is_array($this->_uploaded)) { 

//add your code 
    foreach($this->_uploaded as $name) { 
     $file = pathinfo($name); 
     # code... 
    } 
} 

希望這有助於:)

+0

它沒有再顯示錯誤,但我無法上傳文件。 – 2014-10-31 12:47:37

相關問題