Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: upload plików na loclahoscie
Forum PHP.pl > Forum > PHP
colinQ
Działam na serwerze Krasnal...

Mam sobie takie coś:
  1. <?php
  2. if( is_uploaded_file( $_FILES["plik"]['tmp_name'] ) )
  3. {
  4. $time = time();
  5. $pliku_nazwa = $time.$_FILES["plik"]['name'];
  6. $strUploadDir = 'obrazki/' . $pliku_nazwa;
  7. if( move_uploaded_file( $_FILES["plik"]['tmp_name'], $strUploadDir ) )
  8. {
  9. echo '<font style=font-size:10px>Zdjęcie załadowane pomyślne!<br>';
  10. }
  11. else
  12. {
  13. echo 'Upload pliku nie powiódł się!';
  14. }
  15.  
  16. }
  17. else
  18. {
  19. echo 'Wystąpił błąd podczas wysyłania pliku na serwer!<br>';
  20. }
  21. ?>


I cały czas wywala mi "Wystąpił błąd podczas wysyłania pliku na serwer!"

Na VertrigoServ tak samo :/
PawelC
Zobacz czy to Ci zadziała:
kod formularza
  1. <form method="post" action="skrypt.php" enctype="multipart/form-data">
  2. <input type="file" name="plik" />
  3. <input type="submit" value="Wyślij plik" />
  4. </form>

Skrypt który obsługuje formularz, dopuszcza tylko obrazki:
  1. <?php
  2. $plik_tmp = $_FILES['plik']['tmp_name'];
  3.  $plik_nazwa = $_FILES['plik']['name'];
  4. $plik_rozmiar = $_FILES['plik']['size'];
  5.  
  6.  
  7.  $ext = explode(".", $plik_nazwa);
  8.  
  9.  $allowed_ext = array("jpg", "gif", "png");
  10.  
  11.  $last = count($ext) - 1;
  12.  
  13.  if (!in_array($ext[$last], $allowed_ext)) { print "Błędny format pliku";
  14.  }else {  
  15.  move_uploaded_file($plik_tmp, "./$plik_nazwa");
  16.  echo "Zdjęcie zostało dodane";
  17. }
  18.  echo "<br />Dodane zdjęcie:<br /> <img src='$plik_nazwa'><br />";
  19.  
  20.  
  21.  
  22.  ?>

Pliki są wrzucane tam gdzie są wgrane pliki formularza oraz skryptu dodawania. Mi działa na localhost bez problemu, wrzucisz tylko obrazki jpg, gif i png przy reszcie wywali ci błąd że zły format pliku.
colinQ
Błędny format pliku
Dodane zdjęcie: // i tutaj ikonka nie wgranego pliku //

Tak myślałem, już wiele takich metod próbowałem...
Jojo
Spróbuj ustawić w php.ini dyrektywę upload_tmp_dir.
Cysiaczek
Tutaj po prostu plik nie przechodzi walidacji. Aby sprawdzić, czy wogóle masz pliki zrób print_r($_FILES); Jeśłi przy pliku bedzie klucz error miał wartośc większą niż 1, to znaczy, że upload się nie udał. Ewentualnie spójrz w moją sygnaturkę, ściągnij i uruchom - poda Ci każdy możliwy błąd przy uploadzie (po angielsku).

Pozdrawiam.
colinQ
fragment pliku php.ini
  1. <?php
  2. ; Temporary directory for HTTP uploaded files (will use system default if not
  3. ; specified).
  4. ;upload_tmp_dir =
  5. ?>


I co ja mam z tym począć??

  1. <?php
  2. ;upload_tmp_dir = On
  3. ?>
Dopisać "On" questionmark.gif

Robiąc print_r($_FILES); pokazało Array() czyli serwer nie uploaduje...
phpion
Cytat(colinQ @ 21.12.2007, 15:03:33 ) *
I co ja mam z tym począć??

Wpisać ścieżkę do katalogu tymczasowego dla uploadowanych plików. U mnie sekcja uploadu w php.ini wygląda tak:
Kod
;;;;;;;;;;;;;;;;
; File Uploads;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
upload_tmp_dir = "/tmp"

; Maximum allowed size for uploaded files.
upload_max_filesize = 2M
colinQ
Zrobiłem identycznie i dalej tablica jest pusta :/
phpion
Może 2 głupie pytania ale jednak:
- katalog podany w upload_tmp_dir istnieje?
- zrestartowałeś Apache?
colinQ
#1 nie tongue.gif a gdzie on ma się znajdować?
#2 tak tongue.gif
webdice
Cytat(colinQ @ 21.12.2007, 13:54:30 ) *
#1 nie tongue.gif a gdzie on ma się znajdować?


Stwórz na dysku katalog i podaj do niego ścieżkę.
phpion
Cytat(colinQ @ 21.12.2007, 15:54:30 ) *
#1 nie tongue.gif a gdzie on ma się znajdować?

:| no tam gdzie go podałeś :| u mnie jest to /tmp
matix
Moim zdaniem po prostu nie dodajesz do html-owego FORM:

Kod
enctype="multipart/form-data"


Pozdro winksmiley.jpg
colinQ
Kurde... Napiszcie jak to ma być...

P.S to jest moja ścieżka do folderu ze stroną -> "C:\usr\krasnal\www\sklep".

a to fragment php.ini
  1. <?php
  2. ;;;;;;;;;;;;;;;;
  3. ; File Uploads ;
  4. ;;;;;;;;;;;;;;;;
  5.  
  6. ; Whether to allow HTTP file uploads.
  7. file_uploads = On
  8.  
  9. ; Temporary directory for HTTP uploaded files (will use system default if not
  10. ; specified).
  11. upload_tmp_dir = "/tmp"
  12.  
  13. ; Maximum allowed size for uploaded files.
  14. upload_max_filesize = 2M
  15. ?>


Napiszcie mi gdzie i co stworzyć... Co i gdzie wpisać...
webdice
Pomyśl trochę, stworz sobie np. na dysku c katalog tmp, a w php.ini wpisz

Kod
upload_tmp_dir = "C:\tmp"


Oczywiście zrestartuj Apache.
colinQ
ech... nic nie dało sad.gif
phpion
Cytat(matix @ 21.12.2007, 16:02:43 ) *
Moim zdaniem po prostu nie dodajesz do html-owego FORM:

Kod
enctype="multipart/form-data"


Pozdro winksmiley.jpg

Tą uwagę uwzględniłeś?
colinQ
o jaaa...

nie uwzględniłem ale pewnie byłem że są identyczne...

enctype="multipart/form-data" => enctype="multipart-form-data"

haha biggrin.gif

Dzięki wszystkim winksmiley.jpg
PawelC
Hehe a wystarczyło skopiować ten formularz co Ci napisałem ze skryptem winksmiley.jpg tam miałeś to uwzględnione smile.gif
matix
Przykład ludzkiej glupoty.

Pisałem ci to, pisali inni. wiedzialem, ze o tym zapomniałeś.

Następnym razem wpierw sprawdź podstawy a nie się w jakieś konfiguracje wplątujesz.

Polecam lekture HTML.
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.