Gå til innhold

Hvordan sjekke om en fil er tom?


Anbefalte innlegg

Skrevet

	$fil2 = file_get_contents("inc/gjestebok_hilsener.txt");
if(empty($fil2)) {
	echo "ingen hilsener";
}

 

Fungerte ikke akkurat.

Og: er det mulig å slette bestemte ting fra en tekstfil ?

Videoannonse
Annonse
Skrevet
	$fil2 = file_get_contents("inc/gjestebok_hilsener.txt");
if(empty($fil2)) {
	echo "ingen hilsener";
}

 

Fungerte ikke akkurat.

Og: er det mulig å slette bestemte ting fra en tekstfil ?

 

Riktignok lenge siden jeg har gjort noe med php, men returnerer ikke file_get_contents() en string som du bare kan sjekke lengden på?

 

prøv:

 

	$fil2 = file_get_contents("inc/gjestebok_hilsener.txt");
if(strlen($fil2) == 0) {
	echo "ingen hilsener";
}

Skrevet

Det spørs hva du mener med "tom". file_exists kan du bruke for å finne ut om fila i det hele tatt eksisterer, filesize kan lese ut om fila inneholder nok data og strlen av file_get_contents kan lese ut om strengen returnert har stor nok lengde.

Skrevet

Et txt document som du skal sjekke er bare en streng av ascii tegn. Derfor vil denne filen være 0 byte hvis den er tom, og du kan lett sjekke med filesize() slik som johndoe sier.

Jeg ville ikke benyttet file_get_contents() på vilkårlige filer for å sjekke om de er tomme, spesielt ikke hvis du ikke har noen kontroll på hvor store de maks kan være pga. minnebruk og ytelse.

Skrevet

	$fil2 = "inc/gjestebok_hilsener.txt";
if(filesize($fil2) == 0) {
	echo "ingen hilsener";
}

 

Det fungerer ikke :s Når filen inneholder 0 byte, da fortsetter scriptet.

 

 

Hele greia:

 

<?php

print '<p><div style="overflow: auto; display:block; height:550px; width:500px; margin-left:15px;">';

$fil = file("inc/gjestebok_hilsener.txt");

$fil = array_reverse($fil);

$fil2 = "inc/gjestebok_hilsener.txt";

if(filesize($fil2) == 0) {
	echo "ingen hilsener";
}

else {

	foreach($fil as $x) {

		$y = explode("*.*", $x);

		echo '<div class="gjestebokHilsen"><h2>'.$y[0].'</h2><span class="dato"><u>Lagt til</u>: <em>'.$y[2].'</em></span></div><br>';
		echo '<div id="tekstGB">'.$y[1].'</div><br>';

	}

}

print '</p></div>';

}

?>

Skrevet (endret)

Nå du alt laster den inn vha file(), kan du bruke både is_array( $fil ) og count( $fil ) for å sjekke om arrayet inneholder noe.

Endret av m4rtin

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...