Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] multiuploader - zliczanie...
fredzio90
post 24.08.2007, 12:54:31
Post #1





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 19.02.2007

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


otóż znalazłem bardzo fajny skrypcik... multi uploadera... a po pmojej modyfikacji wygląda on tak:



  1. <?php
  2. $num_files = '3'; // Liczba maxymalna liczba dodanych zdjęć do ogłoszenia  
  3. $size_bytes = '1048576'; // Wielkość zdjecia jakie może być wysłane (w bajtach)
  4. $limitedext = array(".gif",".jpg",".jpeg"); // Dostepne rozszerzenia
  5. $upload_dir = "images/"; // Katalog zrzutu
  6.  
  7. if (!is_dir("$upload_dir")) {
  8. die ("Błąd: Katalog <b>($upload_dir)</b> nie istnieje");
  9.  }
  10.  
  11.  if (!is_writeable("$upload_dir")){
  12. die ("Błąd: Katalog <b>($upload_dir)</b> nie jest zapisywalny, Ustaw CHMOD na 777");
  13.  }
  14.  
  15.  
  16.  for ($i = 1; $i <= $num_files; $i++) {
  17.  
  18.  
  19.  $new_file = $_FILES['file'.$i];
  20.  $file_name = $new_file['name'];
  21.  //zamienia spację ( ) na znak _
  22.  $file_name = str_replace(' ', '_', $file_name);
  23.  $file_tmp = $new_file['tmp_name'];
  24.  $file_size = $new_file['size'];
  25.  
  26.  
  27.  if (!is_uploaded_file($file_tmp)) {
  28. echo "Zdjecie $i ($file_name) nie zaznaczone";
  29. } else {
  30.  
  31. $ext = strrchr($file_name,'.');
  32.  
  33. if (!in_array(strtolower($ext),$limitedext)) {
  34. echo "Zdjęcie Nr. $i: ( $file_name ) złe rozszeżenie. <br>";
  35. } else {
  36.  
  37. if ($file_size > $size_bytes){
  38. echo "Zdjęcia Nr. $i: ($file_name) Nie wysłano.<br />
  39.  Maxymalny rozmiar to <b>". $size_bytes / 1024 ."</b> KB. <br>";
  40. } else {
  41.  
  42. if(file_exists($upload_dir.$file_name)){
  43.  echo "Zdjęcie Nr. $i: ($file_name) znajduje się na serwerze.<br>";
  44. } else {
  45.  
  46. if (move_uploaded_file($file_tmp,$upload_dir.$file_name)) {
  47. echo "Zdjęcie $i: ($file_name) Wysłane.<br>";
  48. } else {
  49.  
  50.  echo "Zdjęcie $i: Nie udało się wysłać.<br>";
  51. }
  52. }
  53. }
  54. }
  55. }
  56. }
  57. ?>


i niestety niewiem jak zliczać w nim ile pól z dostępnych $num_files zostało wypełnione i wysłane... bo chcę liczbę wypełnionych formularzy które poprawnie wyślą plik dodać do bazy... tylko niewiem jak ją zliczyć...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
kornel-php
post 24.08.2007, 14:03:28
Post #2





Grupa: Zarejestrowani
Postów: 210
Pomógł: 20
Dołączył: 7.07.2006
Skąd: Krotoszyn

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


Dodaj sobie zmienną $ile_mam, zwiększaj ją o 1 przy każdym powtórzeniu pętli (jeśli pole będzie niepuste) i na końcu (pod pętlą) możesz sobie wypisać (echo, print...) tą zmienną.

O to chodziło?


--------------------
:)
Go to the top of the page
+Quote Post
fredzio90
post 24.08.2007, 14:46:04
Post #3





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 19.02.2007

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


a jakby to wyglądało w przyrodzie ?
Go to the top of the page
+Quote Post
kornel-php
post 24.08.2007, 15:50:20
Post #4





Grupa: Zarejestrowani
Postów: 210
Pomógł: 20
Dołączył: 7.07.2006
Skąd: Krotoszyn

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


  1. <?php
  2. $ile_mam = 0;
  3.  
  4. // twoja pętla...
  5.  
  6. if(isset($plik)) { $ile_mam++; }
  7.  
  8. // koniec pętli
  9.  
  10. echo 'Przesłano '.$ile_mam.' plików';
  11. ?>


Coś w tą mańkę, daj nazwy zmiennych jakie Ci pasują, rzuć w kod i powinno być ok.

Mam nadzieję, że dobrze zrozumiałem Twój problem winksmiley.jpg


--------------------
:)
Go to the top of the page
+Quote Post
fredzio90
post 25.08.2007, 09:00:54
Post #5





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 19.02.2007

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


chciałem to sprawdzić ale niewiem czemu, w pętli for zamiast ustawionych 3 pokazuje mi 1 pole formularza, a o to moj kod:


  1. <tr>
  2. <td align="right" valign="top" class="uni_01">Zdjecie:</td>
  3. <td class="uni_01">';
  4. for ($i = 1; $i <= $num_files; $i++) {
  5. echo '<input type="file" name="file'.$i.'><br>';
  6. }
  7. echo ' <input type="hidden" name="MAX_FILE_SIZE" value="'.$size_bytes.'">
  8. </td>
  9. </tr>


Ten post edytował fredzio90 25.08.2007, 09:01:17
Go to the top of the page
+Quote Post
drPayton
post 27.08.2007, 12:48:50
Post #6





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


Tu jest OK, pokaż całość, błąd musi być gdzie indziej. Najwyraźniej nie widzi zmiennej $num_files...

Ten post edytował drPayton 27.08.2007, 12:49:16
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: 25.07.2025 - 05:05