0 votes

php fopen désactivé - besoin d'une alternative

Mon hébergeur vient de désactiver fopen().

Mon script avait l'habitude d'ouvrir et d'écrire dans un fichier texte sur le serveur, mais ne le peut plus.

Existe-t-il une fonction alternative à fopen ?

3voto

Alex Points 41

Vous pourriez le faire avec fsockopen() . Pour moi, cela a fonctionné :

$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
    echo "$errstr ($errno)<br />\n";
} else {
    $out = "GET / HTTP/1.1\r\n";
    $out .= "Host: www.example.com\r\n";
    $out .= "Connection: Close\r\n\r\n";
    fwrite($fp, $out);
    while (!feof($fp)) {
        echo fgets($fp, 128);
    }
    fclose($fp);
}

N'oubliez pas de changer l'hôte et le paramètre de la demande.

2voto

Mike B Points 18950

Je ne pense pas que cURL nécessite allow_url_fopen pour être activé. Cependant, l'extension cURL doit être installée. Utilisez phpinfo() pour vérifier s'il est installé.

C'est un peu plus avancé que votre normal fopen() o file_get_contents() mais c'est définitivement une alternative.

1voto

y2k Points 5149

Pas que je sache. Mais c'est une fonction parfaitement sûre à utiliser sur un hébergement mutualisé (MAIS SEULEMENT SI l'environnement est bien configuré), donc si votre hébergeur l'a désactivé pour des raisons de sécurité, ce sont des noobs de la sécurité et vous devriez trouver un nouvel hébergeur.

Trouvez-en un nouveau de toute façon

1voto

Jared Points 711

S'il est disponible, vous pourriez probablement répliquer votre script avec cURL

http://us3.php.net/cURL

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X