2013-07-14 60 views
0

絕對路徑與取消鏈接作品():取消鏈接不上可變的工作,但工作的確切路徑上

<?php 
    unlink('images/filename.jpg'); 
?> 

但是,這是行不通的。

<?php 
    $image_id = $_POST['image_id']; 
    unlink('images/'.$image_id) 
?> 

文件權限沒問題,腳本可以讀,寫和執行。嘗試使用單引號和雙引號,它可以使用絕對文件路徑,但不適用於從$ _POST []傳遞的變量。

任何解決方法在這裏?謝謝。

+1

你確定你在得到正確的值'$ _ POST [ 'image_id']'?做一個'print_r()'看看。 – Rainulf

+0

謝謝!但沒有打印。 – GeekWise123

+0

我相信Rainulf在'$ image_id = $ _POST ['image_id']'後面表示'print_r($ image_id)'。這是你做的嗎? – vee

回答

1

可能會清理您的查詢參數一點點。不確定,但是當我嘗試了多種變體的代碼時,它工作得非常完美!

根據你,

unlink('images/filename.jpg'); 

工作完美。然後,我沒有看到其他代碼無法正常工作的原因。

做類似: $ image_id = trim($ _ POST [「image_id」]);

和刪除文件前,請檢查一下,該文件是否存在,這樣一來,你一定會在錯誤400多年。

$image_url = "images/{$image_id}"; 
if(file_exists($image_url)){ 
    unlink($image_url); 
} else { 
    die('file does not exist'); 
} 
+0

嘿!謝謝!它工作喜歡魅力!非常感謝你! – GeekWise123

+0

似乎有些白色空間給你所有的麻煩。 – Cooshal

+0

我想upvote你的答案,但我沒有足夠的聲譽這樣做。感謝Rainulf,vinodadhikary,特別是CooSHal。 – GeekWise123

0

嘗試:

<?php 
    $image_id = $_POST['image_id']; 
    unlink('./images/'.$image_id) 
?> 

添加 「./」 的目錄名的圖像之前。

+0

它不起作用。但無論如何感謝。 – GeekWise123

+0

沒有'。/';它都是當前目錄。 – Rainulf

+0

順便說一句,該網站託管在Linux服務器上。 – GeekWise123