2016-03-02 65 views
0

我做了一個php表單輸入從我的管理員的文件夾刪除圖像,所以我的圖像顯示,但是當我點擊刪除按鈕,它返回給我一個空白頁,如果我刷新我的頁面我試圖刪除的圖像仍然在這裏,圖像的刪除按鈕不起作用

這是我的代碼,它有什麼不對?

<?php 
 
if (array_key_exists('delete_file', $_POST)) { 
 
    $filename = $_POST['delete_file']; 
 
    if (file_exists($filename)) { 
 
    unlink($filename); 
 
    echo 'File '.$filename.' has been deleted'; 
 
    } else { 
 
    echo 'Could not delete '.$filename.', file does not exist'; 
 
    } 
 

 
} 
 

 
?> 
 

 
<?php 
 
$dirname = "../img/travaux/villa/"; 
 
$images = glob($dirname."*.jpg"); 
 
foreach($images as $image) { 
 
echo '<img class="show-img" src="'.$image.'" />'; 
 
echo '<form class="delete-button" method="post">'; 
 
    echo '<input type="hidden" value="'.$image.'" name="delete_file" />'; 
 
    echo '<input type="submit" value="Delete image" />'; 
 
echo '</form>'; 
 
} 
 

 
?>

,這是我上傳的圖片腳本:

<?php 
 
if($_SERVER['REQUEST_METHOD'] == "POST"){ 
 
\t require("imgClass.php"); 
 
\t $img = $_FILES['file']; 
 
\t $ext = strtolower(substr($img['name'],-3)); 
 
\t $allow_ext = array("jpg",'png','gif'); 
 
\t move_uploaded_file($_FILES['file']['tmp_name'], "../img/travaux/villa/".$_FILES['file']['name']); 
 
\t \t echo($_POST['index']); 
 
\t Img::creerMin("../img/travaux/villa/".$img['name'],"../img/travaux/villa/mini/",$img['name'],280,200); 
 
\t exit; 
 
} 
 
else{ 
 
\t $erreur = "votre fichier n'est pas une image. !!attention renommer le .jpeg en .jpg"; 
 
} 
 
?>

+0

你在使用絕對路徑嗎? 'file_exist()'評估爲真?腳本的輸出是什麼? – NDM

+0

真的不行,這是我所有的代碼,我有一個上傳圖片的腳本,但它與它沒有關係。 – Tiaw

回答

0

你應該使用絕對路徑的圖像:

// get the absolute path 
$dirname = realpath("../img/travaux/villa/"); 
+0

我的圖像不顯示,如果我把實際路徑:/ – Tiaw

+0

只使用實時路徑'unlink()',來顯示圖像,需要相對於文檔根目錄而不是絕對路徑。 – NDM

+0

我實際上在本地服務器,所以爲什麼我的頁面正在返回一個空白頁面,圖像不被刪除?和我的圖像文件夾不在管理文件夾中,但我認爲它沒有任何改變 – Tiaw