PHP:Fitxers: diferència entre les revisions

De WikiMar
Salta a la navegació Salta a la cerca
Cap resum de modificació
Cap resum de modificació
Línia 1: Línia 1:
==Llegir==
==Llegir==
  if (is_file($filename)
$nomfitxer = "fitxer.txt";
  if (is_file($nomfitxer)
  {
  {
  $fp = fopen("fitxer.txt", "r");
  $fp = fopen($nomfitxer, "r");
  if ($fp) {
  if ($fp) {
  while (flock($fp, LOCK_EX) == false)  // do an exclusive lock
  while (flock($fp, LOCK_EX) == false)  // do an exclusive lock
  {usleep(rand(1, 300));}
  {usleep(rand(1, 300));}
  $contents='';
  $content = '';
  while (!feof($handle)) {
  while (!feof($handle)) {
  $contents .= fread($handle, 8192);
  $content .= fread($handle, 8192);
  }
  }
  flock($fp, LOCK_UN);
  flock($fp, LOCK_UN);
Línia 20: Línia 21:
==Escriure==
==Escriure==


  if (is_file($filename)
$nomfitxer = "fitxer.txt";
  if (is_file($nomfitxer )
  {
  {
   $fp = fopen("fitxer.txt", "w+");
   $fp = fopen($nomfitxer , "w+");
   if ($fp) {
   if ($fp) {
   while (flock($fp, LOCK_EX) == false)  // do an exclusive lock
   while (flock($fp, LOCK_EX) == false)  // do an exclusive lock

Revisió del 18:51, 21 oct 2008

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";
if (is_file($nomfitxer )
{
 	$fp = fopen($nomfitxer , "w+");
 	if ($fp) {
  		while (flock($fp, LOCK_EX) == false)  // do an exclusive lock
  		{usleep(rand(1, 300));}
  		fwrite($fd, $content);
  		flock($fp, LOCK_UN);
  		fclose($fp);
 	}
}

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