Witam wszytskich.
Sprawa jest taka. Zrobiłem dla kumpla panelik administracyjny w którym może wrzucać zdjęcia na ftp wyświetlane później na stronie wraz z ich opisem. W bazie MySQL znajduje się opis zdjęcia oraz ścieżka dostępu do niego. Problem jest taki że ostatnio zauważyłem "znikające zdjęcia". Wyświetlane są na stronie wsyztskie zdjęcia i opisy a le między nimi brakuje nieraz jednego lub dwóch zdjęć. Nie wiem dokładnie w którym momencie zdjęcia znikają.
Podejrzewałem, że kumpel dwa razy dodał to samo zdjęcie i wtedy wykasowując w jednym miejscu, zdjęcie znika też w drugim ale zaprzecza aby tak robił.
To jest skrypt którym wykasowywuje zdjęcia z bazy i ftp:
  1. <?php
  2.  
  3.  
  4. if(isset($_SESSION['uzyt']))
  5. {
  6.  $bdlacz = mysql_pconnect('localhost', 'test', 'test');
  7.  if(!$bdlacz)
  8.  {
  9.  echo 'Brak połączenia z bazą danych.';
  10.  exit;
  11.  }
  12.  $lacz = mysql_select_db( 'zdjecia' );
  13.  if(!$lacz)
  14.  {
  15.  echo 'Brak wyboru bazy';
  16.  exit;
  17.  }
  18.  $id=$_GET['id'];
  19.  $sql = "select * from zdjecia where id_zdj=$id";
  20.  $wynik=mysql_query($sql);
  21.  $wiersz = mysql_fetch_array($wynik);
  22.  $nazwa=$wiersz['sciezka'];
  23.  $nazwa2=$wiersz['sciezka2'];
  24.  $nazwa3=$wiersz['sciezka3'];
  25.  $nazwa4=$wiersz['sciezka4'];
  26.  
  27.  $kasuj=$HTTP_POST_VARS['kasuj'];
  28.  
  29.  switch($kasuj)
  30.  {
  31.  case '1': { $sql="UPDATE zdjecia SET sciezka='' WHERE id_zdj=$id";break; }
  32.  case '2': { $sql="UPDATE zdjecia SET sciezka2='' WHERE id_zdj=$id";break; }
  33.  case '3': { $sql="UPDATE zdjecia SET sciezka3='' WHERE id_zdj=$id";break; }
  34.  case '4': { $sql="UPDATE zdjecia SET sciezka4='' WHERE id_zdj=$id";break; }
  35.  case '5': { $sql="delete from zdjecia where id_zdj=$id";break; }
  36.  }
  37.  
  38.  
  39.  $wynik2 = mysql_query($sql);
  40. if (!$wynik2)
  41. {
  42.  echo 'zle zapytanie';
  43.  exit;
  44. }
  45. switch($kasuj)
  46. {
  47. case '1': { if ($wiersz['sciezka']!=''){ unlink('zdjecia/'.$nazwa); } ;break; }
  48. case '2': { if ($wiersz['sciezka2']!=''){ unlink('zdjecia/'.$nazwa2); }; break; }
  49. case '3': { if ($wiersz['sciezka3']!=''){ unlink('zdjecia/'.$nazwa3); }; break; }
  50. case '4': { if ($wiersz['sciezka4']!=''){ unlink('zdjecia/'.$nazwa4); }; break; }
  51. case '5': { if ($wiersz['sciezka']!=''){ unlink('zdjecia/'.$nazwa); }
  52. if ($wiersz['sciezka2']!=''){ unlink('zdjecia/'.$nazwa2); }
  53. if ($wiersz['sciezka3']!=''){ unlink('zdjecia/'.$nazwa3); }
  54. if ($wiersz['sciezka4']!=''){ unlink('zdjecia/'.$nazwa4); }
  55. ; break;}
  56. }
  57.  header("location: index.php");
  58.  
  59.  
  60. }
  61. ?>

Witam ponownie prawdopodobnie znalazlem przyczyne znikających zdjęć ale pewny nie jestem czy tylko dlatego. No więc sprawa jest taka: zauważyłem że nie raz ładowane są na server zdjęcia oddzielone spacją.

Np. Zdjęcie piwerwsze(1).jpg

Problem jest taki że nazwa zdjęcia jest pobierana z bazy i po najechaniu na pustą ikonke gdzie powinno być zdjęcie wyświetla mi sie odnosnik ale zmieniony na taki:

Zdjęcie%pierwsze(1).jpg

Sądze że prawdopodobnie to ejst przyczyną tego że zdjęcie się nie wyświetla. Czy istnieje jakiś sposób na pozbycie się tego znaku % questionmark.gif