rockeroff Skrevet 2. mai 2007 Del Skrevet 2. mai 2007 Heisann Kan noen fortelle meg hvorfor dette ikke funker når jeg laster det opp på serveren..? Når jeg kjører det på apache/php på pcen her viser dette skriptet et bilde i /bilder-mappa og legger til 1 på rett linje i tellefila. Når det kjører på serveren vises ingenting, bare en fullstendig tom (hvit) side. Klikk for å se/fjerne innholdet nedenfor <?php /* visbilde.php teller klikk på bildene lagrer i fil - antallklikk.txt */ $fil = "antallklikk.txt"; $sti = "bilder/"; $bildenavn = substr($_SERVER['QUERY_STRING'], strrpos($_SERVER['QUERY_STRING'], '/'), strlen($_SERVER['QUERY_STRING'])); stripslashes($bildenavn); // sjekk om bildenavn er fylt ut, ellers gå tilbake if(!isset($bildenavn) || !@file_exists($sti.$bildenavn)) { header('Location: ' . $_SERVER['HTTP_REFERER']); exit(0); } else { //skriv i tellefila try { $lagny = true; // lager en ny linje i tellefila hvis det er et nytt bilde $handle = @fopen($fil, "rb");// or throw new Exception("Filfeil"); $data = @fread($handle, @filesize($fil)); $linjer = explode("\r\n", $data); for($i=0;$i<count($linjer);$i++) { $navnfrafil = split("=", $linjer[$i], 2); if(!$navnfrafil || empty($navnfrafil)) { throw new Exception("Lesefeil"); } if(strcasecmp($navnfrafil[0], $bildenavn) == 0) { $nyttantall = (int)$navnfrafil[1]+1; $linjer[$i] = $navnfrafil[0]."=".$nyttantall; $lagny = false; } } @fclose($handle); //lukker etter lesing $handle = @fopen($fil, "wb"); // åpner for skriving @fwrite($handle, implode("\r\n", $linjer)); if($lagny) { @fwrite($handle, $bildenavn."=1\r\n"); } @fclose($handle); } catch(Exception $ex) { die("Fatal feil!"); } //skriv ut bildet echo "<html>\n<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n<head>\n<link rel=\"stylesheet\" type=\"text/css\" href=\"stil.css\">\n"; echo '<title>'.$bildenavn.'</title></head><body><img src="'.$sti.$bildenavn.'" /></body></html>'; exit(0); } ?> Lenke til kommentar
gxi Skrevet 2. mai 2007 Del Skrevet 2. mai 2007 Det eier jo å sette en @ forran hver eneste kommando.. slik at man slipper alle de "stygge feilmeldingene" som kan hjelpe en med å finne feilen. Lenke til kommentar
rockeroff Skrevet 2. mai 2007 Forfatter Del Skrevet 2. mai 2007 Det eier jo å sette en @ forran hver eneste kommando.. slik at man slipper alle de "stygge feilmeldingene" som kan hjelpe en med å finne feilen. 8523072[/snapback] Hehe. Har prøvd uten også, men satt dem på igjen da det ikke kom noen feilmeldinger uten heller. Lenke til kommentar
rockeroff Skrevet 2. mai 2007 Forfatter Del Skrevet 2. mai 2007 Forresten; En viktig ting jeg har glemt - selv om jeg skriver echo "test.."; på linja etter <?php, blir ingenting skrevet ut. Lenke til kommentar
Rinox Skrevet 2. mai 2007 Del Skrevet 2. mai 2007 Kanskje du kan poste feilmeldingene? De kommer for å hjelpe Lenke til kommentar
rockeroff Skrevet 2. mai 2007 Forfatter Del Skrevet 2. mai 2007 Kanskje du kan poste feilmeldingene? De kommer for å hjelpe 8525191[/snapback] Problemet var at serveren ikke skrev ut feilmeldingene Men jeg fjernet try-catch'en og så var det en } for mye tror jeg. Funker nå hvertfall. Kan poste den vis noen vil. Lenke til kommentar
Rinox Skrevet 3. mai 2007 Del Skrevet 3. mai 2007 Neida, jeg trodde bare du fortsatt hadde problemet Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå