Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Otwieranie Pliku, Problem z otwarciem pliku
marcim
post 10.06.2006, 14:28:46
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 10.06.2006
Skąd: Kłodzko

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


Witam!
Mam taki problem, otóż mam sobie zainstalowanego krasnala (system Windows XP), i uczę się php. Napisałem skrypt (pierwszy dotyczący otwierania plików .txt):
  1. <?php
  2. $DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
  3. $wp = fopen("$DOCUMENT_ROOT/../zamowienia/zamowienie.txt" , 'r');
  4. echo $wp;
  5.  
  6. ?>
i nie otwiera pliku zamowienia.txt który znajduję się w tej lokalizacji:
C:\usr\krasnal\www\ksiazka\zamowienia\zamowienia.txt.Wyświetla taki komunikat:

  1. <?php
  2. Warning: fopen(c:/usr/apache/httpd/html//../zamowienie.txt) [function.fopen]: failed to open stream: No such file or directory in c:us
    rkrasnalwwwksiazkaaaa.php on line 12
  3. ?>


jak zrobić żeby to zaczęło działać, czy mam może coś źle poustawiane w komputerze?

Pozdrawiam! i witam wszystkich smile.gif


--------------------
Jeżeli przewidziałeś cztery możliwe awarie i zabezpieczyłeś się przed nimi, to natychmiast wydarzy się piąta, na którą kompletnie nie byłeś przygotowany"[Murphy]"
Go to the top of the page
+Quote Post
suchy1
post 10.06.2006, 14:34:45
Post #2





Grupa: Zarejestrowani
Postów: 246
Pomógł: 8
Dołączył: 2.04.2006
Skąd: Gliwice

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


Dopiero sie ucze php ale wydaje mi sie ze masz zla sciezke do pliku. Zobacz czy bedzie dzialac w ten sposob:

  1. <?php
  2. $DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
  3. $wp = fopen("C:usrkrasnalwwwksiazkazamowieniazamowienia.txt" , 'r');
  4. print $wp;
  5.  
  6. ?>


Pozdrawiam
Go to the top of the page
+Quote Post
marcim
post 10.06.2006, 14:52:24
Post #3





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 10.06.2006
Skąd: Kłodzko

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


Też tak próbowałem, wyświetlało mi się :
Resource id #3

Ten post edytował marcim 10.06.2006, 14:52:59


--------------------
Jeżeli przewidziałeś cztery możliwe awarie i zabezpieczyłeś się przed nimi, to natychmiast wydarzy się piąta, na którą kompletnie nie byłeś przygotowany"[Murphy]"
Go to the top of the page
+Quote Post
siemakuba
post 10.06.2006, 14:58:23
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 112
Pomógł: 20
Dołączył: 10.04.2005

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


no skoro zwraca ci Resource id #3 to znaczy że plik został otwarty poprawnie. Tyle że fopen" title="Zobacz w manualu php" target="_manual nie zwróci zawartości plku ale uchwyt do pliku (file resource), który to wskazuje na dany plik i dzięki niemu możesz wykonywać różne operacje na tymże właśnie pliku.

zajrzyj do manuala, funkcje obsługi plików: http://pl.php.net/manual/pl/ref.filesystem.php
Z twojego posta nie wynika niestety co chcesz dalej robić z tym plikiem, ale wszystkie potrzebne do tego funkcje znajdziesz na pewno w rozdziale manuala, który wskazałem.

pozdr.
Go to the top of the page
+Quote Post
marcim
post 10.06.2006, 15:08:02
Post #5





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 10.06.2006
Skąd: Kłodzko

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


Ok dzięki, plik został otworzony, a jak wyświetlić jego zawartość? i jak mam rozumieć $_SERVER['DOCUMENT_ROOT'], do czego to ma mi posłużyć?(czy to jest takie coś jak np c:/ tylko że to jest główny katalog serwera?)

Ten post edytował marcim 10.06.2006, 15:11:15


--------------------
Jeżeli przewidziałeś cztery możliwe awarie i zabezpieczyłeś się przed nimi, to natychmiast wydarzy się piąta, na którą kompletnie nie byłeś przygotowany"[Murphy]"
Go to the top of the page
+Quote Post
-Gość-
post 10.06.2006, 16:50:54
Post #6





Goście







Poszukaj w manualu jak dziala funckja fread.
Co do $_SERVER['DOCUMENT_ROOT'] to okresla katalog glowny, w ktorym znajduje sie dokument - przydaje sie gdy uzywasz sciezek wzglednych i potem bedziesz przenosil dokumenty na inny serwer.
Go to the top of the page
+Quote Post
em1X
post 10.06.2006, 19:01:20
Post #7





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

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


a kto powiedział, że pliki trzeba otwierać z bezwzględną ścieżką ? :roll2:

jeżeli plik tekstowy znajduje się katalog wcześniej od miejsca, gdzie jest twój skrypt
wystarczy

  1. <?php
  2. $fp = fopen('../plik.txt');
  3. ?>


--------------------
eh, co polska wódka to polska wódka
Go to the top of the page
+Quote Post
marcim
post 10.06.2006, 19:12:55
Post #8





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 10.06.2006
Skąd: Kłodzko

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


Nie rozumiem, katalog wcześniej czy w tym samym katalogu? A i jak zrobić żeby w krasnalu działało $_SERVER['DOCUMENT_ROOT']


--------------------
Jeżeli przewidziałeś cztery możliwe awarie i zabezpieczyłeś się przed nimi, to natychmiast wydarzy się piąta, na którą kompletnie nie byłeś przygotowany"[Murphy]"
Go to the top of the page
+Quote Post
siemakuba
post 10.06.2006, 21:15:21
Post #9





Grupa: Przyjaciele php.pl
Postów: 1 112
Pomógł: 20
Dołączył: 10.04.2005

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


Cytat
Nie rozumiem, katalog wcześniej czy w tym samym katalogu?

No to gdzie znajduje się twój plik to chyba sam wiesz najlepiej? Musisz sie zdecydować tylko, czy chcesz podawać ścieżkę bezwzględną do niego czy względną. $_SERVER['DOCUMENT_ROOT'] możesz sobie darować jeżeli będzie to ścieżka względna.
Cytat
Ok dzięki, plik został otworzony, a jak wyświetlić jego zawartość?
Podałem ci wszcześniej link do manuala gdzie są opisane funkcje operujące na plikach. Wystarczy tam zajrzeć i poszukać. Przykładów jest tam aż nadto żeby je tu przytaczać / przepisywać. Poszukaj, popróbuj, a jak nie dasz rady to daj znać :)

