Autor Zpráva
Adam Dvořák
Profil
Zdravím, dělám betaverzi webu Ententyky.eu a mám takový problém. Ve složce "prihlaseni" mám soubory pojmenované 1.txt, 2.txt atd.....
A příkazem si je spočítám:
function pocet($addr){
$adresar = opendir($addr);
$num=0;while ($soubor = readdir($adresar)){$num++;}
$num = $num-2;
echo '('.$num.')';
}
pocet("./prihlaseni");
To echo mám jen pro kontrolu, pro mě je důležitý ten počet. Pak jsem se pokusil sepsat skript, který by postupně vypisoval 1.txt, pak 2.txt až by došel k tomu počtu souborů a zastavil se. Jenže mi to nefungovalo. Ani include, ani FOpen, vždy to něco vyhodilo. Nakonec jsem si zkusil vypsat jenom poslední soubor, tedy číslo $num .
$file='./prihlaseni/' + $num + '.txt'
$soubor = fopen(.$file., "r");
$text = fread($soubor, 10);
echo($text);
fclose($soubor);
Jenže tento skript vypíše "prd" a ještě vyhodí hlášku:
Parse error: syntax error, unexpected T_VARIABLE in /home/www/ententyky.eu/www/ententyky.eu/burza/burza.php on line 12
Řádek dvanáct mám $soubor = fopen(.$file., "r");. Kde je chyba?
Alphard
Profil
Chyba je kvůli tomu, že v php se řetězce spojují .. V tom první scriptu tím while akorát simulujete for.

A jestli vám jde o výpis souborů, proč to neuděláte nějak normálně?
$files = glob('*.txt');
foreach ($files as $file)
{
  echo $file;
}

echo 'Celkem: '.count($files);
Adam Dvořák
Profil
Alphard:
A prosím, jak mám teda udělat cyklus, aby se vypsaly ty TXT?
Alphard
Profil
Myslím, že upravit kód uvedený v [#2] není obtížné.
l564
Profil
Alphard již kod zveřejňoval

echo $pocet = count (glob ("adresar/*.*")); 
Adam Dvořák
Profil
Díky, ale já nepotřebuji počet souborů, já potřebuji vypsat všechny soubory ve složce.
l564
Profil
A toto postačí?
Adam Dvořák
Profil
Asi jste mě špatně pochopili, ale díky za snahu. Já chci, aby to projelo složku "prihlaseni".
Pak to vypsalo obsah souboru 1.txt, a tak dále..
Takže nechci:
1.txt
2.txt
3.txt
4.txt
Ale chci:
1|Obsah jedničky
2|Obsah dvojky
3|Obsah trojky
4|Obsah čtverky
Díky
l564
Profil
A to si z dodaných materiálu script neumíte upravit?
V kódu si prosím upravte složku $adresar = "vaseadresar/"; (to lomeno na konec je nutností!)
<?php
$adresar = "a/";
$vypis = opendir($adresar);
    while (false!==($file = readdir($vypis)))
        {
            if ($file != "." && $file != ".."){
                $i = fopen($adresar.$file, "r");
                $text = fread($i, 10000);
                echo "".$file."|".$text."<br>";
                fclose($i);
            }
        }
    closedir($vypis); 
?>
Alphard
Profil
Aha, v mém řešení by stačilo místo
echo $file;
dát
readfile($file);
případně
echo $file.'|'.file_get_contents($file);
Kód od l564 zřejmě fungovat bude, ale je zbytečně dlouhý.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: