Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]upload kilku plików nie działa
Forum PHP.pl > Forum > Przedszkole
jurek2351
jestem początkujący w tematyce php, ale udało mi się stworzyć skrypt, który niestety nie działa, chociaż chyba jest całkiem poprawny.
oto skrypt:

  1. <!--c1--><div class='codetop'>Kod</div><div class='codemain'><!--ec1-->
  2. if (isset($_POST[submit])):
  3. for($x=1;$x<=5;$x++)
  4.     {    
  5.        if (is_uploaded_file($_FILES['plik'.$x]['tmp_name']))      
  6.           {                                            
  7.               if ($_FILES['plik'.$x]['type'] == "image/jpeg" OR $_FILES['plik'.$x]['type'] == "image/pjpeg")
  8.               {
  9.                  $nowa=$x;
  10.                  move_uploaded_file($_FILES['plik'.$x]['tmp_name'],$_SERVER['DOCUMENT_ROOT']."/awakacje/zdjecia/$nowa.jpg" );
  11.                  $nowaf="/awakacje/zdjecia/$nowa.jpg";      
  12.                  $nowa=($nowa.'a');
  13.                  move_uploaded_file($_FILES['plik'.$x]['tmp_name'],$_SERVER['DOCUMENT_ROOT']."/awakacje/zdjecia/$nowa.jpg" );
  14.                  $mnowa="/awakacje/zdjecia/$nowa.jpg";
  15.               }  
  16.                 else  
  17.               {
  18.                 echo'błędny typ pliku.';
  19.               }                
  20.           }              
  21.           else
  22.           {        
  23.           echo'<h2>brak zdjęć</h2>';        
  24.           }          
  25.             if ($x=='1')
  26.            {
  27.            $foto1=$nowaf;
  28.            $mfoto1=$mnowa;
  29.            }
  30.            if ($x=='2')
  31.            {
  32.            $foto2=$nowaf;
  33.            $mfoto2=$mnowa;
  34.            }
  35.            if ($x=='3')
  36.            {
  37.            $foto3=$nowaf;
  38.            $mfoto3=$mnowa;
  39.            }
  40.            if ($x=='4')
  41.            {
  42.            $foto4=$nowaf;
  43.            $mfoto4=$mnowa;
  44.            }
  45.            if ($x=='5')
  46.            {
  47.            $foto5=$nowaf;
  48.            $mfoto5=$mnowa;
  49.            }
  50.     }
  51. // zapisywanie adresów
  52.     include("fuks.php");
  53.     $sql = "INSERT INTO fotosiki VALUES (NULL,'$kluczfoto','$foto1','$foto2','$foto3','$foto4','$foto5','$mfoto1','$mfoto2','$mfoto3','$mfoto4','$mfoto5')";
  54.     mysql_query($sql);
  55. ?>      
  56.    <script language="JavaScript">
  57.                  zamknij();
  58.         function zamknij()
  59.                  {
  60.                  window.close()
  61.                  }
  62.                  </script>      
  63. <?
  64.       else:    
  65.       print_form();
  66.        endif;  
  67.   function print_form()
  68. {  
  69. ?>
  70. <br />
  71. <h4>
  72. Dodaj swoją ofertę.
  73. </div>
  74. <form name="formik" action="<?php echo $PHP_SELF?>" method="post"  ENCTYPE="multipart/form-data">
  75. <?
  76. for($x=1;$x<=5;$x++)
  77. {
  78. echo'<div class="formfoto">';
  79. echo'</div>';
  80. echo'<div class="formfoto1">';
  81. printf("$x.<input type=\"file\" name=\"plik\".$x.\" > tylko format jpg");
  82. echo' </div>';
  83. echo'<br /><br />';                        
  84.   }
  85.   ?>
  86. <input type="submit" name="submit" value="dodaj swoje ogłoszenie">
  87. <br /><br /><br />
  88. </form><!--c2--></div><!--ec2-->


a problem jest taki, że już instrukcja:

Kod
  
if(is_uploaded_file($_FILES['plik'.$x]['tmp_name']))


nie widzi żadnego przesyłanego pliku i przechodzi do instrukcji:

Kod
else
          {        
          echo'<h2>brak zdjęć</h2>';        
          }


Gdzie popełniłem błąd?
z góry dziękuję ...

ps. ze skryptu wyciąłem fragmenty dotyczące skalowania zdjęć, ich obróbki itp, co nie wpływa na sposób działania skryptu,

pozdrawiam
tr@k
  1. if (isset($_POST[submit])):

powinno być
  1. if (isset($_POST['submit']))

chyba, że masz taką stałą zdefiniowaną

Zapisz sobie $_FILES do pliku i sprawdź zawartość
phpion
Problem jest w nazwie pola dla pliku.
  1. printf("$x.<input type=\"file\" name=\"plik\".$x.\" > tylko format jpg");

wypisze Ci dla $x=1:
  1. 1.<input type="file" name="plik".1." > tylko format jpg

Jak widzisz nie jest to to, czego oczekujesz (name jest złe). Popraw tą linijkę, a powinno zadziałać.
jurek2351
dzięki phpion, rzeczywiście, powinno być:
Kod
printf("$x.<input type=\"file\" name=\"plik".$x."\"> tylko format jpg");


głupi błąd , ...
jeszcze raz dzięki
pozdrawiam ...
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.