Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]upload fotki a skasowanie poprzedniej
Forum PHP.pl > Forum > Przedszkole
pijanyadmin
  1. <?php
  2. require(&#092;"connect.php\");
  3.  
  4. if($_FILES['fotka']['type'] =='image/jpeg' || $_FILES['fotka']['type'] == 'image/png' )
  5.    {
  6.     $nazwa1 = date(&#092;"HisdmY\");
  7. $nazwa2 = $_FILES['fotka']['name'];
  8.  $nazwa_zmieniona = &#092;"$nazwa1$nazwa2\";
  9. $fotografia = 'fotografie/'.$nazwa_zmieniona;
  10.  
  11. move_uploaded_file($_FILES['fotka']['tmp_name'],&#092;"fotografie/\".$nazwa_zmieniona);
  12.  
  13.  
  14. $login = $_SESSION['login'];
  15.  
  16.  
  17. $query = mysql_query(&#092;"UPDATE `userdata` SET `fotografia`='$fotografia' WHERE login = '$login'\");
  18.  
  19.  
  20. echo &#092;"fotka została dodana\";
  21.    }
  22.            else {
  23.    echo 'nieprawidłowy format pliku! Akceptowalny fotmat to *.jpg, *.jpeg, *.png';
  24. }
  25.  
  26. ?>


i niby się wszytko zapisuje do katalogu, walidacja pliku też działa, tylko jak zrobić aby po wysłaniu "nowej" fotki poprzednia była kasowana z serwera z tego właśnie katalogu, aby nie zaśmiecać niepotrzebnie serwera
potreb
  1. <?php
  2. move_uploaded_file($_FILES['fotka']['tmp_name'],"fotografie/".$nazwa_zmieniona);
  3. unlink ('fotografie/'$nazwa2);
  4. ?>


Chyba okey bedzie
pijanyadmin
Kod
Parse error: syntax error, unexpected T_VARIABLE


i dodtyczy to właśnie tego

  1. <?php
  2. unlink ('fotografie/'$nazwa2);
  3. ?>


zmieniłem to na

  1. <?php
  2. unlink ('fotografie/'$nazwa_zmieniona);
  3. ?>


ale też nic
potreb
Błąd składni:
  1. <?php
  2. $plik = "fotografie/".$nazwa2;
  3. unlink ($plik);
  4. ?>
pijanyadmin
Kod
Warning: unlink(fotografie/foto2.jpg) [function.unlink]: No such file or directory in /var/www/update.php on line 19
potreb
twoj kod wysyla tylko jedno zdjecia na serwer wiec co chcesz kasowac??
pijanyadmin
obecnie jest tak iż wysyłam fotke na serwer, ścieżka do niej jest zapisana w bazie a plik w katalogu... jeśli jednak chciałbym zmienić fotke, wysyłam nową dzięki formularzowi tylko tak aby stara fotka była kasowana a nowa się zapisała w bazie i w katalogu... jakoś nie mam pomysłu na to aby jeśli fotka jest już wgrana była opcja "usuń" tylko zamiast formularza wysłania.
potreb
Musisz to zrobić za pomocą mysql, o ile widzę to będzie ci służyło jako np avatar użytkowników?
Wtedy robisz tak. Wysyłając fotkę sprawdzasz czy w bazie już jest jakiś wpis jeżeli tak, pobierasz go z bazy usuwając najpier zdjęcie a pożniej uploudujesz.
pijanyadmin
tyle to wiem, tylko musze rozgryźć to teraz jak takie coś zrobić...
potreb
  1. <?php
  2. require("connect.php");
  3. $login = $_SESSION['login'];
  4. $sql = mysql_query("SELECT * FROM `userdata` WHERE login = '$login'") or die(mysql_error());
  5. while ($row = mysql_fetch_array($sql)) {
  6. if ($row['fotografia'] != "") {
  7. $plik = "fotografie/".$row['fotografia'];
  8. unlink ($plik);
  9. }
  10. }
  11.  
  12. if($_FILES['fotka']['type'] =='image/jpeg' || $_FILES['fotka']['type'] == 'image/png' )
  13. {
  14. $nazwa1 = date("HisdmY");
  15. $nazwa2 = $_FILES['fotka']['name'];
  16. $nazwa_zmieniona = "$nazwa1$nazwa2";
  17. $fotografia = 'fotografie/'.$nazwa_zmieniona;
  18. move_uploaded_file($_FILES['fotka']['tmp_name'],"fotografie/".$nazwa_zmieniona);
  19.  
  20. $query = mysql_query("UPDATE `userdata` SET `fotografia`='$fotografia' WHERE login = '$login'");
  21.  
  22.  
  23. echo "fotka została dodana";
  24.  }
  25.  else {
  26.  echo 'nieprawidłowy format pliku! Akceptowalny fotmat to *.jpg, *.jpeg, *.png';
  27. }
  28.  
  29. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.