2016-06-10 61 views
0

我有一個android應用程序,應該使用php和POST連接將照片上傳到web服務器,我正確地收到照片字符串,但是我的問題是將它保存在服務器中。使用php寫入文件在web服務器上

我連接其上的PHP文件是在以下位置:

www.mysite.com/project/code.php. 

PHP是在我的網站啓用,並且我啓用的fopen命令

我也試圖打開任何文件和寫任何東西在裏面,但我失敗了(Echo沒有執行,也沒有保存文件)。問題是什麼?我應該有特殊的權限才能創建文件?

代碼:

?php 
// Get image string posted from Android App 
$base=$_REQUEST['image']; 
// Get file name posted from Android App 
$filename = $_REQUEST['filename']; 
// Decode Image 
$binary=base64_decode($base); 
header('Content-Type: bitmap; charset=utf-8'); 
$file = fopen('uploadedimages/'.$filename, 'wb'); 
// Create File 
fwrite($file, $binary); 
fclose($file); 
echo 'Image upload complete, Please check your php file directory'; 
?> 
+4

檢查你的錯誤日誌治安官,你會發現他們小雞充滿了信息。 –

+1

你錯過了開始'<'。 'header()'行是不必要的,而且是錯誤的內容類型。 –

+1

你告訴瀏覽器你正在發送一個位圖圖像(header()調用對你的輸入有** NO **效果),然後輸出一些文本,這是無效的bmp數據。如果您想輸出成功消息,則您的內容類型標題應該是text/html或text/plain。而你只是假設fopen/fwrite成功了。他們在失敗時返回布爾型錯誤,這是你完全無視的。 –

回答

0

檢查你的Apache(或同等學歷)的日誌,看看它是否是一個權限問題。如果是這樣,您可以將該文件夾的所有者從linux命令行中設置爲Apache,使用sudo chown www-data:www-data /uploadedimages/,並給予擁有者寫入權限chmod 0744 /uploadedimages/。該命令還提供了全局和組讀取權限,因此您應該仔細檢查是否合適。

+0

它似乎是服務器中的東西,我用一個簡單的fopen命令創建了這個文件,但它不工作,我也檢查了日誌,但是沒有提到這個訪問。 –

相關問題