Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Php wgrywanie pliku przez formularz
Forum PHP.pl > Forum > Przedszkole
set4812
Mam na zaliczenie napisać galerie. Zacząłem od pisanie galerii. Formularz pobierający plik mam oddzielnie od skryptu przetwarzającego formularz. Chce scalic wszystko w 1 plik.
Kod formularza
  1. <form action="galeria.php" method="post" enctype="multipart/form-data">
  2. Podaj nazwe pliku do przekazania: <br/>
  3. <input name="picture_file" type="file" />
  4. <br />
  5. <input type="submit" value="plik"/>
  6. </form>
  7. </body>

Kod kryptu przetwarzającego formularz
  1. <html><head><title>Przekazywanie plik??title></head>
  2. <body bgcolor="#33ff33">
  3. <?php
  4. echo "Przekazany plik to: ",
  5.  
  6.  
  7. $_FILES['picture_file']['tmp_name'], '<br />';
  8. $filename = $_FILES['picture_file']['name'];
  9. $filesize = $_FILES['picture_file']['size'];
  10. $directory = 'C:/wamp/www/';
  11. $uploadFile = $directory . $filename;
  12.  
  13.  
  14.  
  15.  
  16. echo "Przeniesiony plik to:" . $uploadFile .'<br />';
  17.  
  18.  
  19.  
  20. if (move_uploaded_file($_FILES['picture_file']['tmp_name'], $uploadFile)){
  21. echo 'Plik jest prawidłowy i został poprawnie przekazany.<br /> ';
  22. echo "Plik obrazka o nazwie $filename posiada wielkość $filesize bajt";
  23. }
  24. $uchwyt = @fopen ("obrazy.txt", "a");
  25.  
  26. fwrite($uchwyt,$_FILES['picture_file']['name']."#");
  27. fclose ($uchwyt);
  28. ?>
  29. <center>
  30. <br />
  31. <?php
  32. $obraz="";
  33. $uchwyt = @fopen ("obrazy.txt", "r");
  34. while (!feof($uchwyt)) {
  35.  
  36. $buffer = fgetc($uchwyt);
  37. if ($buffer=='#'){
  38. $buffer="";
  39. echo '<img src="' . $obraz.'"width="250" height="175" border="3">';
  40. $obraz="";
  41. }
  42. $obraz=$obraz.$buffer;
  43. }
  44.  
  45.  
  46. fclose ($uchwyt);
  47. ?>
  48. </center>
  49. </body>
  50. </html>

Proszę i pomoc.
Dziękuję i pozdrawiam set4812
Wicepsik
  1. if(!isset($_POST['submit'])){
  2. // wyświetl formularz
  3. }else{
  4. // kod uploadu
  5.  
  6. }
