Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Upload plikow graficznych
Forum PHP.pl > Forum > Przedszkole
Slasher McKagan
Witam!!

Jak napisać upload plików graficznych tylko jpg, gif, png. Jakich funkcji użyc pokolei ? I jak zrobić aby uploadowane nazyw pliku to 1.rozszerzenie następny plik 2.rozszerzenie itd..
Suchy
1. Robisz odpowiedni formularz.
2. Piszesz skrypt, który poprzez funkcje strstr() szuka w nazwie pliku ciągu znaków "jpg", "gif" itd. Jeśli nie znalazł to znaczy ze plik ma inne rozszeżenie.
3. W pętli zmieniasz nazwe pliku.
4. Przenosisz do dopowiedniego miejsca na serwerze.

http://www.php.net/manual/pl/features.file-upload.php

to ci sięmoże przydać. Powodzenia.

Mama nadziej, ze poprawnie to napisałem.
Guest
2,3. - nie bardzo wiem jak..... szczegolnie jesli chodzi o 3
Suchy
a przeczytałes to co jest na tej stronie ?
M45t3r
  1. <?php
  2. if(empty($_POST['upload']))
  3. {
  4. echo '<form enctype="multipart/form-data" action="" method="POST">
  5. <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
  6. Adres: <input name="userfile" type="file" />
  7. <input type="submit" name="upload" value="Wyślij" />
  8. </form>';
  9. }
  10. else
  11. {
  12.  if(is_uploaded_file($_FILES['userfile']['tmp_name']))
  13.  {
  14.  $folder = 'localhost/~pixarcell/upload/awatary/'.$_FILES['userfile']['name'].'';
  15.  if(move_uploaded_file($_FILES['userfile']['tmp_name'],$folder))
  16.  {
  17. echo "ok";
  18.  }
  19.  else
  20.  {
  21. echo "cos nie tak...";
  22.  }
  23.  }
  24.  else
  25.  {
  26. echo "cos sie chrzani ;/";
  27.  }
  28. }
  29. ?>


nie dziala ... tongue.gif co jest nie tak?
revyag
Musisz podać ścieżkę na dysku a nie urla.
mike
Typ pliku możesz sprawdzić funkcją ype
Lista typów MIME:
M45t3r
no wiec zmienilem sciezke na:

  1. <?php
  2. $folder = 'C:/Program Files/WebServ/httpd-users/pixarcell/upload/awatary/'.$_FILES['userfile']['name'].'';
  3.  
  4. ?>


ale to dalej nic nie dało :|
revyag
Napewno to jest dobra ścieżka ?
Soróbuj tak i napisz czy dostajesz jakieś błędy.
  1. <?php
  2. if(is_uploaded_file($_FILES['userfile']['tmp_name']))
  3. {
  4. if(is_dir('C:/Program Files/WebServ/httpd-users/pixarcell/upload/awatary/')) {
  5. $folder = 'C:/Program files/WebServ/httpd-users/pixarcell/upload/awatary/'.$_FILES['userfile']['name'].'';
  6. if(move_uploaded_file($_FILES['userfile']['tmp_name'],$folder))
  7. {
  8. echo "ok";
  9. }
  10. else
  11. {
  12. echo "cos nie tak...-->".$_FILES['userfile']['error'];
  13. }
  14. }
  15. else
  16. {
  17. echo "Zły katalog";
  18. }
  19. }
  20. else
  21. {
  22. echo "cos sie chrzani ;/".$_FILES['userfile']['error'];
  23. }
  24. ?>
M45t3r
Kod
cos sie chrzani;/2
cos takiego widze...
mike
Cytat(M45t3r @ 2006-04-06 13:12:01)
Kod
cos sie chrzani;/2
cos takiego widze...

Ale inwencji twórczej już dalej zabrakło żeby sprawdzić co taki błąd oznacza, co?

Error Messages Explained

Echh, jak ja nie lubię leni zniechęconych do czytania manuala tongue.gif
M45t3r
Cytat
Value: 2; The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form.


plik wazyl 233 bajty a max_file_size to 30000


edit:


nikt nie wie co jest nie tak questionmark.gif
Gość__lechu_
A mi ten skypt zadziałał i skopiował plik bez problemu. Wystarczy wpisać poprawną ścieżkę do katalogu np:
  1. <?php
  2.  
  3. $folder = 'C:\\Program Files\\WebServ\\httpd-users\\pixarcell\\upload\\awatary\\'.$_FILES['userfile'];
  4.  
  5. ?>

rolleyes.gif
_Lechu_
Jeżeli chodzi o kopiowanie na serwer plików bez podawania całej ściezki to u mnie działa tak:

  1. <?php
  2.  
  3. if(is_uploaded_file($_FILES['userfile']['tmp_name']))
  4. {
  5. $path = "../test/plik/";
  6. if(is_dir($path)) {
  7. $folder = ''.$path.$_FILES['userfile']['name'].'';
  8. if(move_uploaded_file($_FILES['userfile']['tmp_name'],$folder)) {
  9. echo "ok";
  10. }
  11. else {
  12. echo "cos nie tak...-->".$_FILES['userfile']['error'];
  13. }
  14. }
  15. else {
  16. echo "Zły katalog";
  17. }
  18. }
  19. else {
  20. echo "cos sie chrzani ;/".$_FILES['userfile']['error'];
  21. }
  22.  
  23. ?>


Wyświetla "ok" i plik ląduje w katalogu $path.

No to chyba problem rozwiązany bo zdaje się, że o to chodziło rolleyes.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.