Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Upload na serwer, obsluga wyjatkow
Forum PHP.pl > Forum > PHP
phater
Witam, dany jest kod:
Kod
<?php

$file = $HTTP_POST_FILES["plik"]["tmp_name"];
$zapisz_jako = $HTTP_POST_FILES["plik"]["name"];

    
    

if (!copy($file, $zapisz_jako)) {

   print ("Kopiowanie pliku nie powiodło się...<br>\n");

}

print "<BR>Nazwa pliku: ".$HTTP_POST_FILES["plik"]["name"];

print "<BR>Rozmiar pliku: ".$HTTP_POST_FILES["plik"]["size"];

print "<BR>tymczasowo: ".$HTTP_POST_FILES["plik"]["tmp_name"];

print "<BR>Typ przesłanego pliku: ".$HTTP_POST_FILES["plik"]["type"];

?>


1. jak mam przerobic dany kod aby mozna bylo wysylac na serwer jedynie rozszerzenie JPG?
2. Co mam jeszcze dodac aby mozna bylo wysylac pliki do wskazanego miejsca na serwerze, teraz upload'uje pliki do tego katalogu gdzie jest dany skrypt.

Z gory dziekuje za odpowiedzi! smile.gif
Spawnm
1. sprawdzaj czy mime type jest jpeg
2. move_uploaded_file" title="Zobacz w manualu PHP" target="_manual
phater
piszac cos takiego"
Kod
move_uploaded_file ( $file , upload/$file);

wyskakuje mi blad :/

Cytat
Warning: Division by zero in C:\Program Files (x86)\WebServ\httpd\plik.php on line 5

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\Program Files (x86)\WebServ\temp\file-uploads\php92B3.tmp' to '' in C:\Program Files (x86)\WebServ\httpd\plik.php on line 5


A jesli chodzi o te mime, to mozna jakos jasniej?
nospor
...
nie:upload/$file
a:"upload/$file"

no patrz co piszesz
phater
Ten sam blad sie pokazuje...
w PHP dopiero raczkuje...
nospor
dalej masz:
Division by zero in
?
Pokaz poprawke co zrobiles
phater
Kod
<?php

$file = $HTTP_POST_FILES["plik"]["tmp_name"];
$zapisz_jako = $HTTP_POST_FILES["plik"]["name"];
move_uploaded_file ( $file , "upload/$file");

    
    

if (!copy($file, $zapisz_jako)) {

   print ("Kopiowanie pliku nie powiodło się...<br>\n");

}

print "<BR>Nazwa pliku: ".$HTTP_POST_FILES["plik"]["name"];

print "<BR>Rozmiar pliku: ".$HTTP_POST_FILES["plik"]["size"];

print "<BR>tymczasowo: ".$HTTP_POST_FILES["plik"]["tmp_name"];

print "<BR>Typ przesłanego pliku: ".$HTTP_POST_FILES["plik"]["type"];

?>
<br>
<br>
<a href="formularz.php">Wstecz</a>


Przerobilbys mi ten kod aby dzialal mi tak jak powinien z tymi rzeczami o ktore prosilem?
To z 3 linijki kodu, a problem sie mi rozwiaze smile.gif
jak juz w spomnialem w PHP dopiero co raczkuje...
Spawnm
  1. <?php
  2. $file = $HTTP_POST_FILES["plik"]["tmp_name"];
  3. $zapisz_jako = $HTTP_POST_FILES["plik"]["name"];
  4. move_uploaded_file ( $file , "upload/$file");
  5. ?>

nie powinno być:
  1. <?php
  2. $file = $HTTP_POST_FILES["plik"]["tmp_name"];
  3. $zapisz_jako = $HTTP_POST_FILES["plik"]["name"];
  4. move_uploaded_file ( $file , "upload/$zapisz_jako");
  5. ?>

questionmark.gif
phater
Heh racja Spawnm, gapa ze mnie. Plik wgrywa do okreslonego katalogu lecz, dalej wyskakuje blad i przy tych warunkach ktore sa podane wyswietla ze plik nie zostal wgrany.
Jak to zmienic? :/

Dla ulatwienia dodam rowniez plik formularz, a wiec caly skrypt wyglada tak:

formularz.php ->
  1. <form action="plik.php" method="post" enctype="multipart/form-data">
  2. <center><table border="1">
  3. <tr>
  4. <td>
  5. Wprowadz nazwe pliku:
  6. </td>
  7. <td>
  8. <input type="file" name="plik">
  9. </td>
  10. </tr>
  11. <tr>
  12. <br>
  13. <td>
  14. <input type="submit" value="przeslij">
  15. </td>
  16. </tr></table></center>
  17. </form>




plik.php
Kod
<?php

$file = $HTTP_POST_FILES["plik"]["tmp_name"];
$zapisz_jako = $HTTP_POST_FILES["plik"]["name"];
move_uploaded_file ( $file , "upload/$zapisz_jako");

    
    

if (!copy($file, $zapisz_jako)) {

   print ("Kopiowanie pliku nie powiodlo sie...<br>\n");

}

print "<BR>Nazwa pliku: ".$HTTP_POST_FILES["plik"]["name"];

print "<BR>Rozmiar pliku: ".$HTTP_POST_FILES["plik"]["size"];

print "<BR>tymczasowo: ".$HTTP_POST_FILES["plik"]["tmp_name"];

print "<BR>Typ przeslanego pliku: ".$HTTP_POST_FILES["plik"]["type"];

?>
<br>
<br>
<a href="formularz.php">Wstecz</a>

Bardzo prosze o popawienie kodu tak aby nie wyskakiwaly bledy sad.gif
I jezeli to mozliwe obsluzenie mime, aby mozna bylo uploadowac jedynie pliki z rozszerzeniem jpg...
artur_dziocha
A manual??
Oczekujesz czegoś a pewnie nawet nie poczytałeś. Przejrzyj to i przykłady. Może wyciągniesz jakieś wniski
http://pl.php.net/manual/pl/features.file-upload.php
W linku od Spawnm też pod definicją funkcji masz przykłady
phater
z angielskim u mnie kiepsko ;p
erix
To nie zabieraj się za PHP/jakiekolwiek programowanie. Mówię szczerze i od serca...

A jeśli chodzi o upload, to IE nie wysyła MIME image/jpeg, tylko kombinuje z własnym pseudotypem. Ale o tym poszukaj sobie na forum, bo było nieraz.

$HTTP_POST_VARS, to jeszcze poprzednia epoka.
phater
Poza tym prosze o poprawe kodu, a nie o lekcje php...
artur_dziocha
http://lmgtfy.com/?q=php+upload+plik%C3%B3w
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.