Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Przekazanie zawartości pliku do tablicy (funkcja)
Forum PHP.pl > Forum > Przedszkole
kyez
Witajcie.

Borykam się z takim problemem: otóż potrzebuję aby fukcja poniżej przekazała mi do tablicy zawartość każdego wiersza pliku "config.txt". Separatorem jest "]".
Niestety nie mogę dojść do tego jak to zrobić. Funkcja albo zwraca mi ostatni wiersz albo nic, albo dziwną tablice wielowymiarową.

Owa funkcja:
  1. function loadConfigFile(){
  2.  
  3. $DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
  4. @ $file = fopen('config.txt', 'r');
  5.  
  6. if (!$file) {
  7. echo "Blad otwarcia pliku konfiguracyjnego";
  8. } else {
  9. for ($i=0; !feof($file); $i++) {
  10.  
  11. $config = fgetcsv($file, 999, "]");
  12. #print_r($config);
  13. }
  14.  
  15. }
  16. return $config;
  17. }
  18.  


Wywołanie funkcji:

  1. if(isset($_GET['send'])){
  2. catchError();
  3. $errorE = errorExist(); //sprawdzanie czy przy ladowaniu strony jest jakis error $errorE = false/true
  4. if ($errorE == true) {
  5.  
  6. $errorId = errorIdChecker();
  7.  
  8. makePage($errorId, $formtrescE1, $formtrescE2, $formtrescE3, $formtrescE4);
  9. #print_r($a);
  10. } else{
  11. $configf = loadConfigFile(); //-------------------------tu!!!!!-----------------------------
  12. echo '<pre>';
  13. print_r($configf);
  14. echo "</pre>";
  15. #mail($config[0], $_GET['subject'], $_GET['message']);
  16. }
  17. } else {
  18. echo $formtresc;
  19. #echo $_SERVER['DOCUMENT_ROOT'];
  20. }
  21.  
nospor
W petli FOR nadpisujesz za kazdym razem zmienną $config, wiec nic dziwnego, ze zwraca ci ostatni wiersz... Wiersze masz do siebie dopisywac a nie nadpisywac
kyez
No właśnie nie wiem jak to rozwiązać.
nospor
No mowilem.... zamiast nadpisywac, dopisuj....
$config[] = fgetcsv($file, 999, "]");
kyez
Dzięki za odpowiedź.
Teraz natomiast dostaję coś takiego:

  1. (
  2. [0] => Array
  3. (
  4. [0] => thekyez@gmail.com
  5. [1] =>
  6. )
  7.  
  8. [1] => Array
  9. (
  10. [0] => fsdfsdfsdggdf
  11. [1] =>
  12. )
  13.  
  14. [2] => Array
  15. (
  16. [0] => sdfsdfsdfdf
  17. [1] =>
  18. )
  19.  
  20. )



Czemu tam są puste indexy? Nie chciałem tablicy wielowymiarowej tylko zwyczajną.

Pozdrawiam, Przemek
nospor
Widac takie masz linie, ze fgetcsv zwraca ci dwa elementy: jeden pelny, drugi pusty. Skoro nie interesuje cie ten pusty to do config dodawaj tylko pierwszy wynik fgetcsv
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.