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 ?
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 ?
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.
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.
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
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.