Autor Zpráva
Radek9
Profil
Zdravím. Mám kód, který mi načte všechny soubory (opendir) a pak je následně zobrazí pomocí file_get_contents. V souborech jsou data oddělena pomocí "%%". Použil jsem tedy ještě explode na rozdělení jednotlivých dat. Potom jsem přidal podmínku, že když jedno z dat (určené) se rovná "1", vypíše řádek:
<?php

$array = array("txt");

$dir = opendir("./testiiik");
while ($file = readdir($dir))  
{
$f = Explode(".",$file);
if(in_array($f[1],$array))
{
$open = file_get_contents("./testiiik/".$file);
$file_read = explode("%%",$open);
$kategorie = $file_read[3];

if($kategorie=="1") echo $file_read[1]." ".$file_read[3]."<br>";
}
}
?>

Jenže to nezobrazí nic. V souborech jsou vždy 4 položky a podle té čtvrté se to má poznat. Nevíte někdo jak na to?
fuckin
Profil
pridej si tam jeste else vetev a do ni si vypis promennou kategorie a hned uvidis problem.
Radek9
Profil
No nic to nevypíše, ale co s tím?
Alphard
Profil
Radek9:
Máte povolený výpis chyb?
Zkuste si vypsat seznam souborů (echo $file;), ztrátka lokalizovat chybu.
fuckin
Profil
No nic to nevypíše, ale co s tím?
Jestlis to teda napsal jak sem rekl pak $kategorie == "" tedy asi nekde je chyba kdyz tam davas tu hodnotu.
peta
Profil
(A) vypis chyb uplne na zacatku souboru:
@ini_set('error_reporting', E_ALL);
@ini_set("display_errors", "on");
error_reporting(E_ALL);

(B)
$dir = opendir("./testiiik");
while ($file = readdir($dir))
{
echo 'nazev souboru='. $file.', ';}
Pokud se zobrazi seznam souboru, pak tam soubory jsou.

(C)
while ($file = readdir($dir))
{
$f = Explode(".",$file);
echo 'parsovaniurl='. $f[1].', ';}

(C2)
$f = Explode(".",$file);
if(in_array($f[1],$array))
./. /// ./.. /// ./soubor.txt
1 = $f[1] = '/'
2 = $f[1] = '/' neni v array, oki
3 = $f[1] = '/soubor' neni v array, oki
Myslim si, ze problem je prave tady, kdy ty pocitas s priponou a tam zadna neni

(D)
$open = file_get_contents("./testiiik/".$file);
echo 'soubor='; print_r($open);

(E)
$file_read = explode("%%",$open);
echo 'parsovani='; print_r($file_read);

Pekne si vsechno zobraz, povol zobrazovani chyb a uvidis podle vypisu, ve ktere casti to prestalo. Ty echa textu jsou dulezite, aby pri chybe ti nevypsal treba 10x '', prazdny retezec a ty z toho nepoznas, kolik cyklu probehlo, nez se program zastavil.

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: