Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] zapisywanie na serwer problem, zapisywanie na serwer problem
Mastersieciweb
post 2.03.2014, 19:17:35
Post #1





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 14.10.2013

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


witam, mam w książce skrypt dzięki któremu zapisuje dany plik tekstowy na serwerze w danym katalogu i wyswietlam jego zawartość. Problem polega na tym że plik zostaje zapisany ale bez danych w środku jakie miał. Jak sprawdzam w plikach na serwerze to znajduje się tam przeslany plik tekstowy ale pusty.. dlaczego?.. gdzie tu jest błąd, z góry dzięuje. oto skrypty: html i php:
  1. <html>
  2. <head>
  3. <title>Administracja - wysyłanie nowych plików</title>
  4. </head>
  5. <body>
  6. <h1>Wysyłanie nowych plikow informacyjnych</h1>
  7. <form enctype="multipart/form-data" action="wyslij.php" method="post" />
  8. <div>
  9. <input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
  10. <label for="plikuzytkownika">Zaladuj ten plik:</label>
  11. <input name="plikuzytkownika" type="file" id="plikuzytkownika" />
  12. <input type="submit" value="Wyslij" />
  13. </div>
  14. </form>
  15. </body>
  16. </html>

  1. <html>
  2. <head>
  3. <title>Wysylanie ... </title>
  4. </head>
  5. <body>
  6. <h1>Wysyłanie pliku ... </h1>
  7. <?php
  8. $DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
  9. // Sprawdzenie, czy przy próbie wysłania pliku wystąpił błąd
  10. if ($_FILES['plikuzytkownika']['error'] > 0)
  11. {
  12. echo 'Problem: ';
  13. switch ($_FILES['plikuzytkownika']['error'])
  14. {
  15. case 1: echo 'Rozmiar pliku przekroczył wartość upload_max_filesize';
  16. break;
  17. case 2: echo 'Rozmiar pliku przekroczył wartość max_file_size';
  18. break;
  19. case 3: echo 'Plik wysłany tylko częściowo';
  20. break;
  21. case 4: echo 'Nie wysłano żadnego pliku';
  22. break;
  23. case 6: echo 'Nie można wysłać pliku: Nie wskazano katalogu tymczasowego.' ;break;
  24. case 7: echo 'Wysłane pliku nie powiodło się: Nie zapisano pliku na dysku.'; break;
  25. }
  26. }
  27.  
  28. // czy plik ma prawidłowy typ MIME?
  29. if ($_FILES['plikuzytkownika']['type'] != 'text/plain')
  30. {
  31. echo 'Problem : plik nie zawiera zwykłego tekstu';
  32. }
  33. // umieszczenie pliku w pożądanej lokalizacji
  34. $lokalizacja = '$DOCUMENT_ROOT/../wyslane/'.$_FILES['plikuzytkownika']['name'];
  35. if (is_uploaded_file($_FILES['plikuzytkownika']['tmp_name']))
  36. {
  37. if (!move_uploaded_file($_FILES['plikuzytkownika']['tmp_name'], $lokalizacja))
  38. {
  39. echo 'Problem: Plik nie może być skopiowany do katalogu';
  40. }
  41. }
  42. else
  43. {
  44. echo 'Problem: możliwy atak podczas wysyłania pliku. Nazwa pliku: ';
  45. echo $_FILES['plikuzytkownika']['name'];
  46. }
  47. echo 'Plik wysłany<br><br>';
  48.  
  49. // ponowne sformatowanie zawartości pliku
  50. $wp = fopen($lokalizacja, 'r');
  51. $zawartosc = fread ($wp, filesize ($lokalizacja));
  52. fclose ($wp);
  53. $zawartosc = strip_tags($zawartosc);
  54. $wp = fopen($lokalizacja, 'w');
  55. fwrite($wp, $zawartosc);
  56. fclose($wp);
  57. // pokazanie, co zostało wysłane
  58. echo 'Podglad zawartosci wyslanego pliku:<br><hr>';
  59. echo $zawartosc;
  60. echo '<br><hr>';
  61. ?>
  62. </body>
  63. </html>


Ten post edytował Kshyhoo 2.03.2014, 19:28:29
Powód edycji: [Kshyhoo]: tagi i bb-code
Go to the top of the page
+Quote Post
Kshyhoo
post 2.03.2014, 19:26:22
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Przenoszę do Przedszkola.


--------------------
Go to the top of the page
+Quote Post
Mastersieciweb
post 2.03.2014, 19:39:23
Post #3





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 14.10.2013

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


rozumiem, że dla wielu jest to banalnie proste pytanie ale czy mógłby ktoś powiedzieć gdzie tu jest błąd?..
Go to the top of the page
+Quote Post
Turson
post 2.03.2014, 19:48:19
Post #4





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Sprawdź co siedzi w $zawartosc, np. echo

Na linii 36. podobny problem do Temat: problem z opendir

Ten post edytował Turson 2.03.2014, 19:49:24
Go to the top of the page
+Quote Post
Mastersieciweb
post 3.03.2014, 23:53:45
Post #5





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 14.10.2013

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


bo tu wlasnie mam problem z odczytywaniem z serwera.. troche to dziwne bo w poprzednim zadaniu wlasnie z opendir jak podalem zrodlo c:/xyz/xyz/ten plik to go odczytalo z komputera i wyswietlilo jego zawartosc tam ale nie wiem jak podac zrodlo na serwer.. dziwne to jest bo serwer mam na cba.pl i otwieram te pliki oraz tworze w fileZilla.
Go to the top of the page
+Quote Post
Turson
post 4.03.2014, 07:02:19
Post #6





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


  1. $lokalizacja = '$DOCUMENT_ROOT/../wyslane/'.$_FILES['plikuzytkownika']['name'];

a
  1. $lokalizacja = "$DOCUMENT_ROOT/../wyslane/".$_FILES['plikuzytkownika']['name'];

to nie jest to samo
lub nawet można
  1. $lokalizacja = $DOCUMENT_ROOT.'/../wyslane/'.$_FILES['plikuzytkownika']['name'];
Go to the top of the page
+Quote Post
Mastersieciweb
post 4.03.2014, 23:19:16
Post #7





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 14.10.2013

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


Noo i wszystko działa TURSON wielkie dzięki;-) wystarczylo zmienić cudzysłów;) pozdrawiam
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 16.07.2025 - 05:56