jquery - PHP Image Deletion Script Not Working -
i have gallery script adding delete function to. have implemented, files not being deleted.
this gallery script includes submit button delete image:
<?php $directory = "images/gallery/"; $filecount = 0; $files = glob($directory . "*"); if ($files){ $filecount = count($files); } echo "<h2>gallery - click enlarge</h2><h3>$filecount images</h3>"; ?> </div> <div id="galleryimages"> <?php $folder = 'images/gallery/'; $filetype = '*.*'; $files = glob($folder.$filetype); $total = count($files); $per_page = 15; $last_page = (int)($total / $per_page); if(isset($_get["page"]) && ($_get["page"] <=$last_page) && ($_get["page"] > 0) ){ $page = $_get["page"]; $offset = ($per_page + 1)*($page - 1); }else{ $page=1; $offset=0; } $max = $offset + $per_page; if($max>$total){ $max = $total; } show_pagination($page, $last_page); for($i = $offset; $i< $max; $i++){ $file = $files[$i]; $path_parts = pathinfo($file); $filename = $path_parts['filename']; echo '<div class="thumbimage">'."\n"; echo '<a href="'. $file .'" data-featherlight="image">'."\n"; echo '<img src="'. $file .'" width="200px" alt="" />'."\n"; echo '</a>'."\n"; if(isset($_session['usr']) && isset($_session['pswd'])){ echo'<span class="deleteimage">'."\n"; echo '<input type="hidden" value="'.$file.'" name="delete_file" id="delete_file" />'."\n"; echo '<input type="button" value="delete image" onclick="delete_image()"/>'."\n"; echo '</span>'."\n"; } echo '</div>'."\n"; } show_pagination($page, $last_page); function show_pagination($current_page, $last_page){ echo '<div class="gallerypagination">'; if( $current_page > 1 ){ echo ' <a href="?page='.($current_page-1).'"> previous page </a> '; } if( $current_page > 1 ){ echo ' <a href="?page=1"> first page </a> '; } if( $current_page != $last_page ){ echo ' <a href="?page='.$last_page.'"> last page </a> '; } if( $current_page < $last_page ){ echo ' <a href="?page='.($current_page+1).'"> next page </a> '; } echo '</div>'; } ?> my jquery/ajax submit form:
<script type="text/javascript"> function delete_image() { var status = confirm("are sure want delete ?"); if(status==true) { var file = $("#delete_file").val(); $.ajax({ type:"post", url:"scripts/php/deleteimage.php", data:{file:file}, success(html){ ohsnap('image has been deleted', 'red'); } }); } } </script> and contents of deleteimage.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'; } } ?> i believe know problem unsure. when php generate thumbnail images has include image directory image linked. same in submit button deletion.
for example 1 of outputted images:
<div class="thumbimage"> <a href="images/gallery/1021141027-1431931148.jpg" data-featherlight="image"> <img src="images/gallery/1021141027-1431931148.jpg" width="200px" alt="" /> </a> <span class="deleteimage"> <input type="hidden" value="images/gallery/1021141027-1431931148.jpg" name="delete_file" id="delete_file" /> <input type="button" value="delete image" onclick="delete_image()"/> </span> </div> i believe problem line:
<input type="hidden" value="images/gallery/1021141027-1431931148.jpg" name="delete_file" id="delete_file" /> do guys think work if said instead:
<input type="hidden" value="1021141027-1431931148.jpg" name="delete_file" id="delete_file" /> if issue, how can modify gallery script not include files directory in value.
i'm not getting errors. i've checked logs. seems working right except fact images not delete.
edit: on side note, how checkboxes delete multiple @ once? better recommended?
echo <input type="button" value="delete image" onclick="delete_image()"/>'."\n"; change line
?><input type="button" value="delete image" onclick="delete_image('<?php echo $file;?>')"/>; <?php and script this
<script type="text/javascript"> function delete_image(value) { var status = confirm("are sure want delete ?"); if(status==true) { $.ajax({ type:"post", url:"scripts/php/deleteimage.php", data:{file:value}, success(html){ ohsnap('image has been deleted', 'red'); } }); } } </script> delete code
<?php if ( array_key_exists ('file', $_post ) ) { $filename = $_post['file']; if ( file_exists ( $filename ) ) { unlink( $filename ); echo 'file '.$filename.' has been deleted'; } } ?>
Comments
Post a Comment