Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> PHP nie odbiera mi plików z serwera.
Asmox
post 24.05.2013, 14:39:37
Post #1





Grupa: Zarejestrowani
Postów: 359
Pomógł: 12
Dołączył: 16.01.2009

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


Hej, mam problem z uploadem plików. Cały formularz wysyła się przez POST i wszystkie dane dostają się do skryptu oprócz pliku. W dodatku głupiego obrazka. Poniżej wklejam listingi mojego kodu.
products-add-n-view.phtml - formularz tworzący nowy produkt
  1. <!-- ... -->
  2. <form action="modyfikacja.php" enctype="multipart/form-data" method="POST">
  3. <h3>Dodaj nowy produkt</h3>
  4. <tr>
  5. <td>nazwa</td>
  6. <td><input type="text" name="name"></td>
  7. </tr>
  8. <tr>
  9. <td>link</td>
  10. <td><input type="text" name="link"></td>
  11. </tr>
  12. <tr>
  13. <td>zdjęcie</td>
  14. <td><input type="file" name="plik" /></td>
  15. </tr>
  16. <tr>
  17. <td colspan="2"><input type="submit" value="Wyślij" /></td>
  18. </tr>
  19. </table>
  20. <input type="hidden" name="opt" value="product_new" />
  21. <input type="hidden" name="MAX_FILE_SIZE" value="50000" />
  22. </form>
  23. <!-- ... -->


modyfikacja.php - skrypt który odbiera dane i ma tworzyć nowy produkt
  1. // ...
  2. if (isset ($_POST['opt'])) {
  3. if ($_POST['opt'] == 'product_new') {
  4. echo '<br />Tworzenie nowego produktu';
  5. print_r($_POST);
  6. // przenoszenie pliku
  7. if (isset ($_POST['img'])) {
  8. echo 'jest img';
  9. print_r($_FILES);
  10. }
  11. }
  12. // ...


php.ini - fragment ustawień php
Kod
file_uploads = On
upload_tmp_dir = "C:\serwer\www\tmp"
upload_max_filesize = 2M
max_file_uploads = 20


Problem polega na tym, że php zupełnie ignoruje mi przesyłane pliki. Listowanie zmiennej $_POST ukazuje mi wszystko z formularza oprócz tego pliku. Bardzo proszę o pomoc.


--------------------
Go to the top of the page
+Quote Post
gothye
post 24.05.2013, 17:07:06
Post #2





Grupa: Zarejestrowani
Postów: 702
Pomógł: 65
Dołączył: 16.03.2009

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


Ponieważ plik masz w tabilcy $_FILES a nie $_POST


--------------------
Nie udzielam pomocy poprzez PW
Go to the top of the page
+Quote Post
webdice
post 24.05.2013, 19:41:20
Post #3


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




  1. if (isset ($_POST['img'])) {


Nigdzie w kodzie HTML nie masz zadeklarowanego pola o nazwie img. Sprawdź co wyświetla Ci samo:

  1. print_r( $_FILES );


bo odnoszę wrażenie że informacje o pliku.
Go to the top of the page
+Quote Post
Asmox
post 25.05.2013, 11:48:07
Post #4





Grupa: Zarejestrowani
Postów: 359
Pomógł: 12
Dołączył: 16.01.2009

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


Powiem szczerze że myślałem iż informacje o przesłanym pliku znajdują się również w tablicy $_POST. Teraz wszystko się zgadza i wydaje się proste. Bardzo dziękuję za pomoc i przepraszam za niechlujstwo w kodzie. Zmieniałem atrybut name pola file, bo wydawało mi się że wcześniej użyłem jakiejś zabronionej nazwy. Później zapomniałem zmienić przeszukiwanie w skrypcie. Mimo wszystko nic by to nie dało, bo pliki idą do zmiennej $_FILE, a w $_POST nie ma żadnej wzmianki. Temat można zamknąć.


--------------------
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: 29.03.2024 - 14:54