2012-04-07 83 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)) 
{ 
    ...