Avatar billede superbent Nybegynder
08. december 2004 - 12:23 Der er 6 kommentarer og
2 løsninger

fread() giver fejl. Er der nogen der har forstand på den funktion

Hej eksperter.

Jeg har fået følgende fejl:

<br /><b>Warning</b>: fread(): Length parameter must be greater than 0. in <b>/var/www/vis.php</b> on line <b>94</b><br />

Dette er linje, og hvad der står på linjerne.
Nogen som kan forklare hvad fejlen betyder?

89: // Sends output
90: Header("Content-type: image/jpeg");
91:    
92: $filesize = filesize($location);
93: $file = fopen($location, "r");
94: $buffer = fread($file, $filesize);
95: print $buffer;
96: fclose($file);

og selvfølgelig afhjælpe med den.

Mange tak.
Avatar billede erikjacobsen Ekspert
08. december 2004 - 12:24 #1
Hvad står der i $location
Avatar billede superbent Nybegynder
08. december 2004 - 12:30 #2
// $sub = "demo" eksempelvis, altså et mappe navn som fungerer fint.

$hent = mysql_query("SELECT * FROM serie_billeder WHERE id = '$_GET[pid]' AND user = '$sub' AND serieid = '$_GET[sid]'") or die(mysql_error());
$row = mysql_fetch_array($hent);
   
$sti = "../images/". $sub. "/";
   
if ($_GET['size'] == "s") {
  $fil = $row[billede];
} elseif ($_GET['size'] == "b") {
  $fil = $row[storbillede];
} elseif ($_GET['size'] == "t") {
  $fil = $row[thumb];
} else {
  $fil = $row[storbillede];
}
       
$location = $sti. $fil;
if (!is_file($location)) { die('Image not found: '); }

// Sends output
Header("Content-type: image/jpeg");
   
$filesize = filesize($location);
$file = fopen($location, "r");
$buffer = fread($file, $filesize);
print $buffer;
fclose($file);
Avatar billede delphinarious Nybegynder
08. december 2004 - 15:35 #3
92: $filesize = filesize($location);
93: $file = fopen($location, "r");
94: $buffer = fread($file, 4096);
95: print $buffer;
96: fclose($file);
Avatar billede superbent Nybegynder
08. december 2004 - 17:19 #4
delphinarious: kan du forklare hvad det gør, det du skriver?

Kan se forskellen kun er at der står 4096 i tallet.
Avatar billede detox Nybegynder
09. december 2004 - 13:36 #5
Ja, medmindre det er et meget lille billede vil det ikke hjælpe dig noget med 4096.
Jeg kan nu ikke se nogen fejl i dit script, men en nemmere måde at hente det på er:

$location = $sti. $fil;
if (!is_file($location)) { die('Image not found: '); }

// Sends output
Header("Content-type: image/jpeg");
   
$buffer = file_get_contents($location);
print $buffer;
Avatar billede detox Nybegynder
09. december 2004 - 13:37 #6
Eller:

$location = $sti. $fil;
if (!is_file($location)) { die('Image not found: '); }

// Sends output
Header("Content-type: image/jpeg");
   
readfile($location);
Avatar billede superbent Nybegynder
03. juni 2005 - 04:11 #7
detox: kom med svar
Avatar billede detox Nybegynder
22. juni 2005 - 22:37 #8
værs'go
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester