Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] problem z funkcją file()
Forum PHP.pl > Forum > Przedszkole
thepil
Witam,
Zamierzam stworzyć skrypt który z pliku tekstowego wczytuje nazwy plików które zawierają jakiś tam tekst.
Wygląda to tak:
folder news zawiera pliki:
news.txt
oraz pliki z artykulami np:
20.02.2007.txt
25.02.2007.txt
28.02.2007.txt

przy próbie wczytania kolejno plików występuje błąd:
Warning: file(news\1.txt ) [function.file]: failed to open stream: Invalid argument in E:\koziCup\home.php on line 15
a raczej błędy gdyż ten jeden powtarza się dla każdej próby wczytania innego pliku poza ostatnią próbą która kończy się powodzeniem.
Oto kod pliku home.php:
  1. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
  2. <title>Home</title>
  3. <link rel="stylesheet" type="text/css" href="styles\window.css">
  4. </head>
  5.  
  6. <body bgcolor="#CDDAFF">

<?
$Files=file("news\\news.txt");
for ($i=0;$i<count($Files);$i++)
{
$ActFile=file("news\\".$Files[$i]);
echo "treść pliku".$Files[$i]."<br>";
for ($j=0;$j<count($ActFile);$j++)
echo $ActFile[$j]."<br>";
};
?>
skrypt ten zminimalizowałem aby ukazać problematykę oraz nie uzylem funkcji odpowiedzialnej za prawidlowe wyswietlanie polskich znaków
  1. </body>
  2. </html>

podejrzewam że jesteście na tyle obeznani w php ze nie muszę tłumaczyć działania skryptu tongue.gif

co ciekawe błedy wystąpią tylko przy próbach wczytania plików 20.02.2007.txt i 25.02.2007.txt a dla pliku 28.02.2007.txt wszystko jest ok

używam programu alcer jako server oraz php w wersji 4.4.4

Proszę o pomoc :]

Podejjrzewam że błąd ten wynika z niedopracowania php a dokladniej zarządzania pamięcią przy wczytywaniu plików... heh
nospor
Cytat
Podejjrzewam że błąd ten wynika z niedopracowania php a dokladniej zarządzania pamięcią przy wczytywaniu plików... heh

a skad ci to przyszlo do glowy?
jak sie manuala nie czyta to sie wymysla co popadnie... tongue.gif

http://pl.php.net/manual/pl/function.file.php
Cytat
Notatka: Każda linia w wynikowej tabeli będzie zawierać znak(i) końca linii, jeśli nie chcesz ich musisz uzyć rtrim().

I wszystko jasne.
Ty taką nazwe pliku z enterem na koncu probujesz wczytac.

ps: przenosze

Prosze uzywac bbcode!!!
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.