2011-05-17 61 views
1

我有一個頁面,允許用戶上傳照片 - 相當標準的PHP我認爲。php.ini - 設置upload_tmp_dir

這適用於我一直使用的最新服務器,但我最近在我的Mac上設置了php,現在上傳已停止工作。

我猜這是因爲upload_tmp_dir在php.ini文件中設置不正確。

有人知道我需要做什麼嗎?

編輯:

這裏的錯誤消息的輸出...

Warning: imagejpeg(): Unable to open 'upload/thumbs/AL.jpg' for writing: Permission denied in /Users/tom/Sites/tombrennand/add.php on line 128 Warning: imagejpeg(): Unable to open 'upload/images/AL.jpg' for writing: Permission denied in /Users/me/Sites/mysite/add.php on line 135 Notice: Undefined variable: con in /Users/me/Sites/mysite/add.php on line 172 Warning: mysql_close() expects parameter 1 to be resource, null given in /Users/me/Sites/mysite/add.php on line 172

從我想我需要到該文件夾​​的權限設置爲

左右。有任何想法嗎?

+0

「我猜這是因爲...」做一些調試並檢查錯誤日誌以找出原因。 – webbiedave 2011-05-17 16:31:23

+0

聽起來像一個計劃...我在哪裏可以找到錯誤日誌? – Tom 2011-05-17 16:37:08

+0

+1爲詳細的錯誤消息。我已經添加了答案。 – webbiedave 2011-05-17 16:56:49

回答

1

警告:imagejpeg():無法打開 寫入 '上傳/拇指/ AL.jpg':在 否認/Users/tom/Sites/tombrennand/add.php 權限上線128

您需要設置寫權限上的文件夾upload/thumbs

因爲這是你的個人電腦,你可以cd到文件夾upload然後chmod 777 thumbs在泰爾單寶元。

+0

絕對......我試圖用Dreamweaver但沒有喜悅。我想我需要在某個地方做更多的專家。 – Tom 2011-05-17 16:57:02

+0

做一個'ls -l'來驗證。再次檢查'uploads'目錄以確保可執行位(可執行位)。 – webbiedave 2011-05-17 17:36:59

+0

我試過'chmod 777 thumbs'但是返回'chmod:thumbs:沒有這樣的文件或目錄'。我需要將路線添加到該目錄嗎?所以像'chmod 777上傳/大拇指' – Tom 2011-05-18 13:27:50

2

更改您的php.ini文件

upload_tmp_dir = /tmp/whatever 

條目。確保該位置可由相應的用戶/組寫入。

+1

您無法在運行時更改upload_tmp_dir。在腳本運行時,上傳過程已經發生。 – dtbarne 2011-05-17 16:31:35

+0

.ini文件中的更改不是「運行時」,您應該將chown添加到apache,通常是www-data,如chown root:www-data/newupload_dir /並且最好使用755權限。 – Miguel 2017-04-05 23:23:50

0

查看你的phpinfo在一個新的頁面,看看它設置爲:

<?php phpinfo(); ?> 

如果不是,你需要它,你可以用你的php.ini文件進行編輯。

+0

所以如果不是它需要的地方 - 我怎麼知道它需要在哪裏?這有什麼規則嗎? – Tom 2011-05-17 16:44:39

+0

該位置是任意的。只要你可以寫入目錄,你應該沒問題。 – Jim 2011-05-17 16:52:26

0

我有同樣的問題。我做了一個move_uploaded_file()到我知道IIS用戶有寫權限的文件夾,然後我解壓縮該文件。 默認情況下,我的PHP.ini使用的是c:\ windows \ temp,即使我給IIS用戶寫入權限,它也不起作用。