2011-04-07 46 views
0

寫我開發的PHP項目。在那裏,我將圖像從Flash傳遞到PHP。當我獲取參數值時,我將轉換爲base64格式並寫入新文件(png圖像)。上述邏輯在我的本地系統中完美工作。但是當我在服務器中部署這個seeting時。除了文件寫入一切正在工作。文件不是在服務器

下面是產生圖像的代碼。

$filename = $templateID.'.png'; 

if ($handle = fopen("images/cat_images/".$filename, 'w')) 
{ 
    if (!fwrite($handle, $somecontent) === FALSE) 
    { 
     fclose($handle); 

     $query = "UPDATE `products` SET `template_data`='".$signData."' WHERE `id`=$templateID LIMIT 1"; 
     $db->query($query); 
    } 
} 
+0

你對圖像寫入權限/ cat_image s目錄? – 2011-04-07 14:53:01

+0

你確定你的腳本已經在你的服務器上寫入該目錄寫權限?這將解釋爲什麼代碼在本地工作,但不在您的服務器上。 – Simon 2011-04-07 14:54:32

回答

0

如果你不能寫那絕對是你沒有對目錄的寫權限。

給的寫權限的目錄。

編輯

檢查您在fopen提到的路徑是正確的。根據您的實時目錄結構,我認爲這是不正確的。

嘗試提fopen

if ($handle = fopen("/full/path/here/images/cat_images/".$filename, 'w')) 
+0

該目錄的文件權限是通過FTP客戶端(FileZilla中)給出。如果我右鍵單擊並檢查執行它顯示777.所以我認爲這不是因爲文件許可。 – Arung 2011-04-07 15:05:40

0

的完整路徑試試這個sudo chown www-data /path/to/images/ -r

,這將給所有權給了Apache,做寫,或www數據的用戶添加到您的組

sudo chmod a+w /path/to/images/ -r允許任何人在裏面寫,不是最好的選擇

+0

Flash文件是否可以使用SSL?因爲值是從falsh文件傳遞到php文件。所以可能是在SSL與falsh問題?? – Arung 2011-04-08 04:25:40

相關問題