Moi,
Yksinkertainen kyssäri. Jos avaan tiedoston tällei:
$tiedosto = fopen("tiedosto.txt","r") or die("Tiedostovirhe");
..ja nyt oletettais niin, ettei kyseestä tiedostoa olekaan olemassa. Niin miten voin antaa PHP:n jatkaa tuosta kohtaa? Haluaisin, että se tulostaa siinä tapauksessa vain yksinkertaisen virheilmoituksen, mutta jatkaa kuitenkin koodin loppuun saakka, eikä katkaise sitä tuohon "or die" lauseeseen. Kokeilin ihan vain echoa tuon tilalle, muttei toiminut..
En vaan osaa..
Yksinkertainen kyssäri. Jos avaan tiedoston tällei:
$tiedosto = fopen("tiedosto.txt","r") or die("Tiedostovirhe");
..ja nyt oletettais niin, ettei kyseestä tiedostoa olekaan olemassa. Niin miten voin antaa PHP:n jatkaa tuosta kohtaa? Haluaisin, että se tulostaa siinä tapauksessa vain yksinkertaisen virheilmoituksen, mutta jatkaa kuitenkin koodin loppuun saakka, eikä katkaise sitä tuohon "or die" lauseeseen. Kokeilin ihan vain echoa tuon tilalle, muttei toiminut..
En vaan osaa..
Vastaukset 5
Vanhimmat
Kannattaa tarkistaa että löytyykö tiedostoa varmaan jotenkin näin:
if ( file_exists("tiedosto.txt") ) {
$tiedosto = fopen("tiedosto.txt","r");
} else {
echo "tiedostoa ei löydy";
}
http://fi.php.net/file_exists
Niin totta. Sujuishan se noinkin, tuossahan se ei tosiaankaan katkea siihen "or die" -komentoon.
Thänks.
Mitäs, jos kesken tiedoston lukemisessa tulee sitten vain joku muu ongelma.. niin sitten se todellakin katkee siihen "or die" -komentoon.. eikö sitä pysty korvaa millään echo -komennolla siinä tiedoston luku funktiossa?
Tuo error handler käsittelee tuon spefisen virheen aivan samalla lailla. Eli jos tiedotoa ei saada luettua resurssimuuttujaan, niin sitten php lukemisen tarkistava if-lause palauttaa falsen.
Käyttäjä voi onneksi luottaa lukemisen onnistumiseen sen tarkistukseen riittää tuo äskeinen if-lause.
Eikun eihän tuo sitä tarkistakaan kokeilepä näin
Joo, näinhän se toimii hienosti. Kiitos.