2016-05-13 2 views
0

есть сценарий загрузки, где я могу удалить изображение. Мне нужно вручную записать его имя в поле ввода в форме. Я читаю имена изображений непосредственно из папки на моем сервере. Я хотел бы скопировать имя изображения, которое хочу удалить, щелкнув изображение или его имя для каждого изображения, которое я хочу удалить. Это не просто объяснить это, я покажу вам код:Как скопировать имя изображения с помощью php

EDIT2: It'working:

<?php 




if ($_SERVER["REQUEST_METHOD"] == 'GET') { 
    if (isset($_GET['name']) && $_GET['name'] != '') { 

     $img_file = $_GET['name']; 

    if($img_file){ 
     unlink("img/$img_file"); 
    header('Location: index.php'); 
} 
} 
} 

?> 

<?php 

if(isset($_POST['upload_img'])){ 

$file_name = $_FILES['image']['name']; 
$file_type = $_FILES['image']['type'];  
$file_size = $_FILES['image']['size']; 
$file_tmp_name = $_FILES['image']['tmp_name']; 

if($file_name){ 
      move_uploaded_file($file_tmp_name,"img/$file_name"); 

      } 
} 
?> 
<body> 

<form action="" method="post" enctype="multipart/form-data"> 

<label>upload image </label><br> 
<input type="file" name="image"><br> 
<input type="submit" value="Upload Image" name="upload_img"> 

</form> 


<?php 

$folder = "img/"; 

if(is_dir($folder)){ 

     if($handle = opendir($folder)){ 

      while(($file=readdir($handle)) != false){ 

      if($file==='.' || $file==='..') continue; 

echo '<a href="index.php?name='.$file.'">'; 
echo '<img src="img/'.$file.'" width="150" height="150" alt="">'; 
echo '</a>'; 

} 
closedir($handle); 
} 

} 
echo '<br>'.$file_names; 
?> 


</body> 
+0

Какие ошибки вы получать? –

+0

У меня нет ошибок. Чтобы удалить изображение, я должен вручную написать имя в поле ввода. Я хотел бы скопировать имя, автоматически нажимая на изображение или его имя для каждого изображения, которое я хочу удалить. – Marci

+1

Вы что, на самом деле пробовали что-нибудь? Вам нужно будет добавить обработчик кликов к вашим элементам изображения. И если вы хотите, чтобы текст был кликабельным, вы, вероятно, захотите обернуть его в «span» или что-то еще. –

ответ

0

Вы должны обернуть IMG тег в якорной тег как так

Предполагая, что ваш текущий скрипт называется mypics.php вы могли бы сделать это.

echo '<a href="mypics.php?name="' . $file . '">'; 
echo '<img src="img/'.$file.'" width="150" height="150" alt="">'; 
echo '</a>'; 

Теперь в верхней части текущего скрипта добавьте

Теперь вы можете удалить код, который вы использовали, для ввода имени и обработки удаления этак

+0

Хотя это доходит до конечной цели, на самом деле он не отвечает на вопрос, заданный ОП. Возможно, OP не хочет, чтобы изображения мгновенно удалялись по клику и хотели, чтобы пользователь действительно должен был отправить форму. –

+0

@PatrickQ Возможно, то, что действительно хотел ОП, было то, что кто-то написал полный код для них, поэтому им не нужно беспокоиться. Я бы сделал это с использованием AJAX, но я определенно не собираюсь сидеть и писать для них полную и правильно протестированную систему управления имиджем. ___Nor следует ожидать от кого-то здесь___ – RiggsFolly

+0

Я полностью согласен. Я просто замечаю (в основном, ради OP), что ваш ответ (пока хороший) явно не делает то, что они просили, чтобы OP мог лучше решить вопрос о том, что действительно нужно. –

0

Вы можете поставить img тег внутри a тега, со ссылкой на сценарий, который удаляет файл, что-то вроде:

echo <<< EOF 
<a href="deleteFile.php?fileToDelete=$file"> <img src="img/$file" width="150" height="150" alt=""> </a> 
EOF; 

Затем создайте файл с именем, deleteFile.php

if(isset($_GET['fileToDelete')){ 
//NOTE: Make SURE you filter and restrict the content of $_GET['fileToDelete'), or may get all the files removed... 
//remove the file here 
} 
+0

Хотя это доходит до конечной цели, на самом деле он не отвечает на вопрос, заданный ОП. Возможно, OP не хочет, чтобы изображения мгновенно удалялись по клику и хотели, чтобы пользователь действительно должен был отправить форму. –

+0

Пока неясно, но я думаю, он может использовать его после. Спасибо, что указали, что так или иначе. –

Смежные вопросы