Warning: fread(): Length parameter must be greater than 0

YU-Koda

Mitglied
Kann wer was mit dieser Meldung anfangen?

Warning: fread(): Length parameter must be greater than 0. in /var/kunden/xxx/xxx/portal/quiz/quiz.php on line 113

Hierbei handelt es sich um ein Quizscript aus dem Hause Artmedic. Ich hab da mal in Google gesucht, stosse aber nur überwiegend auf Seiten, die das gleiche Problem haben. Kennt wer das Problem und weiss, wie man das beheben kann? In der Zeile 112-114 steht das hier in der Datei

PHP:
$correct = fopen($correctfile, "r");
$correctanswer = fread($correct,filesize($correctfile));
fclose($correct);
 
@ Sven Petruschke

Kannst Du mir vielleicht auch helfen?
Ich benutze eine Chat-Komponente (SimpleChat 1.3) und bekomme folgenden Fehler angezeigt:

Warning: fread(): Length parameter must be greater than 0. in /kunden/85768_45772/webseiten/components/com_simplechat/sc/incl/hdr.inc on line 6

hier die hdr.inc

Code:
<?php $datetime=gmdate('M j, G:i',time()+0*3600);$pp=time();$log="data/log";$usr="data/usr";set_magic_quotes_runtime(0);
$dbl='a';function ccl(){global $dbl;if($dbl=='a'){$dbl='b';}else{$dbl='a';}}
 
