Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przerzucanie pliku przestało działać
Forum PHP.pl > Forum > PHP
Vasquez21
Witam wszystkich.

Nie wiem co się stało, ale nagle mi przestał działać skrypcik do wrzucania plików na serwer.

Mam prosty formularz:

  1. <?php 
  2.  
  3. echo' <form enctype="multipart/form-data" action="" method="POST"> 
  4. <input type="hidden" name="MAX_FILE_SIZE" value="3000000" /> 
  5. <input class="form1" name="userfile" type="file" /> 
  6. <input type="hidden" name="ID_produktu" value="'.$produkt['ID_produktu'].'">  
  7. <input class="form1" type="submit" name="guzik" value="Wyslij" /> ';
  8.  
  9. ?>


I odbieram to:
  1. <?php
  2. $nazwa_pliku = $_POST['ID_produktu'].'.jpg'; 
  3. echo '<br />-'.$nazwa_pliku; //wszystko ok się pokazuje
  4. mysql_query("UPDATE Produkty SET Foto = '".$nazwa_pliku."' WHERE ID_produktu = '".$_POST['ID_produktu']."' ") or die("blad1");
  5. $location = '../images/products/'.basename($nazwa_pliku);
  6. echo '<br />-'.$location; //również ok
  7. echo '<br />-'.$_FILES['userfile']['tmp_name']; // !!! i tutaj właśnie nic... ;/
  8. echo '<br />-'.$_FILES['userfile']; // tu również
  9. if (move_uploaded_file($_FILES['userfile']['tmp_name'], $location)) 
  10. { 
  11. $komunikat .= "<p>Plik został załadowany poprawnie...</p>";
  12. } 
  13. else 
  14. { 
  15. $komunikat .= "<p>Plik nie został załadowany...</p>";
  16. }
  17. ?>


Wygląda tak jakby nagle przestało mi działać $_FILES, czy ktoś ma jakiś pomysł co sie mogło stać?
siemakuba
A jakie dokładnie testy przeprowadziłeś? :)

Co jest w $_FILES po przesłaniu pliku?
Jakiś błąd się ujawnia?
Nie zmieniły się prawa zapisu do folderu do którego zapisujesz?
Nie zmieniła się konfiguracja serwera?

pozdr.
Vasquez21
Cytat
A jakie dokładnie testy przeprowadziłeś? smile.gif


? Próbowałem zapisać pliczek tak jak zawsze, ale wyświetla mi się komunikat: "Plik nie został załadowany...", poza tym na serwerze w folderze w którym powinny lądować pliczki nie pojawią się nowe.

Cytat
Co jest w $_FILES po przesłaniu pliku?


No właśnie wygląda tak jakby nic nie było.
W kodzie wrzuciłem
echo '<br />-'.$_FILES['userfile'];
i normalnie powinno to chyba zwracać array, ale tym razem nic się nie wyświetla

Cytat
Jakiś błąd się ujawnia?


Skrypt nie działa?smile.gif

Cytat
Nie zmieniły się prawa zapisu do folderu do którego zapisujesz?


Nie już sprawdzałem. Ustawiłem nawet na jakiś czas 777

Cytat
Nie zmieniła się konfiguracja serwera?


Korzystam z płatnego serwera home.pl, więc ciężko mi powiedzieć. Zakładam, że nie.
kszychu
Zrób print_r($_FILES); a nie echo.
MajareQ
mógbłyś pokazać dzałanie(?) skryptu? lepiej mi zobaczyc samemu co sie dzieje winksmiley.jpg
Vasquez21
Cytat(kszychu @ 21.03.2008, 10:01:29 ) *
Zrób print_r($_FILES); a nie echo.


Zwraca:
Array ( )

Cytat(MajareQ)
mógbłyś pokazać dzałanie(?) skryptu? lepiej mi zobaczyc samemu co sie dzieje


Hmmm nie bardzo rozumiem. Wszystko jest wrzucone u samej góry.
siemakuba
A co zwraca:

  1. <?php
  2. echo ini_get('upload_max_filesize');
  3. echo ini_get('file_uploads');
  4. ?>


I czy przesyłany plik nie jest większy niż MAX_FILE_SIZE z formularza?

pozdr.
Vasquez21
Cytat(siemakuba @ 21.03.2008, 10:23:00 ) *
A co zwraca:

  1. <?php
  2. echo ini_get('upload_max_filesize');
  3. echo ini_get('file_uploads');
  4. ?>


I czy przesyłany plik nie jest większy niż MAX_FILE_SIZE z formularza?

pozdr.


-64M
-1

Pliczek jest mały ~20kb
siemakuba
Hm, a jak z miejscem na dysku?
Katalog /tmp masz u siebie czy korzysta z systemowego? Jak u siebie, to czyścisz go po przeniesieniu plików we właściwie miejsce?

pozdr.
Vasquez21
Cytat(siemakuba @ 21.03.2008, 10:43:17 ) *
Hm, a jak z miejscem na dysku?
Katalog /tmp masz u siebie czy korzysta z systemowego? Jak u siebie, to czyścisz go po przeniesieniu plików we właściwie miejsce?

pozdr.


Z miejscem wydaje mi się że nie ma problemu, bo mogę zgrywać pliczki bez żadnego problemu na serwerek.
Poza tym problem występuje na różnych komputerach.
l0ud
Vasquez21, a przeglądarka w ogóle coś wysyła do serwera (wybierz jakiś większy plik i spróbuj go wysłać patrząc na jej pasek statusu). Może coś z formularzem nie tak? Tak na oko widać, że nie jest zamknięty...
Vasquez21
Cytat(l0ud @ 21.03.2008, 10:56:05 ) *
Vasquez21, a przeglądarka w ogóle coś wysyła do serwera (wybierz jakiś większy plik i spróbuj go wysłać patrząc na jej pasek statusu). Może coś z formularzem nie tak? Tak na oko widać, że nie jest zamknięty...


Hmmm rzeczywiście. Jak dałem większy plik to tak samo szybko zareagował jak przy mniejszych plikach.

Ale formularz Wam przeklejałem to nie wiem co mogłoby być nie tak.
l0ud
Umieść gdzieś pełne źródło strony z formularzem.
Vasquez21
Dobra problem rozwiązany...

Podczas przygotowywania stronki ze źródłem okazało się że ta przygotowana działa... chwila poszukiwań i okazało się, że podczas tych "drobnych" modyfikacji na stronie kiedy to chciałem usunąć jeden wiersz, nie zauważyłem że w tym samym wierszu miałem zamknięcie wcześniejszego forma ;/

więc miałem form w formie i przez to nie chodziło.
Przepraszam za zamieszanie i dzięki za wszystkie wskazówki smile.gif
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.