Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    file_exists falsa indicazione da sempre valore falso.

    ho un problema che dovrebbe essere semplice, perche' probabilmente mi sto perdendo in un bicchiere d'acqua, in pratica il mio problema con file_exist del php, che mi dice che la pagina non esiste errore 404 ma la pagina esiste. vi posto il codice.




    $filename = trim("http://www.corrieredellosport.it/giocatori/SerieA/Mauricio Isla/p48852");




    if (file_exists($filename)) {
    echo "The file $filename exists";
    } else {
    echo "The file $filename does not exist";
    }


    il file esiste, ma dice che non è vero, se qualcuno sa venirne a capo, grazie in anticipo. Per me è diventato un vero rompicapo.

    PS

    Ovviamente se provo a leggere ugualmente il file, non me lo legge e partono i warning

  2. #2
    che io sappia, file_exists controlla l'esistenza di un file nel filesystem o nella rete, non via url... e neanche nel manuale ce n0è traccia....in compenso ho trovato questo che sembrerebbe andare al caso tuo:

    http://www.php.net/manual/en/functio...ists.php#85246

    vedi se ti funge
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Io ho le stesso problema...
    in realtà potresti controllare anche con fopen o con curl solo che su altervista queste funzioni sono disabilitate...

  4. #4
    Originariamente inviato da Santino83_02
    che io sappia, file_exists controlla l'esistenza di un file nel filesystem o nella rete, non via url... e neanche nel manuale ce n0è traccia....in compenso ho trovato questo che sembrerebbe andare al caso tuo:

    http://www.php.net/manual/en/functio...ists.php#85246

    vedi se ti funge


    innanzitutto grazie, si in effetti il funzionamento di file_exist secondo php.net è quello da te indicato, purtroppo per il resto nulla da fare, ho utilizzato lo script da te indicato con curl e un secondo script e anche dal secondo mi visualizza

    HTTP/1.1 404 Not Found etc. etc.




    <?php



    echo "
    ";
    echo "ultima prova ";
    echo "
    ";

    $url="http://www.corrieredellosport.it/giocatori/SerieA/Mauricio Isla/p48852";
    $handle = curl_init($url);
    if (false === $handle)
    {
    return false;
    }
    printf ("valore di handle: $handle");
    curl_setopt($handle, CURLOPT_HEADER, false);
    curl_setopt($handle, CURLOPT_FAILONERROR, true); // this works
    curl_setopt($handle, CURLOPT_HTTPHEADER, Array("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.15) Gecko/20080623 Firefox/2.0.0.15") ); // request as if Firefox
    curl_setopt($handle, CURLOPT_NOBODY, true);
    curl_setopt($handle, CURLOPT_RETURNTRANSFER, false);
    $connectable = curl_exec($handle);
    curl_close($handle);
    echo $connectable;
    echo "
    ";
    echo "--------------------------------------------------";
    echo "
    ";


    ////////////////
    ///////////////PROVA SECONDO SCRIPT
    ////////////////
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://www.corrieredellosport.it/giocatori/SerieA/Mauricio Isla/p48852");
    curl_setopt($ch, CURLOPT_HEADER, true);
    curl_setopt($ch, CURLOPT_NOBODY, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $data = curl_exec($ch);
    curl_close($ch);
    echo $data;

    ?>

    ultima prova
    valore di handle: Resource id #2
    --------------------------------------------------
    HTTP/1.1 404 Not Found Date: Fri, 05 Aug 2011 13:51:39 GMT Server: Apache Accept-Ranges: bytes Vary: Accept-Encoding Connection: close Content-Type: text/html


    Non credo che sia un ban perche' non dovrebbe cmq dare un 404 , forse un ban a livello di htaccess, oppure perche' manca l'estensione, qualunque sia la ragione per me rimane veramente un rebus. Grazie Cmq.

  5. #5
    Originariamente inviato da moneta173
    Io ho le stesso problema...
    in realtà potresti controllare anche con fopen o con curl solo che su altervista queste funzioni sono disabilitate...
    anche io ho utilizzato file exist perche' fopen mi dava gli warning. di non trovato.

  6. #6
    Provo con un up tante volte qualcuno riuscisse a risolvere questo arcano

  7. #7
    Soluzione Trovata.

    bisogna fare attenzione a quando ci sono degli spazi nell'url , in questo caso bisogna introdurre con un str replasce al posto degli spazi il carattere %20.

    Grazie cmq dell'aiuto.

  8. #8
    il codice corretto è:

    Codice PHP:


    $ch 
    curl_init();
    curl_setopt($chCURLOPT_URL"http://www.corrieredellosport.it/giocatori/SerieA/Mauricio%20Isla/p48852");
    curl_setopt($chCURLOPT_HEADERfalse);
    curl_setopt($chCURLOPT_FAILONERRORtrue); // this works
    curl_setopt($chCURLOPT_HTTPHEADER, Array("User-Agent: Mozilla/6.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.15) Gecko/20080623 Firefox/5.0.0.15") ); // request as if Firefox
    curl_setopt($chCURLOPT_NOBODYtrue);
    curl_setopt($chCURLOPT_RETURNTRANSFERfalse);
    $data curl_exec($ch);
    curl_close($ch);
    echo 
    $data
    nota che la url ha lo spazio sostituito dal corrispondente %20: in paratica, devi fare l'escape della url prima di passarla al curl





    EDIT: ho modificato un pò a casaccio i valori dell'user agent, magari mettici quelli corretti per identificare l'ultima versione di Firefox...giusto per non sporcare troppo le statistiche del sito del corriere :P
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.