Avatar billede hmmhelpinghmm Nybegynder
02. august 2004 - 21:21 Der er 15 kommentarer og
1 løsning

file_exists() virker ikke som forventet!

Jeg kan ikke få den til at virke som jeg vil have, jeg skal have den til at tjekke om en fil eksisterer på min anden side, defor skal der et par  /  med i den, men så virker den ikke

<?
$file = "http://www.ditdomain.dk/links.php";

if (file_exists($file)) {
echo "jep";
}else{
echo "niks";
}
?>
Avatar billede 7th Praktikant
02. august 2004 - 21:26 #1
Jeg tror ikke du kan bruge file_exists() funktionen på en url-adresse. Adressen skal være lokal. Du kan derimod bruge fopen() funktionen på en url-adresse.
Avatar billede hmmhelpinghmm Nybegynder
02. august 2004 - 21:48 #2
så sådan her?

$handle = fopen("http://www.example.com/", "r");

if ( $handle == "" ) {
echo "jep";
}else{
echo "niks";
}

eller hvad?
Avatar billede hmmhelpinghmm Nybegynder
02. august 2004 - 21:58 #3
Den type script vil siden ikke loade, internal server error eller sådan noget!
Avatar billede hmmhelpinghmm Nybegynder
02. august 2004 - 22:21 #4
er der ingen der kan hjælpe?
Avatar billede kimg Nybegynder
02. august 2004 - 23:03 #5
$handle = fopen("http://www.example.com/links.php", "r");

if ( $handle == "" ) {
echo "jep";
}else{
echo "niks";
}
Avatar billede hmmhelpinghmm Nybegynder
02. august 2004 - 23:32 #6
Avatar billede coderdk Praktikant
03. august 2004 - 03:03 #7
Lille funktion med eksempel:

<?php

    function pageExists( $server, $port, $page )
    {
        if ( $fp = fsockopen( $server, $port, $errno, $errstr, 10 ) )
        {
            fwrite( $fp, "GET $page HTTP/1.1\r\nHost: $server\r\nConnection: Close\r\n\r\n" );
            $cont = fread( $fp, 256 );
            fclose( $fp );
            return !preg_match( "/404/", $cont );
        }
        else
        {
            return false; // False if site is down
        }
    }

    if ( pageExists( "www.google.com", 80, "/eksisterer_ikke" ) )
    {
        echo "Siden eksisterer!";
    }
    else
    {
        echo "Siden eksisterer ikke!";
    }

?>
Avatar billede hmmhelpinghmm Nybegynder
03. august 2004 - 11:56 #8
ER det ikk kun dette jeg skal bruge, eller hvad laver det andet?

    if ( pageExists( "www.google.com", 80, "/eksisterer_ikke" ) )
    {
        echo "Siden eksisterer!";
    }
    else
    {
        echo "Siden eksisterer ikke!";
    }
Avatar billede coderdk Praktikant
03. august 2004 - 11:57 #9
Nej, du skal ligesom også bruge den funktion jeg har lavet oven over eksemplet ;)
Avatar billede hmmhelpinghmm Nybegynder
03. august 2004 - 12:03 #10
Det der undrer mig er at der er en fwrite, hvad gør den?
Avatar billede coderdk Praktikant
03. august 2004 - 12:09 #11
fwrite skriver et request til webserveren, ellers ved serveren ikke hvilken side du er interesseret i :)
Avatar billede hmmhelpinghmm Nybegynder
03. august 2004 - 12:16 #12
Så lige nu skulle den virke ved at checke om google findes?
Avatar billede coderdk Praktikant
03. august 2004 - 12:21 #13
pageExists( "www.google.com", 80, "/eksisterer_ikke" )

Checker om http://www.google.com/eksisterer_ikke eksisterer, hvilket den ikke gør - Man får en "404 Not Found" fejl, hvis man går ind på den side. Hvis du derimod checker på

pageExists( "www.google.com", 80, "/" )

eller

pageExists( "www.google.com", 80, "/linux" )

Så eksisterer den! :)
Avatar billede hmmhelpinghmm Nybegynder
03. august 2004 - 12:24 #14
Ok, jeg skal bruge den til et link på frip, sådan at inden den går til frip,checker den om den eksisterer, og hvis ikke melder den fejl!

Skal bruge det da frip meget ofte er nede!

Checker det lidt senere, skal ind til min egen pc, og gider ikke flytte mig lige nu, så hold lige øje hvis der skulle komme problemer! :)
Avatar billede hmmhelpinghmm Nybegynder
03. august 2004 - 12:35 #15
mange mange tak, det virker super duper!

Værsgo, her er dine point! :)
Avatar billede coderdk Praktikant
03. august 2004 - 12:37 #16
Tak :)
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