function opl(){global $log;$fd=fopen($log,"r") or die('...');$fs=fread($fd,filesize($log));fclose($fd);return $fs;}
function wrl($n){global $log;$fd=fopen($log,"w") or die('...');$fout=fwrite($fd,$n);fclose($fd);}
function opu(){global $usr;$fd=fopen($usr,"r") or die('...');$fs=fread($fd,filesize($usr));fclose($fd);return $fs;}
function wru($n){global $usr;$fd=fopen($usr,"w") or die('...');$fout=fwrite($fd,$n);fclose($fd);}
function sdd($q){die("<html><head><script type=\"text/javascript\">window.location='$q';</script><title>...</title></head><body></body></html>");}
function duu($r){$users='';$fy=opu();$fy=explode("\n",$fy);$fz=array();$j=0;for($i=0;$i<count($fy);$i++){if(isset($fy[$i])&&strlen($fy[$i])>4){$we=explode(":|:",$fy[$i]);$fz[$j]="$we[2]:|:$we[3]:|:$we[1]";$j++;}}rsort($fz);for($i=0;$i<count($fz);$i++){$wg=explode(":|:",$fz[$i]);$users="<img src=\"pics/$wg[1].gif\" width=\"11\" height=\"14\" alt=\"\" title=\"$wg[2]\"> <b>$wg[0]</b>$r$users";}print $users;}
function htmsp($w){$w=str_replace("<","&lt;",$w);$w=str_replace(">","&gt;",$w);$w=str_replace("\r\n"," ",$w);$w=str_replace("\r","",$w);$w=str_replace("\n"," ",$w);return $w;}
function htmse($w){$w=htmsp($w);$w=str_replace(":|:"," ",$w);$w=str_replace("[ url="file:///'&quot;,&quot;'&quot;,$w);$w=str_replace(&quot;/&quot;&quot;,&quot;&quot;&quot;,$w);$w=str_replace(&quot;//&quot;,&quot;/&quot;,$w);return"]\\'","'",$w);$w=str_replace("\\\"","&quot;",$w);$w=str_replace("\\\\","\\",$w);return[ /url] $w;}
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
if(isset($nyc)){setcookie('myc',$nyc,time()+86400*100,'/');}elseif(!isset($myc) && !isset($nyc)){setcookie('myc','20',time()+86400*100,'/');$nyc='20';}else{$nyc=$myc;}
if(isset($wik)){setcookie('bik',$wik,time()+86400*100,'/');}elseif(!isset($bik) && !isset($wik)){setcookie('bik','1',time()+86400*100,'/');$wik='1';}else{$wik=$bik;}
if(!is_file($log)||!is_writeable($log)||!is_file($usr)||!is_writeable($usr)){
$fd=fopen($log,"w+") or die('<div align="center" style="color:red;background-color:white"><h3><br><br>WARNING! Create an <u>empty</u> directory /<i style="color:green">data</i> and CHMOD it to 777!</h3></div>');
$fout=fwrite($fd,"");fclose($fd);$fd=fopen($usr,"w+") or die('...');$fout=fwrite($fd,"");fclose($fd);}
include "lang/lang-en.inc";
?>



Danke für Deine Mühe

Greetings
Oliver Entinger
 
Ist eigentlich dasselbe Problem. Die Datei ist wahrscheinlich leer, so dass beim Ermitteln der Dateigröße 0 zurückgegeben wird, was wiederum die Funktion [phpf]fread[/phpf] nicht mag.

Versuch's mal mit folgendem:
PHP:
<?php
  $datetime=gmdate('M j, G:i',time()+0*3600);
  $pp=time();
  $log="data/log";
  $usr="data/usr";
  set_magic_quotes_runtime(0);
  $dbl='a';

  function ccl(){global $dbl;if($dbl=='a'){$dbl='b';}else{$dbl='a';}}
  function opl(){global $log; return file_get_contents($log);}
  function wrl($n){global $log;$fd=fopen($log,"w") or die('...');$fout=fwrite($fd,$n);fclose($fd);}
  function opu(){global $usr; return file_get_contents($usr);}
  function wru($n){global $usr;$fd=fopen($usr,"w") or die('...');$fout=fwrite($fd,$n);fclose($fd);}
  function sdd($q){die("<html><head><script type=\"text/javascript\">window.location='$q';</script><title>...</title></head><body></body></html>");}
  function duu($r){$users='';$fy=opu();$fy=explode("\n",$fy);$fz=array();$j=0;for($i=0;$i<count($fy);$i++){if(isset($fy[$i])&&strlen($fy[$i])>4){$we=explode(":|:",$fy[$i]);$fz[$j]="$we[2]:|:$we[3]:|:$we[1]";$j++;}}rsort($fz);for($i=0;$i<count($fz);$i++){$wg=explode(":|:",$fz[$i]);$users="<img src=\"pics/$wg[1].gif\" width=\"11\" height=\"14\" alt=\"\" title=\"$wg[2]\"> <b>$wg[0]</b>$r$users";}print $users;}
  function htmsp($w){$w=str_replace("<","&lt;",$w);$w=str_replace(">","&gt;",$w);$w=str_replace("\r\n"," ",$w);$w=str_replace("\r","",$w);$w=str_replace("\n"," ",$w);return $w;}
  function htmse($w){$w=htmsp($w);$w=str_replace(":|:"," ",$w);$w=str_replace("\\'","'",$w);$w=str_replace("\\\"","&quot;",$w);$w=str_replace("\\\\","\\",$w);return $w;}

  header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
  header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
  header("Cache-Control: no-cache, must-revalidate");
  header("Pragma: no-cache");

  if(isset($nyc)){setcookie('myc',$nyc,time()+86400*100,'/');}elseif(!isset($myc) && !isset($nyc)){setcookie('myc','20',time()+86400*100,'/');$nyc='20';}else{$nyc=$myc;}
  if(isset($wik)){setcookie('bik',$wik,time()+86400*100,'/');}elseif(!isset($bik) && !isset($wik)){setcookie('bik','1',time()+86400*100,'/');$wik='1';}else{$wik=$bik;}
  if(!is_file($log)||!is_writeable($log)||!is_file($usr)||!is_writeable($usr)){
  $fd=fopen($log,"w+") or die('<div align="center" style="color:red;background-color:white"><h3><br><br>WARNING! Create an <u>empty</u> directory /<i style="color:green">data</i> and CHMOD it to 777!</h3></div>');
  $fout=fwrite($fd,"");fclose($fd);$fd=fopen($usr,"w+") or die('...');$fout=fwrite($fd,"");fclose($fd);}
  include "lang/lang-en.inc";
?>

Sven
 
Habe auch das Problem und bekomme es einfach nicht hin...

Könntet ihr mir mal drüberschauen was am Code geändert werden müsste, damit dieser Fehler: "Warning: fread(): Length parameter must be greater than 0" nicht mehr kommt.

PHP:
function kpl_read_file($FILENAME) {
	if(file_exists($FILENAME)) {
		$FILE_R = fopen($FILENAME, "r");
		$TMP_DATA = fread($FILE_R, filesize($FILENAME));
		fclose($FILE_R);
		return $TMP_DATA;
	} else {
		global $config;
		echo "<b>Fehler:</b> $FILENAME konnte nicht geladen werden!<br>Entweder ist diese Datei nicht auf dem Server vorhanden, oder der Absolute-Pfad ist falsch!<br>Sollte der Fehler erneut auftreten, dann wenden Sie sich an: ".$config['admin_email'];
		exit;
	}
}

Danke!
 
Zurück