Erreur file_get_contents(): Filename cannot be empty PHP

Résolu
Rayfi Messages postés 205 Date d'inscription   Statut Membre Dernière intervention   -  
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, j'ai une erreur "file_get_contents(): Filename cannot be empty"

Je voulais savoir comment faire pour la réglé car je ne vois pas d'où peut venir le problème.

Voici mon code :

<?php

if(!isset($_GET['page']));
{
$link = $_GET['page'];
$page = file_get_contents($link);

$normal = array('eau');
$kikoo = array('o');
$result = str_replace($normal, $kikoo, $page);
print($result);
}

?>

Merci d'avance.

2 réponses

chico200987 Messages postés 791 Date d'inscription   Statut Membre Dernière intervention   143
 
C'est explicite "Filename cannot be empty"

Il faut vérifier ce que tu as dans $link car avec isset tu vérifies uniquement si ta variable n'est pas null, or, vide ne veut pas dire null ;)

Fais un var_dump($link); avant ton appel à $page = file_get_contents($link); voir ce qu'il y a dedans
1
Xavierdu34 Messages postés 216 Date d'inscription   Statut Membre Dernière intervention   21
 
Voici ton code corrigé avec gestion de fichiers inexistant, remplace juste PageParDéfaut ou PageDerreur par une adresse valable.

ce code ne fonctionne que pour Get des pages internes de ton site, si c'est pour des pages externes, dis le et je te posterai un correctif.

<?php 
if(isset($_GET['page'])) {
$link = $_GET['page'];
}
if(!is_file($link)) $link="PageParDéfaut ou PageDerreur"; // a remplacer par l'adresse de la page d'erreur ou d'accueil.
$page = file_get_contents($link);
$result = str_replace("eau", "o", $page);
echo $result;
?>
0
Rayfi Messages postés 205 Date d'inscription   Statut Membre Dernière intervention   30
 
C'est pour les pages EXTERNES d'un site. Merci quand même.
0
Xavierdu34 Messages postés 216 Date d'inscription   Statut Membre Dernière intervention   21
 
<?php 
if(isset($_GET['page'])) {
$link = $_GET['page'];
}
if($page = file_get_contents($link)) {
$result = str_replace("eau", "o", $page);
echo $result; } 
else { "Ce que tu veux si le file get ne marche pas" } 
?>
0
Rayfi Messages postés 205 Date d'inscription   Statut Membre Dernière intervention   30
 
Merci.
0
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Juste pour info : autoriser l'inclusion de page externe à ton site peut le rendre vulnérable à différentes failles de sécurité. A utiliser en connaissance de cause.
0