Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Upload plików
in5ane
post 4.08.2007, 19:18:36
Post #1





Grupa: Zarejestrowani
Postów: 1 335
Pomógł: 34
Dołączył: 9.11.2005
Skąd: Wrocław

Ostrzeżenie: (10%)
X----


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


--------------------
> > > Tworzenie stron < < <
Go to the top of the page
+Quote Post
tiraeth
post 4.08.2007, 20:24:50
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
Cienki1980
post 4.08.2007, 20:28:07
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

Ostrzeżenie: (0%)
-----


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.


--------------------
404
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.07.2025 - 19:58