2012-12-07 33 views
2

我已經看了this StackOverflow的問題,並沒有幫助(類似標題)。使用fopen()函數寫入文件到子目錄

我從Android應用程序傳入圖像。如果我輸入

$file = fopen('test.jpg', 'wb'); 

它工作正常並且圖像上傳;但是,我想允許從Android手機進行多次上傳,因此我想隨機化.jpg文件的名稱,以便我可以將每個新上傳另存爲一個不同的名稱。我正在嘗試如下:

$destination = time() + rand(1, 1000) . ".jpg"; 
$url_destination = "/project_images/" . $destination; 

$file = fopen($url_destination, 'wb'); 
fwrite($file, $binary); 
fclose($file); 

但是,它不會將文件寫入服務器。我嘗試了URL的不同變體 - 用'project_images /','/ project_images /',甚至嘗試完整的URL(前面提到的StackOverflow的帖子糾正了我),但我仍然無法寫出它。

的project_images文件夾的權限設置爲允許文件被寫入。有任何想法嗎?

+1

'fopen'無法寫入URL,所以'$ url_destination'肯定是錯誤的開始。路徑必須是本地文件系統路徑。 – Jon

+0

嘗試將權限更改爲/ project_images目錄中的777 – Nick

+0

可能的重複[嘗試使用fopen()將文件寫入其他目錄)(http://stackoverflow.com/questions/9837337/trying-to-write-a -file-to-a-different-directory-using-fopen) –

回答

6

你的問題是"/project_images"這是一種錯誤的絕對路徑。

對於它的工作將其更改爲"project_images/"dirname(__FILE__).'/project_images/'

+0

我以爲我已經嘗試過那一個(見我的帖子,其實我包括它!),但我猜它didn上傳不正確。這解決了它。 –

+1

大:) ..通常使用目錄名(__ FILE__)在這些情況下 –

+1

+1 I <3的dirname(__ FILE__) – Dale

相關問題