Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][MySQL][PHP]problem z uploadem zdjecie na serwer
elglt
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 5.10.2012

Ostrzeżenie: (0%)
-----


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>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




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
Go to the top of the page
+Quote Post
elglt
post
Post #3





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 5.10.2012

Ostrzeżenie: (0%)
-----


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>
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




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
Go to the top of the page
+Quote Post
elglt
post
Post #5





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 5.10.2012

Ostrzeżenie: (0%)
-----


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>
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




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...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.09.2025 - 05:10