Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]UPLOAD plików na serwer
Forum PHP.pl > Forum > Przedszkole
qba10
  1. <?php
  2. for( $x = 1; $x <= $_POST['liczba']; $x++ ) {
  3.  
  4. if (is_uploaded_file($_FILES['plik#1']['tmp_name'])) {
  5.  
  6. if ($_FILES['plik#'.$x.'']['type'] == 'image/jpeg' or $_FILES['plik#'.$x.'']['type'] == 'image/png' or $_FILES['plik#'.$x.'']['type'] == 'image/gif') {
  7.  echo 'Odebrano plik :  '.$_FILES['plik#'.$x.'']['name'];
  8. echo '<br/>';
  9. $nazwagalerri = str_replace(' ', '', $_POST['nazwa']);
  10. $datagalerri = date('Ymd') ; 
  11. if (!is_dir("../galeria/".$nazwagalerri.'0'. $datagalerri))
  12. {
  13. mkdir ("../galeria/".$nazwagalerri.'0'. $datagalerri, 0777);
  14. move_uploaded_file($_FILES['plik#'.$x.'']['tmp_name'],
  15. "../galeria/".$nazwagalerri.'0'.$datagalerri."/".$_FILES['plik#'.$x.'']['name']);
  16. }
  17. echo' <script>document.cookie = "proces=wykonany";</script>';
  18. }
  19. else { echo '<script>document.cookie = "proces=blad";</script>Plik #'.$x.' nie jest zdjęciem!!!<br>';}
  20. }
  21.  else {
  22.  echo 'Błąd przy przesyłaniu danych!';
  23. echo' <script>document.cookie = "proces=blad";</script>';
  24. }
  25. ?>

Dlaczego nie mogę zapomocą tego skryptu uploadować dwóch zdjęć jednoczesnie questionmark.gif?
nospor
$_FILES['plik#1']
i wszystko jasne winksmiley.jpg

ps: a jesli nie wszystko jasne to powiino byc tak jak wszedzie: $_FILES['plik#'.$x]
qba10
hehe no fakt nie zauważyłem smile.gif
dzięx exclamation.gif smile.gif
taki_sobie_programista
Ciekawy skrypt, tylko jest jeden problem, ja napisałem coś podobnego i jak ładuje jpga przez IE to działa tylko z typem image/pjpeg, natomiast wogóle nie łapie PNG. W FF oczywiście brak takich problemów. Macie jakieś sugestie co do tego jak pod IE wysłać PNG na serwer?

A oto mój kodzik:
  1. <?php
  2. // jesli został wysłany formularz
  3. if (isset($_POST['plik1poszlo'])) {
  4. $max_rozmiar = 1024*1024;
  5. // jesli plik został wysłany
  6. if (is_uploaded_file($_FILES['plik1']['tmp_name'])) {
  7. // sprawdzamy rozmiar pliku
  8. if ($_FILES['plik1']['size'] <= $max_rozmiar) {
  9. $plik1rozmiar = TRUE;
  10. } else {
  11. $plik1rozmiar = FALSE;
  12. }
  13. // sprawdzamy rozmiar pliku
  14. $plik1typ_tmp = $_FILES['plik1']['type'];
  15. if ($plik1typ_tmp == 'image/pjpeg' OR $plik1typ_tmp == 'image/jpeg' OR $plik1typ_tmp == 'image/gif' OR $plik1typ_tmp == 'image/png') {
  16. $plik1typ = TRUE;
  17. } else {
  18. $plik1typ = FALSE;
  19. }
  20. // jeli wszystko jest dobrze to kończymy operacje
  21. if ($plik1rozmiar AND $plik1typ == TRUE) {
  22. echo "Plik został odebrany. Dziękujemy.";
  23. move_uploaded_file($_FILES['plik1']['tmp_name'], $_SERVER['DOCUMENT_ROOT'].'/foto/'.$_FILES['plik1']['name']);
  24. echo "<br><img src='foto/".$_FILES['plik1']['name']."'>";
  25. } else {
  26. echo 'Nieprawidłowy rozmiar lub typ pliku!';
  27. }
  28. } else {
  29. echo 'Błąd przy przesyłaniu danych!';
  30. }
  31. }
  32. ?>


A wysyłam to za pomocą:
  1. <form action='plik2.php' method='post' enctype='multipart/form-data'>
  2. <input type='file' name='plik1'>
  3. <input type='submit' value='Wyślij plik' name='plik1poszlo'>
  4. </form>
nospor
Manual naprawde nie gryzie:
http://pl2.php.net/manual/pl/features.file-upload.php
Cytat
Browsers intepret png upload type differently too eg.

print_r() output from Mozilla 1.6
Array ( [name] => eg1.png [type] => image/png [tmp_name] => /var/tmp/phpIJd4FL [error] => 0 [size] => 66614 )

print_r() output from IE 6
Array ( [name] => eg1.png [type] => image/x-png [tmp_name] => /var/tmp/phpHJ04Dh [error] => 0 [size] => 66614 )
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.