PHP:Fitxers: diferència entre les revisions

De WikiMar
Salta a la navegació Salta a la cerca
Línia 21: Línia 21:
==Escriure==
==Escriure==


$nomfitxer = "fitxer.txt";
  $nomfitxer = "fitxer.txt";
if (is_file($nomfitxer) )
  $fp = fopen($nomfitxer , "w+");
{
  if ($fp) {
  $fp = fopen($nomfitxer , "w+");
  while (flock($fp, LOCK_EX) == false)  // do an exclusive lock
  if ($fp) {
  {usleep(rand(1, 300));}
  while (flock($fp, LOCK_EX) == false)  // do an exclusive lock
  fwrite($fp, $content);
  {usleep(rand(1, 300));}
  flock($fp, LOCK_UN);
  fwrite($fd, $content);
  fclose($fp);
  flock($fp, LOCK_UN);
  }
  fclose($fp);
 
  }
}


'''"a+"''' enlloc de '''"w+"''' serveix per afegir al final del fitxer.
'''"a+"''' enlloc de '''"w+"''' serveix per afegir al final del fitxer.

Revisió del 21:25, 7 gen 2009

Llegir

$nomfitxer = "fitxer.txt";
if (is_file($nomfitxer)
{
	$fp = fopen($nomfitxer, "r");
	if ($fp) {
		while (flock($fp, LOCK_EX) == false)  // do an exclusive lock
		{usleep(rand(1, 300));}
		$content = ;
		while (!feof($handle)) {
			$content .= fread($handle, 8192);
		}
		flock($fp, LOCK_UN);
		fclose($fp);
	}
}

fget enlloc del fread serveix per llegir linia a linia.


Escriure

 $nomfitxer = "fitxer.txt";
 $fp = fopen($nomfitxer , "w+");
 if ($fp) {
 	while (flock($fp, LOCK_EX) == false)  // do an exclusive lock
 	{usleep(rand(1, 300));}
 	fwrite($fp, $content);
 	flock($fp, LOCK_UN);
 	fclose($fp);
 }


"a+" enlloc de "w+" serveix per afegir al final del fitxer.

Afegir a un registre

	$fp = fopen("fitxer.txt", "a+");
	fwrite($fp, date("Ymd G:i:s") . "\t" . $_SERVER{'DOCUMENT_ROOT'} . "\t" . $_SERVER{'REQUEST_URI'} . "\t" . $_SERVER{'REDIRECT_URL'} . "\n");
	fclose($fp);