PHP:Fitxers: diferència entre les revisions

De WikiMar
Salta a la navegació Salta a la cerca
(Pàgina nova, amb el contingut: «==Llegir== if (is_file($filename) { $fp = fopen("fitxer.txt", "r"); if ($fp) { while (flock($fp, LOCK_EX) == false) // do an exclusive lock {usleep(rand...».)
 
Cap resum de modificació
Línia 2: Línia 2:
  if (is_file($filename)
  if (is_file($filename)
  {
  {
$fp = fopen("fitxer.txt", "r");
$fp = fopen("fitxer.txt", "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='';
$contents='';
while (!feof($handle)) {
while (!feof($handle)) {
$contents .= fread($handle, 8192);
$contents .= fread($handle, 8192);
}
}
flock($fp, LOCK_UN);
flock($fp, LOCK_UN);
fclose($fp);
fclose($fp);
}
}
  }
  }


fget enlloc del fread serveix per llegir linia a linia.
'''fget''' enlloc del '''fread''' serveix per llegir linia a linia.




Línia 22: Línia 22:
  if (is_file($filename)
  if (is_file($filename)
  {
  {
$fp = fopen("fitxer.txt", "w+");
  $fp = fopen("fitxer.txt", "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
{usleep(rand(1, 300));}
  {usleep(rand(1, 300));}
fwrite($fd, $content);
  fwrite($fd, $content);
flock($fp, LOCK_UN);
  flock($fp, LOCK_UN);
fclose($fp);
  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 18:48, 21 oct 2008

Llegir

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

fget enlloc del fread serveix per llegir linia a linia.


Escriure

if (is_file($filename)
{
 	$fp = fopen("fitxer.txt", "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.