2012-04-07 10 views
1

からのファイルのパスを取得し、私は次のパスその祖父母フォルダ

Shubhmangalam/admin/welcome_image_edition/delete_image.php 

と私は削除する次のパス

Shubhmangalam/welcome_images/image_1.jpg 

の画像ファイルを持っているPHPファイルを持っています私が知っているimage_1.jpgファイルは、unlink()メソッドを使って行うことができます。 しかし、.phpファイルと.jpgファイルの親フォルダは違っているので、ファイルシステムのレベルも同じです...私はパスを取得するための適切な方法を見つけることはできませんde image_1.jpgファイルを参照してください。

今delete_image.php上のコードでは、今すぐに応じ

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

である以上は、サーバースクリプトコードで、私は適切なパスを取得することにより、画像を削除したい..私は実際のパスをたくないが、事前にShubhmangalam

おかげでプロジェクトフォルダからのパスが

+0

[OK]を、私は私の答えを持って、私はので、私はコード 」を使用 delete_image.phpファイルの壮大な親の親を見つける必要があります。 ./../welcome_images/ ".$image – Saswat

答えて

2

は、この種のコードと非常に注意してください。あなたは、悪意のあるユーザーがサーバー上の任意のファイルを指定することを可能にする、AT ALL $ _REQUEST値をフィルタリングしていない例:

unlink('/path/leading/to/your/welcome_images/' . $image); 
:あなたは絶対パスを使用して、パス機能の問題を修正することができます
http://example.com/delete_image.php?image=../../../../../../../../../etc/passwd 

これは、適切な相対パスを把握しなければならないという負担を軽減します。ある

+0

ok、私は私の答えを得ました、私はファイルの祖父母の親を見つける必要がありますdelete_image.php 私はコードを使用しました " ../ .. /welcome_images/ ".$$image – Saswat

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)) 
{ 
    ... 
関連する問題