Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php]Problem fopen, fopen
Jed113
post 15.09.2010, 19:27:47
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 15.09.2010
Skąd: Krynica

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


Witam! Jestem początkujący w tematyce php, może ktoś mi wyjaśnić co to za błąd i jak to naprawić ?
Warning: fopen(C:/xampp/htdocs/../zamowienie.txt) [function.fopen]: failed to open stream: No such file or directory in C:\xampp\htdocs\przeglad.php on line 20
Go to the top of the page
+Quote Post
bastard13
post 15.09.2010, 19:32:12
Post #2





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

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


Podałeś złą ścieżkę do pliku.


--------------------
Go to the top of the page
+Quote Post
Jed113
post 15.09.2010, 20:06:38
Post #3





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 15.09.2010
Skąd: Krynica

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


Ale dobra jest, podawałem też bezpośrednią i to samo, jakieś inne pomysły ?
Go to the top of the page
+Quote Post
bastard13
post 15.09.2010, 20:14:19
Post #4





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

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


Wklej ten kawałek kodu tutaj.


--------------------
Go to the top of the page
+Quote Post
Jed113
post 15.09.2010, 20:37:42
Post #5





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 15.09.2010
Skąd: Krynica

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


<?php
$DOCUMENT_ROOT=$_SERVER['DOCUMENT_ROOT'];


$plik = fopen("$DOCUMENT_ROOT/../zamowienie.txt", 'rb');












?>
Go to the top of the page
+Quote Post
naitsabes
post 15.09.2010, 20:41:39
Post #6





Grupa: Zarejestrowani
Postów: 65
Pomógł: 5
Dołączył: 10.09.2010

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


Po co zmienna ? Jeżeli robisz strone lub cos to i tak znasz katalogi winksmiley.jpg A bez zmiennej może byc wszystko dobrze...
Go to the top of the page
+Quote Post
Jed113
post 15.09.2010, 20:43:48
Post #7





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 15.09.2010
Skąd: Krynica

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


bez document_root ? wybaczcie , ale zaczęłem dopiero kilka dni temu .
Go to the top of the page
+Quote Post
naitsabes
post 15.09.2010, 20:45:38
Post #8





Grupa: Zarejestrowani
Postów: 65
Pomógł: 5
Dołączył: 10.09.2010

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


tak smile.gif po prostu daj sobie np.

  1. $plik = fopen("tomek/dane/blalba/zamowienie.txt", 'rb');
Go to the top of the page
+Quote Post
Jed113
post 15.09.2010, 20:49:03
Post #9





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 15.09.2010
Skąd: Krynica

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


$plik =fopen("xampp/htdocs/zamowienie.txt", 'rb'); tak dałem bo to w tym katalogu jest i to samo.
Go to the top of the page
+Quote Post
bastard13
post 15.09.2010, 20:51:33
Post #10





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

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


  1. $plik =fopen("../zamowienie.txt", 'rb');

1) Ścieżkę względną podaje się zaczynając od folderu, w którym wywołujesz skrypt.
2) Po drugie:
  1. $plik = fopen("$DOCUMENT_ROOT/zamowienie.txt", 'rb');

niepotrzebne '../'
3) używaj bbcode

Ten post edytował bastard13 15.09.2010, 20:53:45


--------------------
Go to the top of the page
+Quote Post
Jed113
post 15.09.2010, 20:59:46
Post #11





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 15.09.2010
Skąd: Krynica

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


Korzystam z książki helionu php i mqsql i tam właśnie wykorzystują tą zmienną ($DOCUMENT_ROOT), czyli jaki kod ma być ostatecznie aby zadziałał ?
Go to the top of the page
+Quote Post
bastard13
post 15.09.2010, 21:03:37
Post #12





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

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


A próbowałeś powyższe? Np. pierwszy lub drugi? lub:
  1. $plik = fopen($_SERVER['DOCUMENT_ROOT'].'/zamowienie.txt', 'rb');


