2015-09-15 59 views
0

我有一個文件夾/ var/www/html/images/ppic/50x或100x(取決於大小)保存用戶頭像。當用戶上傳新的頭像時,它會被調整大小並移動到每個不同大小的文件夾。PHP-Apache - 用戶上傳的文件夾權限

我米得到以下權限錯誤:

Warning: move_uploaded_file(images/ppic/144231007.jpg): failed to open stream: Permission denied in /var/www/html/settings.php on line 154 

Warning: move_uploaded_file(): Unable to move '/tmp/phpi3oiJp' to 'images/ppic/144231007' in /var/www/html/settings.php on line 154 

不動

如何設置的方式,將允許用戶上載,但不刪除或亂權限,這些文件夾?

+0

chmod 777 -R ?? – saveATcode

回答

0

嘗試用這種

sudo chmod 755 -R /directory_name 
+0

試過了...同樣的錯誤 – Ciprian

+0

確保目錄是可寫的? –

0

該用戶所擁有的目錄? 嘗試chown www-data:www-data /directory_name

另外,將用戶上傳文件放在網頁可訪問的目錄中也不是很好的做法。 將它們放置在Web根目錄之外的某個位置並使用腳本在瀏覽器中顯示它們更安全。

+0

嗯......那麼你究竟會把它們放在哪裏?我不知道這些東西......以及什麼腳本?任何教程鏈接?或者只是一個簡單的例子。所以我看到它的方式......我可以在/ var/www/images中創建一個文件夾,例如...然後我將如何顯示它們?現在我只是做...' Ciprian

+0

只是可以肯定我提到這一點......我只允許特定擴展名要上傳,我每個圖像轉換爲JPEG格式..所以它不是像他們對最終的圖像格式控制。 – Ciprian

+0

沿着這個答案的東西線:http://stackoverflow.com/a/258380/2304693 與保持上傳在網絡訪問目錄的問題是,惡意用戶可以上傳圖片,並嘗試通過瀏覽簡單地運行它們它們。 如果你將它們複製到您訪問的Web目錄的風險顯著降低之前將上載的圖片,但是我仍然會考慮讓他們webro外如鏈接答案的註釋中提到的,更好的練習 – Joe1992