[PHP] Jak zincludowac kilka plików


(Podeszwaaaaaa) #1

Witam!

W katlogu "uzytkownicy" posiadam kilka plików które posiadają zmienne.

Chce zincludować wszystkie pliki na raz a potem wyświetlić zmienne, ale coś mi nie działa.

Kod:

<?php 

$dir = opendir('uzytkownicy');

while(false !== ($file = readdir($dir)))

  if($file != '.' && $file != '..') 

	include "'".$file."'; 
";

	echo "Zmienna: ' $kupababajagi ' zostala wyswietlona";

?>

Ktoś może wie co tutaj jest źle? PHP nie wywala żadnych błędów.

Pozdrawiam!


(Konrad Kosowski) #2

To na pewno jest kod PHP?


(pain3hp) #3

Nie, to chyba HTML

Włącz sobie raportowanie błędów w pliku php.ini, dyrektywa error_reporting oraz display_errors


(Podeszwaaaaaa) #4

Błędy mam włączone, ale pomimo tego nic nie wywala. Tak jakby skrypt sie wykonywał ale nie tak jak tego oczekuje.


(Konrad Kosowski) #5
include "'".$file."'; 
";

Co to jest?

poza tym... skoro readdir, to pliki znajdują się w jakimś folderze, którego przy includowaniu nie podajesz... ?


(Podeszwaaaaaa) #6

No jest to pętla która wyświetla wszystkie pliki w katalogu. Gdyby zmienić include na echo, skrypt działa i wyświetla:

'plik1.ini'; 

'plik2.ini'; 

'plik3.ini';

Więc gdy jest include powinno czytać go tak:

include 'plik1.ini'; 

include 'plik2.ini'; 

include 'plik3.ini';

Nie rozumiem, a czy ja podaje jakiś folder przy includowaniu? Tylko nazwy plików.


(pain3hp) #7
Więc gdy jest include powinno czytać go tak:


Kod: Zaznacz cały

    include 'plik1.ini';

    include 'plik2.ini';

    include 'plik3.ini';

nie, nie powinno być tak, bo jest tak:

Więc gdy jest include powinno czytać go tak:


Kod: Zaznacz cały

    include 'plik1.ini'; 


    include 'plik2.ini'; 


    include 'plik3.ini';

(Konrad Kosowski) #8

Szczerze... naprawdę tego nie jesteś w stanie pojąc? Jeśli tak, może zrezygnuj z podejmowania prób pisania kodu nawet w tak prostackim języku jak php?

Ale, żeby moderatorzy forum nie usunęli tych wypocin:

skoro skrypt sięga do folderu, żeby zaczytać jego zawartość to przy includowaniu też musi czytać z folderu. Dlatego, jeżeli już, to kod powinien wyglądać przynajmniej tak:

'uzytkownicy/'.$file;[/code]



Poza tym to:




[code=php]"'".$file."'; ;



każe phpowi (przy założeniu, że w folderze użytkownicy znajduje się na przykład plik a.php), zaincludować plik, który nazywa się tak:

uzytkownicy/a.php'; 




dosłownie tak się powinien nazywać. Masz w tym folderze taki plik, żabko?

(Podeszwaaaaaa) #9

(Konrad Kosowski) #10

I wywala...

Warning: include('uzytkownicy/a.php';
): failed to open stream: No such file or directory in

Ale jest różnica między include, a require. Dlatego brak pliku dla include kończy się warningiem, a brak pliku dla require kończy się fatalem. Ale to by trzeba znać podstawy...


(pain3hp) #11

nie , nie powinno, bo zrobiłeś to w zwykłym ciągu znaków.