2012-04-07 67 views
1

獲取文件的路徑我有具有以下路徑從其祖父文件夾

Shubhmangalam/admin/welcome_image_edition/delete_image.php 

,並與以下路徑的圖像文件的PHP文件

Shubhmangalam/welcome_images/image_1.jpg 

我要刪除image_1.jpg文件,我知道可以通過使用unlink()方法.. 但可能是.php文件和.jpg文件的父文件夾是不同的,他們的文件系統的級別也是不同的...和我無法找到正確的方式去找到de的路徑lete image_1.jpg文件。

現在的delete_image.php代碼相應

<?php 
$image=$_REQUEST['image']; 
if(unlink("./../welcome_images/".$image)) 
    echo "Successfully Deleted"; 
else 
    echo "Wrong"; 
?> 

現在上面是服務器的腳本代碼,我想通過獲得合適的路徑。我不想實際路徑刪除圖像,但從那就是提前Shubhmangalam

感謝項目文件夾的路徑

+0

好吧,我有我的回答,我需要找到該文件的盛大母公司的母公司delete_image.php 所以我使用的代碼 」。 ./../welcome_images/".$image – Saswat 2012-04-07 17:26:14

回答

2

非常小心這種類型的代碼。你沒有過濾$ _REQUEST價值可言,它允許惡意用戶指定服務器上的任意文件,如:

http://example.com/delete_image.php?image=../../../../../../../../../etc/passwd 

您可以通過使用絕對路徑解決您的尋路問題:

unlink('/path/leading/to/your/welcome_images/' . $image); 

這讓你不得不找出適當的相對路徑。

+0

好吧,我得到了我的答案,我需要找到該文件的父母的父母delete_image.php 所以我用代碼 「../ .. /welcome_images/".$image – Saswat 2012-04-07 17:26:38

2
Shubhmangalam/admin/welcome_image_edition/delete_image.php 

即:

__FILE__ 

並與follwing路徑

Shubhmangalam/welcome_images/image_1.jpg 

即一個圖像文件:

dirname(dirname(__DIR__)) . '/welcome_images/image_1.jp'; 
在第一文件

。使用magic constants __FILE__ and __DIR__爲了你自己好,如:

if (unlink(__DIR__."/../../welcome_images/".$image)) 
{ 
    ...