Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> File Exist
Eagle
post
Post #1





Grupa: Zarejestrowani
Postów: 170
Pomógł: 14
Dołączył: 16.03.2007

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


Witam.
Mam problem z funkcją file_exist która nie widzi plików które istnieją.

  1. <?php
  2. $i=0;
  3.  
  4. while($nazwa[$i])
  5. {
  6. $file_name = '../lang/' . $nazwa[$i] . '.abc';
  7.  
  8. if(file_exists($file_name))
  9. {
  10. echo $nazwa[$i];
  11. }
  12.  
  13. $i++;
  14. }
  15. ?>


Może ktoś wie co jest źle ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
fernet
post
Post #2





Grupa: Zarejestrowani
Postów: 91
Pomógł: 1
Dołączył: 22.03.2007

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


Blad tkwi w sposobie w jakim przegladasz tablice
  1. <?php
  2. while(list($k,$v) = each($tablica)) {
  3. echo $tablica[$k];
  4. }
  5. ?>

ew.

  1. <?php
  2. while(list($k,$v) = each($tablica)) {
  3. echo $v;
  4. }
  5. ?>

$k zwraca Wartosc Indeksu
$v zwraca Zawartosc Elementu

Jesli podasz w list tylko jedna zmienna przyjmnie ona Wartosc Indeksu jesli jednak zalezy Ci na wyswietleniu tylko Zawartosci Elementu musisz poprzedzic zmienna przecinkiem petla wtedy bedze zwracac tylko Zawartosc Elementu.

Ten post edytował fernet 19.04.2007, 15:48:27
Go to the top of the page
+Quote Post
Eagle
post
Post #3





Grupa: Zarejestrowani
Postów: 170
Pomógł: 14
Dołączył: 16.03.2007

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


Nadal nic... (testowałem oba sposoby)
Wydaje mi się że kłopot jest z file_exist.
Go to the top of the page
+Quote Post
starach
post
Post #4





Grupa: Zarejestrowani
Postów: 999
Pomógł: 30
Dołączył: 14.01.2007
Skąd: wiesz ?

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


A może tkwi w ścieżce do pliku ?
  1. <?php
  2. $i=0;
  3.  
  4. while($nazwa[$i])
  5. {
  6. $file_name = '../lang/' . $nazwa[$i] . '.abc';
  7.  
  8. if(file_exists($file_name))
  9. {
  10. echo $nazwa[$i];
  11. } else {
  12. echo dirname(__FILE__).$nazwa[$i].'<br>';
  13. }
  14.  
  15. $i++;
  16. }
  17. ?>

Jako że odwołujesz się do katalogu nadrzędnego '../' musisz użyć substr() na dirname(__FILE__) żeby wyświetlił ci dobrą ścieżkę.
Go to the top of the page
+Quote Post
Eagle
post
Post #5





Grupa: Zarejestrowani
Postów: 170
Pomógł: 14
Dołączył: 16.03.2007

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


Wyjaśnię troszkę bardziej.

Plik index.php załącza plik "/include/a.php" (z którym mam właśnie problem)
Plik a.php sprawdza czy w folderze " /lang/ " jest dany plik, następnie zwraca jego nazwę (nie ścieżkę).
Plik index.php załącza dany plik z folderu " /lang/ "


gdzies / index.php
gdzies / include / a.php
gdzies / lang / jakis_plik.abc
Go to the top of the page
+Quote Post
Zeman
post
Post #6





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 29.03.2007

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


Cytat(Eagle @ 19.04.2007, 21:26:05 ) *
Wyjaśnię troszkę bardziej.

Plik index.php załącza plik "/include/a.php" (z którym mam właśnie problem)
Plik a.php sprawdza czy w folderze " /lang/ " jest dany plik, następnie zwraca jego nazwę (nie ścieżkę).
Plik index.php załącza dany plik z folderu " /lang/ "
gdzies / index.php
gdzies / include / a.php
gdzies / lang / jakis_plik.abc


plik a.php jest includowany przez index.php a wiec w a.php obowiazuje sciezka skryptu uruchamianego, a wiec "gdzies/" a nie "gdzies/include/".

zatem nie nalezy dawac "../".
Go to the top of the page
+Quote Post
Eagle
post
Post #7





Grupa: Zarejestrowani
Postów: 170
Pomógł: 14
Dołączył: 16.03.2007

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


Dzięki... pomogło.
Go to the top of the page
+Quote Post
fernet
post
Post #8





Grupa: Zarejestrowani
Postów: 91
Pomógł: 1
Dołączył: 22.03.2007

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


z include przegladasz z pliku do ktorego includowales usun ../ i powinno smigac no chyba ze zle sobie wyobrazilem uklad stron
Go to the top of the page
+Quote Post
Sedziwoj
post
Post #9





Grupa: Zarejestrowani
Postów: 793
Pomógł: 32
Dołączył: 23.11.2006
Skąd: Warszawa

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


include'owane pliki i ścieżki w nich użyte są dziwne, już raz testowałem, że sprawdza najpierw katalog gdzie jest plik include'owny a potem ten który include'ował...
ale doradzam proste testowanie, bo że działa to nie znaczy że dobrze, a potem mogą nas wyniki zaskakiwać.

mam:
/test/inc.php
  1. <?php
  2. include("../cos.txt");
  3. ?>

/cos.txt
  1. <?php
  2. include("cos2.txt");
  3. ?>


oraz:
/test/cos2.txt
z treścią "cos1"
/cos2.txt
z treścią "cos2"

pojawia mi się :
Warning: bcompiler: Bad bytecode file format at 00000003 in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\cos.txt on line 2
cos1
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: 3.10.2025 - 09:11