Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Uploadowanie plików na serwer
Forum PHP.pl > Forum > Przedszkole
zabic
Witam
Od kilkudziesięciu godzin szukam w Google jakiegoś działającego, najprostszego skryptu do uploadu plików na serwer (chcę go zainstalować, przetestować i przeanalizować), lecz co jakiś znajdę to się sypie, więc stąd moje pytanie. W jaki sposób uploaduje się pliki na serwer za pomocą PHP? O czym trzeba pamiętać podczas pisania takiego skryptu ?

pozdrawiam
piotrooo89
$_FILES, Handling file uploads i move_uploaded_file
essey
kilkadziesiąt godzin? wow! mi zajęło 0.12 sekundy znalezienie prostego tutoriala na google... wpisz "php file upload", a nawet po polsku coś się znajdzie.... smile.gif
zabic
Cytat
kilkadziesiąt godzin? wow! mi zajęło 0.12 sekundy znalezienie prostego tutoriala na google
Nieco wyolbrzymiłem sprawę, ale biorąc pod uwagę szukanie, instalowanie, testowanie i analizę - trochę czasu mi to zajęło.

Napisałem coś takiego:
  1. <?php
  2.  
  3. if($_POST['upload']=="1") {
  4. $to="uploads/".$_FILES['file']['name'];
  5. move_uploaded_file($_FILES['file']['tmp_name'], $to);
  6.  
  7. echo "<pre>";
  8. print_r($_FILES);
  9. echo "</pre>";
  10. }
  11.  
  12. ?>
  13.  
  14. <form method="post" action="test.php" enctype="multipart/form-data">
  15. <input type="hidden" name="upload" value="1">
  16. <input type="file" name="file">
  17. <input type="submit" value="Upload">
  18. </form>
Niby uploaduje mi pliki tylko problem jest z plikami posiadającymi polskie znaki diakrytyczne. Przykład: uploaduję plik o nazwie "zdjęcie" a na serwerze pojawia się plik o nazwie: "zdjÄ?cie". Jak poradzić sobie z polskimi znakami ?

pozdrawiam
Grisza
Cytat(zabic @ 7.05.2010, 10:23:07 ) *
Nieco wyolbrzymiłem sprawę, ale biorąc pod uwagę szukanie, instalowanie, testowanie i analizę - trochę czasu mi to zajęło.

Napisałem coś takiego:
  1. <?php
  2.  
  3. if($_POST['upload']=="1") {
  4. $to="uploads/".$_FILES['file']['name'];
  5. move_uploaded_file($_FILES['file']['tmp_name'], $to);
  6.  
  7. echo "<pre>";
  8. print_r($_FILES);
  9. echo "</pre>";
  10. }
  11.  
  12. ?>
  13.  
  14. <form method="post" action="test.php" enctype="multipart/form-data">
  15. <input type="hidden" name="upload" value="1">
  16. <input type="file" name="file">
  17. <input type="submit" value="Upload">
  18. </form>
Niby uploaduje mi pliki tylko problem jest z plikami posiadającymi polskie znaki diakrytyczne. Przykład: uploaduję plik o nazwie "zdjęcie" a na serwerze pojawia się plik o nazwie: "zdjÄ?cie". Jak poradzić sobie z polskimi znakami ?

pozdrawiam

A masz ustawione kodowanie na UTF-8 ?
Ja jestem tu zielony, ale próbuję pierwszy raz pomóc.
zabic
Oczywiście w sekcji head mam:
  1. <meta http-equiv="content-type" content="text/html; charset=utf-8"
essey
Widzę, że mimo wszystko google to nie jest twój przyjaciel smile.gif

Poczytaj o iconv

http://forum.php.pl/index.php?s=&showt...st&p=555231
zabic
Czyli wychodzi na to, że nie powinno używać się nazw plików zawierających polskie znaki diakrytyczne tylko zamieniać je na odpowiedniki "bezogonkowe" np. ą => a, ć => c, dobrze to rozumiem ?
essey
Stosowanie polskich znaków w adresie jak tak samo głupie, jak korzystanie z domen z polskimi znakami...
Generalnie stosuje się rozwiązanie o którym mówisz, konwertując polskie znaki do łacińskich odpowiedników (spacje również nie są mile widziane w adresach)
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.