Darioosh
Ja bym zrobił to warunkiem... jeżeli isset($_POST['submit'] to wysyła plik, w przeciwnym wypadku wyświetla formularz.
set4812
  1. <html><head><title>Przekazywanie plik??title></head>
  2. <body bgcolor="#33ff33">
  3. <?php
  4. if(isset($_POST['submit'])){
  5. echo '<form action="galeria.php" method="post" enctype="multipart/form-data">
  6. Podaj nazwe pliku do przekazania: <br/>
  7. <input name="picture_file" type="file" />
  8. <br />
  9. <input type="submit" value="plik"/>
  10. </form> ';
  11. }else{
  12. // kod uploadu
  13.  
  14.  
  15. echo "Przekazany plik to: ",
  16.  
  17.  
  18. $_FILES['picture_file']['tmp_name'], '<br />';
  19. $filename = $_FILES['picture_file']['name'];
  20. $filesize = $_FILES['picture_file']['size'];
  21. $directory = 'C:/wamp/www/';
  22. $uploadFile = $directory . $filename;
  23.  
  24.  
  25.  
  26.  
  27. echo "Przeniesiony plik to:" . $uploadFile .'<br />';
  28.  
  29.  
  30.  
  31. if (move_uploaded_file($_FILES['picture_file']['tmp_name'], $uploadFile)){
  32. echo 'Plik jest prawidłowy i został poprawnie przekazany.<br /> ';
  33. echo "Plik obrazka o nazwie $filename posiada wielkość $filesize bajt";
  34. }
  35. $uchwyt = @fopen ("obrazy.txt", "a");
  36.  
  37. fwrite($uchwyt,$_FILES['picture_file']['name']."#");
  38. fclose ($uchwyt);}
  39. ?>
  40. <center>
  41. <br />
  42. <?php
  43. $obraz="";
  44. $uchwyt = @fopen ("obrazy.txt", "r");
  45. while (!feof($uchwyt)) {
  46.  
  47. $buffer = fgetc($uchwyt);
  48. if ($buffer=='#'){
  49. $buffer="";
  50. echo '<img src="' . $obraz.'"width="250" height="175" border="3">';
  51. $obraz="";
  52. }
  53. $obraz=$obraz.$buffer;
  54. }
  55.  
  56.  
  57. fclose ($uchwyt);
  58. ?>
  59. </center>
  60. </body>
  61. </html>


Jak zrozumiałem miało tak by wyglądać,niestesty mam błędy
Kod
Przekazany plik to:
Notice: Undefined index: picture_file in C:\wamp\www\galeria.php on line 18


Notice: Undefined index: picture_file in C:\wamp\www\galeria.php on line 19

Notice: Undefined index: picture_file in C:\wamp\www\galeria.php on line 20
Przeniesiony plik to:C:/wamp/www/

Notice: Undefined index: picture_file in C:\wamp\www\galeria.php on line 31

Notice: Undefined index: picture_file in C:\wamp\www\galeria.php on line 37
Wicepsik
Dodaj wykrzyknik przed isset. Mój błąd.
set4812
nie zapisuje mi obrazów na serwer oraz ich nie wyświetla
  1. <html><head><title>Przekazywanie plik??title></head>
  2. <body bgcolor="#33ff33">
  3. <?php
  4. if(!isset($_POST['submit'])){
  5. echo '<form action="galeria.php" method="post" enctype="multipart/form-data">
  6. Podaj nazwe pliku do przekazania: <br/>
  7. <input name="picture_file" type="file" />
  8. <br />
  9. <input type="submit" value="plik"/>
  10. </form> ';
  11. }else{
  12. // kod uploadu
  13.  
  14.  
  15. echo "Przekazany plik to: ",
  16.  
  17.  
  18. $_FILES['picture_file']['tmp_name'], '<br />';
  19. $filename = $_FILES['picture_file']['name'];
  20. $filesize = $_FILES['picture_file']['size'];
  21. $directory = 'C:/wamp/www/';
  22. $uploadFile = $directory . $filename;
  23.  
  24.  
  25.  
  26.  
  27. echo "Przeniesiony plik to:" . $uploadFile .'<br />';
  28.  
  29.  
  30.  
  31. if (move_uploaded_file($_FILES['picture_file']['tmp_name'], $uploadFile)){
  32. echo 'Plik jest prawidłowy i został poprawnie przekazany.<br /> ';
  33. echo "Plik obrazka o nazwie $filename posiada wielkość $filesize bajt";
  34. }
  35. $uchwyt = @fopen ("obrazy.txt", "a");
  36.  
  37. fwrite($uchwyt,$_FILES['picture_file']['name']."#");
  38. fclose ($uchwyt);}
  39. ?>
  40. <center>
  41. <br />
  42. <?php
  43. $obraz="";
  44. $uchwyt = @fopen ("obrazy.txt", "r");
  45. while (!feof($uchwyt)) {
  46.  
  47. $buffer = fgetc($uchwyt);
  48. if ($buffer=='#'){
  49. $buffer="";
  50. echo '<img src="' . $obraz.'"width="250" height="175" border="3">';
  51. $obraz="";
  52. }
  53. $obraz=$obraz.$buffer;
  54. }
  55.  
  56.  
  57. fclose ($uchwyt);
  58. ?>
  59. </center>
  60. </body>
  61. </html>
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.