2013-04-17 87 views
0

嗨我有一個WAMP服務器,其中一些文件上傳到特定路徑。Wamp服務器:上傳文件的路徑

C:\ WAMP \ WWW \在這種情況下上傳\

。然而,是否有可能將這些文件上傳到例如

D:\ Documents \ User \ upload?

Upload.php指定存儲文件的路徑,但我沒有辦法改變到另一個路徑。

由於提前, 兆

編輯:upload.php的

這裏是upload_file.php

<?php 
$target_path = "c:\\"; 

$target_path = $target_path . basename($_FILES['uploadedfile']['name']); 
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) { 
echo "El fichero ". basename($_FILES['uploadedfile']['name'])." ha sido enviado"; 
} else{ 
echo "Hubo un error, inténtalo de nuevo!"; 
} 
?> 
+0

你說的路徑是在upload.php但你不能改變它?爲什麼不?我們可以看到代碼嗎? –

+0

嗨莎拉謝謝你的安撫。我正確地上傳文件的路徑./但如果我chnag到C:\例如它不起作用 – Katherine99

+0

Apache可能沒有權限寫入C:\根目錄(它不應該)。劇本如何失敗?你有權限錯誤嗎?它只是沒有上傳?如果頁面上沒有錯誤,請查看您的PHP錯誤日誌。你可能想要在你想知道的時候把你試圖上傳到哪個文件夾的權限切換到777。 –

回答

1

兆,

在WAMP,Apache是​​設置(如它應該是出於安全原因),以便Apache不允許訪問C:\

的根文件夾
<Directory /> 
    Options FollowSymLinks 
    AllowOverride None 
    Order deny,allow 
    **Deny from all** 
</Directory> 

這會阻止成功進入您的網站的黑客被允許導致真正嚴重的損壞。

因此,我希望在您的Apache錯誤日誌或您的PHP錯誤日誌中看到一條錯誤消息。我也希望在XDEBUG的屏幕上看到和出現錯誤,除非您禁用了該功能。也許你應該重新啓用它,因爲這些錯誤消息在開發時非常有用!

改變php.ini中的display_errors =在

現在可以打開特定文件夾的正常網站的文件夾結構之外這樣

This is an excerpt from the httpd.ini without all the comments 
<Directory "d:/wamp/www/"> 
    Options Indexes FollowSymLinks 
    AllowOverride all 
# onlineoffline tag - don't remove 
    Order Deny,Allow 
    Deny from all 
    Allow from 127.0.0.1 

    </Directory> 
    Alias /my_other_upload_folder_alias "c:/some_other/folder/my_other_upload_folder" 
    <Directory "c:/some_other/folder/my_other_upload_folder"> 
     AllowOverride All 
     Order Deny,Allow 
     Deny from All 
     Allow from 127.0.0.1 
    </Directory> 
</Directory> 

然後使用「my_other_upload_folder_alias」作爲文件夾名稱在你的PHP代碼。

PS。你看起來像是把你的網站放到c:\ wamp \ www這是一個壞主意! 你個這樣的網站

c:\wamp\www\site1 
c:\wamp\www\site2 

創建子文件夾,想想每個網站創建一個虛擬主機。

+0

謝謝你的建議 – Katherine99

相關問題