Autor Zpráva
obrijahoda
Profil *
zdravím potřeboval bych poradit , vypisuje mi to soubory co chci , ale potřeboval bych aby šlo na ně kliknout a aby se zobrazily v nové stránce a taky mi to ukazuje i soubory , které nechci , jak se dají skryt? .htaccess , index.php , ...atd

      $adresar = './';
      $vypis = opendir($adresar);
      while (false!==($file = readdir($vypis)))
     { 
    if ($file != "." && $file != "..")
    { echo "$file<br>\n"; } 
    }
    closedir($vypis);      ?>


diky za odpoved
candiess
Profil
obrijahoda:
jak se dají skryt?
Jednoduše, do cyklu dejte podmínku, která bue říkat, že daný název souboru nesmí být obsažen v množině (poli) zakázaných souborů.

aby šlo na ně kliknout a aby se zobrazily v nové stránce
Tak z nich udělejte odkaz, který bude mít target="_blank"
Obrijahoda
Profil *
jo kdyby to bylo tak jednoduchy

jeste vedet kam to spravne zapsat aby to fungovalo ?
Rellik
Profil
6. řádek
echo '< a href="'.$file.'">'.$file.'</a><br>";

tento řádek se navíc mlže dát do podmínky kde budou ty "zakázané soubory

$zakaz = array('index.php','.htaccess.','...atd');

takže 9. řádek by pak mohl vypadat tak:

if (!in_array($file, $zakaz)) {
echo '< a href="'.$file.'">'.$file.'</a><br>";
}

respektive celý script:

      $adresar = './';
      $zakaz = array('.', '..', 'index.php','.htaccess.','...atd');
      $vypis = opendir($adresar);
      while (false!==($file = readdir($vypis)))
     { 
        if (!in_array($file, $zakaz)) {
        echo '<a href="'.$file.'">'.$file.'</a><br>'."\n";
       }
    } 
    closedir($vypis);      ?>
Obrijahoda
Profil *
perfektni diky

jsem ten zakaz napsal nekam jinam tam byla chyba

jen jeste jedno jak to zapsat aby se ten obrazek nebo soubor zobrazoval v nove karte a nemusel se vracet sipkou z5 :-)
Rellik
Profil
Do toho řádku 7 dej target="_blank"
echo '<a href="'.$file.'" target="_blank">'.$file.'</a><br>'."\n";
Obrijahoda
Profil *
diky presne tam jsem to zapisoval ale psalo mi to chybu nemel jsem tam jedno ,, " ,, a to : "\n
Rellik
Profil
Obrijahoda:
a to : "\n
To \n je jen pro zpřehlednění kódu - ve zdrojáku to odřádkuje kód. Když to tam nebude tak se taky nic neděje ;) V podstatě jako bys při psaní kódu dal ENTER..
bez \n by to vypadal ve zdrojáku zhruba tak :
<a href="'.$file.'" target="_blank">'.$file.'</a><br><a href="'.$file.'" target="_blank">'.$file.'</a><br><a href="'.$file.'" target="_blank">'.$file.'</a><br>

S \n tak:

<a href="'.$file.'" target="_blank">'.$file.'</a><br>
<a href="'.$file.'" target="_blank">'.$file.'</a><br>
<a href="'.$file.'" target="_blank">'.$file.'</a><br>

Místo těch proměnných by tam samozřejmě byly dosazené soubory....
Obrijahoda
Profil *
ja jsem to tam mel takto

echo '<a href="target="_blank"'.$file.'>'.$file.'</a><br>'


s tim "\n je to daleko jednoduzsi :-)


$zakaz = array('.', '..',

ty tecky jsou tam proc ? vim ze kdyz tam nebudou tak index.php se buze zobrazovat jen jako 1 tecka nebo 2

ale stejne .htaccess se mi tam ukazuje v seznamu , ale nejde zobrazit ( forbidden)
Rellik
Profil
Obrijahoda:
ty tečky jsou v podstatě adresáře. Když je odmažeš tak je uvidíš ve výpisu...
Jinak ten .htaccess se tam zobrazí protože je překlep v tom poli $zakaz tam je .htaccess.

Abys nemusel mít ve výpisu ty tečky (aktuální a nařezený adresář, můžeš to udělat tak:

<?php
      $adresar = './';
      $zakaz = array('index.php','.htaccess','...atd');
      $vypis = opendir($adresar);
      while (false!==($file = readdir($vypis)))
     { 
        if (!in_array($file, $zakaz) AND is_file($file)) {
        echo '<a href="'.$file.'" target="_blank">'.$file.'</a><br>'."\n";
       }
    } 
    closedir($vypis);      
?>
Obrijahoda
Profil *
v poli $zakaz jsem to odstranil zobrazuje se to porad

<?php
       $adresar = './';
      $zakaz = array('.', '..', 'index.php','.htaccess','upload.php','pozadi.jpg');
      $vypis = opendir($adresar);
      while (false!==($file = readdir($vypis)))
     { 
        if (!in_array($file, $zakaz)) {
        echo '<a href="'.$file.'" target="_blank">'.$file.'</a><br>'."\n";
       }
    } 
    closedir($vypis);      ?>
Rellik
Profil
Obrijahoda:
Podívej se na ten můj poslední kód a hledej rozdíly.. ;)
Obrijahoda
Profil *
AND is_file jinak nevidim rozdil , stejne to nepomohlo wtf???
Rellik
Profil
No tohle by ti mělo vypsat všechny soubory krom těch zakázaných v tom poli $zobraz a zároveň by to mělo vynechat ty složky . a .. to má za úkol ta podmínka is_file... Pokud ti to ukazuje i ty složky, tak máš buď něco špatně a nebo je nech přidané i v tom poli a bude dvojí filtr...

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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