Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Upload plików
Forum PHP.pl > Forum > Przedszkole
in5ane
Witam,
mam pytanie.
Jak zrobić, żeby jeżeli ktoś nic nie zauploaduje to zauploadowało plik z serwera tam o np. nazwie no_image.jpg.

Oto mój obecny kod:
  1. <?php
  2. if (isset($_FILES['Plik']))
  3.  
  4. $cnt=count($_FILES["Plik"]["name"]);
  5. $brakbledu=0;
  6. $blad=0;
  7. for($i=0;$i<$cnt;$i++)
  8. {
  9.  if($_FILES["Plik"]["name"][$i]!='' && $_FILES["Plik"]["size"][$i]>0)
  10.  {
  11.  $iloscplikow++;
  12.  $exts=strtolower(substr($_FILES["Plik"]["name"][$i],-3));
  13.  
  14.  if ($exts == "gif" || $exts == "jpg" || $exts == "png")
  15.  {
  16.  srand((double)microtime()*1000000);
  17.  $nazwa = md5(uniqid(rand()));
  18.  $kr = ".";
  19.  if (move_uploaded_file($_FILES["Plik"]["tmp_name"][$i],'fotki/'.''.$nazwa.''.''.$kr.''.''.$exts.''))
  20.  {
  21. $brakbledu++;
  22. }
  23. else
  24. {
  25. $blad++;
  26. switch($_FILES["Plik"]["error"][$i])
  27.  {
  28.  case 1: echo('Przesyłany plik '.$_FILES["Plik"]["name"][$i].' jest większy niż zezwala konfiguracja serwera.');break;
  29.  case 2: echo('Przesyłany plik '.$_FILES["Plik"]["name"][$i].' jest wiekszy niż zezwala formularz.);break;
  30.  case 3: echo('Przesłano tylko część pliku '.$_FILES["Plik"]["name"][$i].'.');break;
  31.  case 4: echo('Plik '.$_FILES["Plik"]["name"][$i].' nie został przesłany.');break;
  32.  }
  33. }
  34.  
  35.  }
  36.  else
  37.  {
  38. echo('Przesyłany plik '.$_FILES["Plik"]["name"][$i].' nie jest plikiem graficznym.');
  39.  }
  40.  
  41. }
  42.  
  43. if($iloscplikow==0) { echo 'Nie przesyłasz ani jednego zdjęcia.'; } // żeby zamiast tego puściło skrypt dalej, tzn. na akceptacji przez admina i dodał
    o obrazek z serwera o nazwie no_image.jpg
  44. else {
  45. if($brakbledu==$iloscplikow)
  46. {
  47. echo('Twoje ogłoszenie oczekuje, na akceptację administratora.); // tutaj pozwoliłem sobie dalej wyciąć dodawania danych do bazy
  48. }
  49. }
  50. ?>


Z góry dziękuję za pomoc smile.gif
tiraeth
Robisz to samo, tylko, że "przenosisz" (move_uploaded_file) plik z jakiegoś tam katalogu na serwerze, a nie z /tmp. Z bazą danych dokładnie tak samo. Pogłówkuj i pomyśl... bo to wcale nie boli.
Cienki1980
A po co w ogóle chcesz kopiować plik za każdym razem gdy ktoś nie da swojego pliku do uploadu questionmark.gif?

W takich przypadkach lepiej podczas wyświetlania zdjęć sprawdzać , czy użytkownik dał swoje zdjęcia ( na podstawie informacji z bazy ) jeżeli tak to wyświetlasz jego zdjęcia, jeżeli nie to wyświetlasz zdjęcie no_image.jpg z określonej sztywnej lokalizacji.
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.