Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][MySQL][PHP]problem z uploadem zdjecie na serwer
Forum PHP.pl > Forum > Przedszkole
elglt
Witam, mam taki kod, formularz działa, kiedy wybiore zdjecie i klikam dodaj, w bazie danych zapisuje się name pliku np zdjecie.jpeg ale nie wiem jak powinien wygladac kod zeby zapisac plik na serwerze (home.pl jesli to ma jakies znaczenie), probuje roznych rozwiazan ale za kazdym razem jest blad fwrite z powodu braku lub niepoprawnych parametrach

if ( isset($_POST['tytul'])&&
isset($_POST['zawartosc'])&&
isset($_POST['autor'])){

$tyt = $_POST['tytul'];
$zaw = $_POST['zawartosc'];
$aut = $_POST['autor'];
$foto = $_POST['foto'];
$zdjecie = $_POST['zdjecie'];

if( !empty($tyt)&&
!empty($zaw)&&
!empty($aut)){

$foto=fopen($zdjecie,'rwd') or die("can't open file");
fwrite ($foto);
$q = "INSERT INTO news VALUES('','$tyt','$zaw','$aut','$zdjecie','$foto')";
mysql_query($q);


}
}

?>

<form action="dodawanienewsow.php" method="POST">
Tytuł: <br/> <input type="text" name="tytul"/><br/>
Tre?ć: <br/> <input type="text" name="zawartosc"/><br/>
Autor: <br/> <input type="text" name="autor"/><br/>
Zdjecie: <br/><input type="file" name="zdjecie" accept="image/jpeg,image/jpg"/><br/>
Foto: <br/> <input type="text" name="foto"/><br/>
<input type="submit" value="Dodaj"/>
</form>
nospor
1) Uzywaj bbcode...
2) Zajrzyj do manuala...od tego jest.... tam masz to wszystko dokładnie wyjaśnione...ba, nawet podane na przykładzie.
http://pl1.php.net/manual/pl/features.file...post-method.php
elglt
Nadal nie działa chociaż nie ma żadnego komunikatu o błędzie

  1. if ( isset($_POST['tytul'])&&
  2. isset($_POST['zawartosc'])&&
  3. isset($_POST['autor'])){
  4.  
  5. $tyt = $_POST['tytul'];
  6. $zaw = $_POST['zawartosc'];
  7. $aut = $_POST['autor'];
  8. $foto = $_POST['foto'];
  9. $zdjecie = $_POST['zdjecie'];
  10. setlocale(LC_TIME, "pl_PL");
  11. $dzisiaj=getdate();
  12. $data = $dzisiaj[mday]." ".$dzisiaj[month]." ".$dzisiaj[year]." ".$dzisiaj[hours]." : ".$dzisiaj[minutes];
  13.  
  14. if( !empty($tyt)&&
  15. !empty($zaw)&&
  16. !empty($aut)){
  17.  
  18. $plik_tmp = $_FILES['zdjecie']['tmp_name'];
  19. $plik_nazwa = $_FILES['zdjecie']['name'];
  20. $plik_rozmiar = $_FILES['zdjecie']['size'];
  21.  
  22. if(is_uploaded_file($plik_tmp)) {
  23. move_uploaded_file($plik_tmp, "upload/$plik_nazwa");
  24. echo "Plik: <strong>$plik_nazwa</strong> o rozmiarze
  25. <strong>$plik_rozmiar bajtów</strong> został przesłany na serwer!";
  26. }
  27.  
  28. $q = "INSERT INTO news VALUES('','$tyt','$zaw','$aut','$zdjecie','$foto','$data')";
  29.  
  30. printf ("Dodales posta\n");
  31. //
  32. }
  33. }
  34.  
  35. ?>
  36.  



  1. <form enctype="multipart/form-data" action="dodawanienewsow.php" method="POST">
  2.  
  3. Tytuł: <br/> <input type="text" name="tytul"/><br/>
  4. Tre?ć: <br/> <input type="text" name="zawartosc"/><br/>
  5. Autor: <br/> <input type="text" name="autor"/><br/>
  6. <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
  7. Zdjecie: <br/><input type="file" name="zdjecie" accept="image/jpeg,image/jpg"/><br/>
  8. Foto: <br/> <input type="text" name="foto"/><br/>
  9. <input type="submit" value="Dodaj"/>
  10.  
  11. </form>