pozdr.
Go to the top of the page
+Quote Post
em1X
post 10.06.2006, 21:49:08
Post #10





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

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


C:\usr\krasnal\www\ to twój folder główny serwera, zerowy, początkowy, nazywaj go sobie jak chcesz tongue.gif

PRZYKŁAD

Jezeli twoj skrypt znajduje sie w:
C:\usr\krasnal\www\program1\php\
a plik tekstowy w:
C:\usr\krasnal\www\program1\

oznacza to, ze plik ktory chcesz otworzyc znajduje sie katalog wczesniej.. chyba logiczne?
wystarczy wiec napisac

  1. <?php
  2. include('../plik.txt');
  3. ?>


. (kropka) oznacza aktualny katalog
.. (dwie kropki) oznaczają katalog poprzedni

starczy tego niańczenia cool.gif

Ten post edytował em1X 10.06.2006, 21:49:41


--------------------
eh, co polska wódka to polska wódka
Go to the top of the page
+Quote Post
marcim
post 11.06.2006, 00:06:00
Post #11





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 10.06.2006
Skąd: Kłodzko

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


Ok dzięki, wreszczie chyba wsyztsko rozumiem


--------------------
Jeżeli przewidziałeś cztery możliwe awarie i zabezpieczyłeś się przed nimi, to natychmiast wydarzy się piąta, na którą kompletnie nie byłeś przygotowany"[Murphy]"
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: 6.07.2025 - 23:07