--------------------
Go to the top of the page
+Quote Post
Jed113
post 15.09.2010, 21:07:25
Post #13





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 15.09.2010
Skąd: Krynica

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


$plik = fopen($_SERVER['DOCUMENT_ROOT'].'/zamowienie.txt', 'rb');
jak wstawiam to, nie pokazuje nic , strona pusta.
Go to the top of the page
+Quote Post
bastard13
post 15.09.2010, 21:11:32
Post #14





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

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


Pewnie biały ekran, jak zgaduje. To powiem ci, że wszystko działa, bo w innym wyrzuciłoby błąd.
A teraz przeczytaj:
http://php.net/manual/pl/function.fopen.php
i pomyśl dlaczego masz pusty ekran. Podpowiem, że przede wszystkim powinieneś zwrócić uwagę na to co zwraca funkcja fopen() i co się z tym dalej robi.


--------------------
Go to the top of the page
+Quote Post
Jed113
post 15.09.2010, 21:27:22
Post #15





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 15.09.2010
Skąd: Krynica

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


okej winksmiley.jpg , wielkie dzięki za odpowiedzi, Pozdrawiam winksmiley.jpg

$wp = fopen('$DOCUMENT_ROOT/../zamowienie.txt', 'rb');

echo $wp;
jak daje to to wyświetla mi resource id#3

a kiedy dodaje do tego wiersz $wp=fread($wp, 300)
to wyświetla mi tylko do 300 znaku i wszystko w tym samym wierszu mimo że w pliku txt jest w osobnych.
Go to the top of the page
+Quote Post
bastard13
post 15.09.2010, 21:32:22
Post #16





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

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


Cytat
echo $wp;
jak daje to to wyświetla mi resource id#3

A co zwraca funkcja fopen()?

Cytat
a kiedy dodaje do tego wiersz $wp=fread($wp, 300)
to wyświetla mi tylko do 300 znaku

Co określa drugi parametr przekazany do funkcji fread()?

Cytat
wszystko w tym samym wierszu mimo że w pliku txt jest w osobnych.

Jaka jest różnica między łamaniem lini w pliku tekstowym, a pliku html?


--------------------
Go to the top of the page
+Quote Post
Jed113
post 15.09.2010, 21:49:09
Post #17





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 15.09.2010
Skąd: Krynica

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


drugi parametr to ilość bajtów, łamanie lini w html w windows to /r/n wszystko jest w porządeczku, a co zwraca funkcja fopen to się domyśle, jest to plik tekstowy z zapisanym zamówieniem z innego skryptu, to chyba nie ma znaczenia ?

okej już mam
pomogło fgets czyli odczytywanie wiersz po wierszu

Ten post edytował Jed113 15.09.2010, 21:46:28
Go to the top of the page
+Quote Post
bastard13
post 15.09.2010, 21:53:18
Post #18





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

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


1) tak.
2) nie. Zrób sobie plik test.html, a w nim:
  1. czy to będzie
  2. złamany tekst

i zobacz jak go wyświetli przeglądarka.
3)
Cytat
Zwraca wskaźnik pliku do zasobu w przypadku sukcesu lub FALSE przy błędzie.


--------------------
Go to the top of the page
+Quote Post
Jed113
post 15.09.2010, 21:54:33
Post #19





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 15.09.2010
Skąd: Krynica

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


$wp = fopen('$DOCUMENT_ROOT/../zamowienie.txt', 'rb');
$wp = fgets($wp,999);
echo $wp;

zrobiłem tak i wyświetla, lecz tylko pierwszy wiersz zamówienia


Ten post edytował Jed113 15.09.2010, 21:55:15
Go to the top of the page
+Quote Post
bastard13
post 15.09.2010, 22:00:42
Post #20





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

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


Cytat
Korzystam z książki helionu php i mqsql

Przeczytaj rozdział do końca, bo nie wierzę, że tam nie ma tego wszystkiego, a później, jeżeli będziesz miał jeszcze jakieś pytania, to pisz.
Koniec końców forum to nie tutorial.


--------------------
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: 19.07.2025 - 07:47