1. <?php
  2. $sql = mysql_connect("***","***","***");
  3. mysql_select_db("baza_galeria");
  4.  
  5. $plik_sciezka = $_POST['nazwa'];
  6. $n = $_POST['nazwa'];
  7.  
  8. $zap = "DELETE FROM galeria WHERE sciezka='$plik_sciezka'";
  9. $odp = mysql_query($zap);
  10. $dir = 'grafika';//katalog
  11. $ile = 5;//ile obrazkow na stronie
  12. $rozszerzenia="jpg PNG png";//dozwolone rozszerzenia
  13. $liczb=3;//nieparzysta liczba, wieksza niż 2, czyli od 3 w gore. jest to liczba linkow do z
    mieny stron
  14. if($liczb%2!=1){
  15. if($liczb>3){
  16.  $liczb--;
  17. }else{
  18.  $liczb=3;
  19. }
  20. }
  21. if($liczb<3){
  22. $liczb=3;
  23. }
  24. $tablica=array();
  25. if(is_dir($dir)){
  26. if ($dh=opendir($dir)) {
  27.  while(($file=readdir($dh))!==false){
  28. if(stripos($rozszerzenia,substr(strrchr($file,'.'),1))!==false){
  29. $tablica[]=$file;
  30. }
  31.  }
  32.  closedir($dh);
  33. }
  34. }
  35. if(isset($_GET['i'])){
  36.  $i=$_GET['i'];
  37. }else{
  38.  $i=1;
  39. }
  40. $stron=ceil(count($tablica)/$ile);
  41. $message='';
  42. function wyswietl($x){
  43. global $i;
  44. global $message;
  45. if($x==$i){
  46.  $message.='<strong><a href="'.$_SERVER['PHP_SELF'].'?i='.$x.'">'.$x.'</a></strong>';
  47. }else{
  48.  $message.='<a href="'.$_SERVER['PHP_SELF'].'?i='.$x.'">'.$x.'</a>';
  49. }
  50. }
  51. if($stron<$liczb){
  52. for($x=1; $x<$stron+1; $x++){
  53.  wyswietl($x);
  54. }
  55. }elseif($i<ceil($liczb/2)){
  56. for($x=1; $x<$liczb+1; $x++){
  57.  wyswietl($x);
  58. }
  59. }elseif($i>$stron-floor($liczb/2)){
  60. for($x=$stron-$liczb+1; $x<$stron+1; $x++){
  61.  wyswietl($x);
  62. }
  63. }else{
  64. for($x=($i-floor($liczb/2)); $x<$i+ceil($liczb/2);$x++){
  65.  wyswietl($x);
  66. }
  67. }
  68. $tablica=array_slice($tablica, ($i-1)*$ile, $ile);
  69.  
  70. //wyswietla obrazki
  71. foreach($tablica as $k => $v){
  72. echo '<a href="'.$dir.'/'.$v.'"><img src="'.$dir.'/'.$v.'" alt="'.$v.'" style="border: 0px; width: 100px; height: 100px" /></a>';
  73. chmod($dir.'/'.$v,0777);
  74. unlink($dir."/".$POST['nazwa']);
  75. }
  76. <br><br>Strony:";
  77. //wyswietla linki do zmian stron
  78. echo $message;
  79. ?>



To jets kod gdzie występuje formularz z jednym polem tekstowym , wyświetlanie zdjęć i usuwanie ich.
W ostatnich linikach jest wyświetlanie, $v po kolei pobiera wszystkie nazwy plików z foldery $dir i wyświetla je. $n pobiera dane wpisane w formularzu do usunięcie - jest to nazwa pliku np: 6.PNG.

[/php]//wyswietla obrazki
foreach($tablica as $k => $v){
echo '<a href="'.$dir.'/'.$v.'"><img src="'.$dir.'/'.$v.'" alt="'.$v.'" style="border: 0px; width: 100px; height: 100px" /></a>';
chmod($dir.'/'.$v,0777);
unlink($dir."/".$POST['nazwa']);

Kiedy w unlink jest tak jak teraz to nie usuwa pliku, kiedy zamiast $POST['nazwa'] wpisze $v działa ale usuwa wszystkie pliki bez względu co wpisze w formularzu.

Jak to naprawić by usuwało tylko plik o nazwie którą wpiszemy ?

Pliki mają nazwy zmeiniane na cyfry czyli np: 6.PNG , 5 jpg itd.