Miten tarkistetaan toimivasti onko kansio olemassa? Alla oleva ei jostain syystä toimi.
$userinfo = file("a/acc/{$kayttaja}.txt");
for($k = 0; $k < sizeof($userinfo); $k )
{
$polku = "kansiot/$userinfo[$k]"; // testatusti toimiva osoite
if (file_exists("$polku")) { // tämä ei tulostu ikinä
echo '
< li> < a href="kansiot/'.$userinfo[$k].'/index.php" target="oikea"> '.$userinfo[$k].'< /li>
';
}
}
echo "< a href=\"$polku\"> $polku< /a> < br> "; // osoitteen toimivuus tarkistettu tällä
$userinfo = file("a/acc/{$kayttaja}.txt");
for($k = 0; $k < sizeof($userinfo); $k )
{
$polku = "kansiot/$userinfo[$k]"; // testatusti toimiva osoite
if (file_exists("$polku")) { // tämä ei tulostu ikinä
echo '
< li> < a href="kansiot/'.$userinfo[$k].'/index.php" target="oikea"> '.$userinfo[$k].'< /li>
';
}
}
echo "< a href=\"$polku\"> $polku< /a> < br> "; // osoitteen toimivuus tarkistettu tällä
Vastaukset 4
Vanhimmat
Olisiko PHP-dokkarista apua
http://fi2.php.net/manual/en/class.dir.php
suhteellisilla osoiteilla eli jotenkin näin:
< ?php
if( file_exists( $_SERVER{'DOCUMENT_ROOT'} . "/my_images/abc.jpg")) {
...
}
? >
Sain homman toimimaan lopulta hyvinkin helposti lukemalla tiedot taulukkoon, ja vertaamalla taulukoiden sisältöjä. Ehkä kuulostaa purkkaviritykseltä, mutta toimiihan se näinkin. Tässä tulevaisuutta ajatellen itsellenikin muistiinpanona mallikoodi... Olennainen osa oli tuo preg_replace, jota en heti huomannut lisätä.
$nim = opendir("kansiot/");
while ($hak = readdir($nim)) {
if (!is_file($hak) and ($hak!= "." && $hak!= ".." ))
{
$hak = preg_replace('/\s*/m', '', $hak);
$kaikki[] = $hak;
}
}
closedir($nim);
$file = file("tiedosto.txt");
for($k = 0; $k < sizeof($file); $k )
{
$file[$k] = preg_replace('/\s*/m', '', $file[$k]);
if (in_array( $file[$k], $kaikki))
{
// tee jotain
}
}
näin
$log = 'ur file.txt';
if (!file_exists($log)) {
do something