rockeroff Skrevet 2. mai 2007 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); } ?>
gxi Skrevet 2. mai 2007 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.
rockeroff Skrevet 2. mai 2007 Forfatter 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.
rockeroff Skrevet 2. mai 2007 Forfatter 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.
Rinox Skrevet 2. mai 2007 Skrevet 2. mai 2007 Kanskje du kan poste feilmeldingene? De kommer for å hjelpe
rockeroff Skrevet 2. mai 2007 Forfatter 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.
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å