nospor
Skoro ci sie plik nie wgrywa, znaczy ze ten kod
if(is_uploaded_file($plik_tmp)) {

imove_uploaded_file($plik_tmp, "upload/$plik_nazwa");

echo "Plik: <strong>$plik_nazwa</strong> o rozmiarze

<strong>$plik_rozmiar bajtów</strong> został przesłany na serwer!";

}

Powoduje blad. A nie widzisz bledu bo go nie wyświetlasz.
  1. if(is_uploaded_file($plik_tmp)) {
  2.  
  3. if (!move_uploaded_file($plik_tmp, "upload/$plik_nazwa") ) echo 'BLAD2!!!!!';
  4.  
  5. echo "Plik: <strong>$plik_nazwa</strong> o rozmiarze
  6.  
  7. <strong>$plik_rozmiar bajtów</strong> został przesłany na serwer!";
  8.  
  9. }else echo 'BLAD!!!!! Teraz błąd widzisz?';

Zrób
print_r($_FILES);
po wyslaniu forma i pokaz co zawiera
elglt
Zmieniłem kod, w wyniku dostałem : BLAD2!!!!!Array ( [zdjecie] => Array ( [name] => Jellyfish.jpg [type] => [tmp_name] => [error] => 2 [size] => 0 ) ) Dodales posta


  1. <?php
  2.  
  3. if ( isset($_POST['tytul'])&&
  4. isset($_POST['zawartosc'])&&
  5. isset($_POST['autor'])){
  6.  
  7. $tyt = $_POST['tytul'];
  8. $zaw = $_POST['zawartosc'];
  9. $aut = $_POST['autor'];
  10. $foto = $_POST['foto'];
  11. $zdjecie = $_POST['zdjecie'];
  12. setlocale(LC_TIME, "pl_PL");
  13. $dzisiaj=getdate();
  14. $data = $dzisiaj[mday]." ".$dzisiaj[month]." ".$dzisiaj[year]." ".$dzisiaj[hours]." : ".$dzisiaj[minutes];
  15.  
  16. if( !empty($tyt)&&
  17. !empty($zaw)&&
  18. !empty($aut)){
  19.  
  20. $plik_tmp = $_FILES['zdjecie']['tmp_name'];
  21. $plik_nazwa = $_FILES['zdjecie']['name'];
  22. $plik_rozmiar = $_FILES['zdjecie']['size'];
  23.  
  24. if(is_uploaded_file($plik_tmp)) {
  25. move_uploaded_file($plik_tmp, "foto/$plik_nazwa");
  26. echo "Plik: <strong>$plik_nazwa</strong> o rozmiarze
  27. <strong>$plik_rozmiar bajtów</strong> został przesłany na serwer!";
  28. }
  29. if (!move_uploaded_file($plik_tmp, "upload/$plik_nazwa") )
  30. {
  31. echo 'BLAD2!!!!!';
  32. }
  33. print_r($_FILES);
  34. $q = "INSERT INTO news VALUES('','$tyt','$zaw','$aut','$zdjecie','$foto','$data')";
  35.  
  36. printf ("Dodales posta\n");
  37.  
  38. }
  39. }
  40.  
  41. ?>





  1. <form enctype="multipart/form-data" action="dodawanienewsow.php" method="POST">
  2.  
  3. Tytuł: <br/> <input type="text" name="tytul"/><br/>
  4. Tre?ć: <br/> <input type="text" name="zawartosc"/><br/>
  5. Autor: <br/> <input type="text" name="autor"/><br/>
  6. <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
  7. Zdjecie: <br/><input type="file" name="zdjecie" accept="image/jpeg,image/jpg"/><br/>
  8. Foto: <br/> <input type="text" name="foto"/><br/>
  9. <input type="submit" value="Dodaj"/>
  10.  
  11. </form>
nospor
1) Napisałem ci poprawny kod, a ty nawet go skopiować nie umiesz.... popraw na to co ja ci napisałem, bo teraz masz niesamowite głupoty

2) Z tablicy $_FILES widać, że masz ERROR 2
Zagladasz wiec do manuala
http://pl1.php.net/manual/pl/features.file-upload.errors.php
i widzisz, ze error2 to:
Cytat
Value: 2; The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form.


Tyle w temacie nie działania...
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.