Question

J'ai essayé ceci:

    <?php
$fileip = fopen("test.txt","r");

?>

aurait dû ouvrir le fichier dans l'humeur en lecture seule, mais cela n'a pas le fichier test.txt est dans le même répertoire que celui de index.php (dossier principal de projet)

le fichier ne s'ouvre pas

et quand je mets l'écho comme:

echo $fileip;

il est revenu

Resource id # 3

Était-ce utile?

La solution

Le fichier a ouvert très bien, vous ne pouvez pas l'écho comme ça parce qu'il est un pointeur de fichier, pas le contenu du fichier lui-même. Vous devez utiliser fread() pour lire le contenu réel, ou mieux encore, utilisez file_get_contents() l'obtenir le contenu immédiatement.

Le faire votre chemin:

$handle = fopen("test.txt", "r");
$fileip = fread($handle, filesize($filename));
fclose($handle);

echo $fileip;

Ou, en utilisant file_get_contents():

$fileip = file_get_contents("test.txt");

echo $fileip;

Autres conseils

De php.net:

  

Retourne une ressource de pointeur de fichier sur   le succès, ou FALSE en cas d'erreur.

Depuis un resource a été retourné, votre dossier a ouvert avec succès, vous avez besoin d'autres opérations telles que fwrite, etc sur votre dossier. Donc, il n'y a pas d'erreur, le fichier est là pour être manipulé .

Si vous obtenez un identifiant de ressource en tant que résultat de l'appel fopen, il a réussi, car elle retourne FALSE si elle échoue. Alors qu'est-ce qui vous fait douter exactement que le fichier est en fait ouvert?

Vérifier http://www.php.net/fopen pour plus d'informations.

Vous avez seulement ouvert un descripteur de fichier, pas le fichier lui-même.

Si vous utilisez PHP5 -. Que vous devriez vraiment être pour un nouveau développement, vous pourriez utiliser à la place fileip $ = file_get_contents ( « test.txt ») qui va lire le contenu de ce fichier dans la mémoire tampon

Un exemple complet.

<?php
    $fileip = file_get_contents("test.txt");

    echo($fileip);
?>

Pour afficher le contenu du fichier texte:

$fh   = fopen('myfile.txt', 'r');
$text = fread($fh, filesize('myfile.txt'));
echo $text;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top