Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]upload kilku plików nie działa
jurek2351
post 13.09.2010, 13:32:48
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 1
Dołączył: 13.09.2010

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


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
Go to the top of the page
+Quote Post
tr@k
post 13.09.2010, 14:09:08
Post #2





Grupa: Zarejestrowani
Postów: 41
Pomógł: 8
Dołączył: 13.09.2010

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


  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ść

Ten post edytował tr@k 13.09.2010, 14:10:57


--------------------
Web usability
Program Partnerski
Go to the top of the page
+Quote Post
phpion
post 13.09.2010, 14:13:22
Post #3





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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ć.
Go to the top of the page
+Quote Post
jurek2351
post 13.09.2010, 19:21:19
Post #4





Grupa: Zarejestrowani
Postów: 6
Pomógł: 1
Dołączył: 13.09.2010

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


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 ...
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: 12.06.2025 - 14:58