Sortie d'un fichier en PHP
Résolu/Fermé
Poireau007
Messages postés
83
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
17 octobre 2012
-
15 avril 2009 à 15:07
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 - 16 avril 2009 à 22:11
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 - 16 avril 2009 à 22:11
A voir également:
- Sortie d'un fichier en PHP
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Ouvrir un fichier .bin - Guide
- Fichier host - Guide
7 réponses
il suffit de regarder la doc : https://www.php.net/manual/en/function.fopen.php
'r' Ouvre en lecture seule, et place le pointeur de fichier au début du fichier.
'r+' Ouvre en lecture et écriture, et place le pointeur de fichier au début du fichier.
'w' Ouvre en écriture seule ; place le pointeur de fichier au début du fichier et réduit la taille du fichier à 0. Si le fichier n'existe pas, on tente de le créer.
'w+' Ouvre en lecture et écriture ; place le pointeur de fichier au début du fichier et réduit la taille du fichier à 0. Si le fichier n'existe pas, on tente de le créer.
'a' Ouvre en écriture seule ; place le pointeur de fichier à la fin du fichier. Si le fichier n'existe pas, on tente de le créer.
'a+' Ouvre en lecture et écriture ; place le pointeur de fichier à la fin du fichier. Si le fichier n'existe pas, on tente de le créer.
'x' Crée et ouvre le fichier en lecture seule ; place le pointeur de fichier au début du fichier. Si le fichier existe déjà, fopen() va échouer, en retournant FALSE et en générant une erreur de niveau E_WARNING. Si le fichier n'existe pas, fopen() tente de le créer. Ce mode est l'équivalent des options O_EXCL|O_CREAT pour l'appel système open(2) sous-jacent. Cette option est supportée à partir de PHP 4.3.2 et fonctionne uniquement avec des fichiers locaux.
'x+' Crée et ouvre le fichier en lecture et écriture ; place le pointeur de fichier au début du fichier. Si le fichier existe déjà, fopen() va échouer, en retournant FALSE et en générant une erreur de niveau E_WARNING. Si le fichier n'existe pas, fopen() tente de le créer. Ce mode est l'équivalent des options O_EXCL|O_CREAT pour l'appel système open(2) sous-jacent. Cette option est supportée à partir de PHP 4.3.2, et fonctionne uniquement avec des fichiers locaux.
'r' Ouvre en lecture seule, et place le pointeur de fichier au début du fichier.
'r+' Ouvre en lecture et écriture, et place le pointeur de fichier au début du fichier.
'w' Ouvre en écriture seule ; place le pointeur de fichier au début du fichier et réduit la taille du fichier à 0. Si le fichier n'existe pas, on tente de le créer.
'w+' Ouvre en lecture et écriture ; place le pointeur de fichier au début du fichier et réduit la taille du fichier à 0. Si le fichier n'existe pas, on tente de le créer.
'a' Ouvre en écriture seule ; place le pointeur de fichier à la fin du fichier. Si le fichier n'existe pas, on tente de le créer.
'a+' Ouvre en lecture et écriture ; place le pointeur de fichier à la fin du fichier. Si le fichier n'existe pas, on tente de le créer.
'x' Crée et ouvre le fichier en lecture seule ; place le pointeur de fichier au début du fichier. Si le fichier existe déjà, fopen() va échouer, en retournant FALSE et en générant une erreur de niveau E_WARNING. Si le fichier n'existe pas, fopen() tente de le créer. Ce mode est l'équivalent des options O_EXCL|O_CREAT pour l'appel système open(2) sous-jacent. Cette option est supportée à partir de PHP 4.3.2 et fonctionne uniquement avec des fichiers locaux.
'x+' Crée et ouvre le fichier en lecture et écriture ; place le pointeur de fichier au début du fichier. Si le fichier existe déjà, fopen() va échouer, en retournant FALSE et en générant une erreur de niveau E_WARNING. Si le fichier n'existe pas, fopen() tente de le créer. Ce mode est l'équivalent des options O_EXCL|O_CREAT pour l'appel système open(2) sous-jacent. Cette option est supportée à partir de PHP 4.3.2, et fonctionne uniquement avec des fichiers locaux.
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 193
15 avril 2009 à 15:09
15 avril 2009 à 15:09
regardes la fonction "fopen", fputs; fclose ....
freto
Messages postés
1542
Date d'inscription
vendredi 6 juillet 2007
Statut
Membre
Dernière intervention
8 avril 2016
161
15 avril 2009 à 15:13
15 avril 2009 à 15:13
Salut.
Dans ton fichier php, au lieu de mettre des echos, il faut utiliser des fonctions telles que fopen, fwrite, et fclose.
Voici un petit exemple:
Sinon, il m'a semblé lire quelque part sur le net que l'on pouvait exécuter du PHP comme un script bash, mais la je connais pas plus que sa désolé.
Dans ton fichier php, au lieu de mettre des echos, il faut utiliser des fonctions telles que fopen, fwrite, et fclose.
Voici un petit exemple:
//ouverture en lecture et modification //ouverture en écriture $text2=fopen($fichier,'w+') or die("Fichier manquant"); //il faut ici remplir la chaine $contenuMod pour y mettre ce qu'on veut fwrite($text2,$contenuMod); fclose($text2);
Sinon, il m'a semblé lire quelque part sur le net que l'on pouvait exécuter du PHP comme un script bash, mais la je connais pas plus que sa désolé.
bonjour,
tu peux le faire comme ça :
voilà la doc :
https://www.php.net/manual/en/function.fopen.php
https://www.php.net/manual/fr/function.fwrite.php
https://www.php.net/manual/fr/function.fclose.php
tu peux le faire comme ça :
$file = fopen($path,$droits); fwrite($file,$contenu); fclose($file);
voilà la doc :
https://www.php.net/manual/en/function.fopen.php
https://www.php.net/manual/fr/function.fwrite.php
https://www.php.net/manual/fr/function.fclose.php
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Poireau007
Messages postés
83
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
17 octobre 2012
15
15 avril 2009 à 17:04
15 avril 2009 à 17:04
Avant tout , merci à tous pour vos réponses :)
Bon ça m'a pas l'air simple cette affaire...
voici mon script en version simplifiée :
Bon ça marche , ça m'affiche ce que je veux , c'est cool.
Pour sortir ca en un fichier fichier.txt,
en suivant le process de freto je remplace :
par
Ca me dit "fichier manquant" ...
a quoi correspond $text2 ? si je fais quelque chose du type text2=$donnees['expres'] c'est correct ??
Désolé pour ma noobitude !
Bon ça m'a pas l'air simple cette affaire...
voici mon script en version simplifiée :
<?php // Parametres mysql define('DB_SERVER', 'localhost'); // serveur mysql define('DB_SERVER_USERNAME', 'root'); // nom d'utilisateur define('DB_SERVER_PASSWORD', ''); // mot de passe define('DB_DATABASE', 'basededonnee'); // nom de la base // Connexion au serveur mysql $connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD) or die('Impossible de se connecter : ' . mysql_error()); // sélection de la base de données mysql_select_db(DB_DATABASE, $connect); $id= 100200300; $reponse = mysql_query("SELECT * FROM tb WHERE idx=$id "); while ($donnees = mysql_fetch_array($reponse)) { ?> <?php echo $donnees['expres']; ?> <?php echo "\t" ?><br> <?php } mysql_close(); ?>
Bon ça marche , ça m'affiche ce que je veux , c'est cool.
Pour sortir ca en un fichier fichier.txt,
en suivant le process de freto je remplace :
<?php echo $donnees['expres']; ?> <?php echo "\t" ?><br>
par
//ouverture en lecture et modification //ouverture en écriture $text2=fopen($fichier,'w+') or die("Fichier manquant"); //il faut ici remplir la chaine $contenuMod pour y mettre ce qu'on veut fwrite($text2,$donnees['expres']); fclose($text2);
Ca me dit "fichier manquant" ...
a quoi correspond $text2 ? si je fais quelque chose du type text2=$donnees['expres'] c'est correct ??
Désolé pour ma noobitude !
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 193
15 avril 2009 à 17:08
15 avril 2009 à 17:08
$fichier = "fichier_de_log.txt";
$text2 c'est le handle du fichier que tu as ouvert avec fopen
$text2 c'est le handle du fichier que tu as ouvert avec fopen
Poireau007
Messages postés
83
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
17 octobre 2012
15
16 avril 2009 à 18:23
16 avril 2009 à 18:23
Merci encore pour vos réponses !
malheureusement elles restent relativement abconses...
merci pour le lien du site mais je n'ai rien compris :/
un extrait :
"Si PHP a décidé que filename spécifie un protocole enregistré, et que ce protocole est enregistré comme un protocole réseau, PHP s'assurera que la directive allow_url_fopen est activée. Si elle est inactive, PHP va émettre une alerte et l'ouverture va échouer."
Hum hum, c'est en quelle langue ça ??
Bon sinon on m'a donné un coup de main pour y arriver donc je poste, ça pourra toujours servir a quequ'un =)
ça donne :
$fp=fopen( 'out.log', 'w');
fwrite( $fp, liste_de_mes-INSTRUCTIONS ) ;
fclose( $fp );
voilou
malheureusement elles restent relativement abconses...
merci pour le lien du site mais je n'ai rien compris :/
un extrait :
"Si PHP a décidé que filename spécifie un protocole enregistré, et que ce protocole est enregistré comme un protocole réseau, PHP s'assurera que la directive allow_url_fopen est activée. Si elle est inactive, PHP va émettre une alerte et l'ouverture va échouer."
Hum hum, c'est en quelle langue ça ??
Bon sinon on m'a donné un coup de main pour y arriver donc je poste, ça pourra toujours servir a quequ'un =)
ça donne :
$fp=fopen( 'out.log', 'w');
fwrite( $fp, liste_de_mes-INSTRUCTIONS ) ;
fclose( $fp );
voilou
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 193
16 avril 2009 à 22:11
16 avril 2009 à 22:11
en fait, ce que tu ne comprennais pas, tu l'aurai compris en feuillettant un peu plus le site
on te parlait de la possibilité d'ouvrir un fichier de la meme manière qu'un protocole réseau: de la meme manière que tu peux ouvrir avec cette fonction un fichier accessible via une adresse commenceant par http:// ou https:// ou encore ftp://, tu peux mettre php:// pour ouvrir un fichier ...
de meme, a la suite de la page, tu serai tombé sur ceci:
Voir aussi
Liste des protocoles supportés
fclose() - Ferme un fichier
fgets() - Récupère la ligne courante sur laquelle se trouve le pointeur du fichier
fread() - Lecture du fichier en mode binaire
fwrite() - Écrit un fichier en mode binaire
fsockopen() - Ouvre une socket de connexion Internet ou Unix
file() - Lit le fichier et renvoie le résultat dans un tableau
file_exists() - Vérifie si un fichier ou un dossier existe
is_readable() - Indique si un fichier est accessible en lecture
stream_set_timeout() - Configure la durée d'expiration d'un flux
popen() - Crée un processus de pointeur de fichier
stream_context_create() - Crée un contexte de flux
qui était des liens vers toutes les methode en relation avec le fopen ... donc le lien était particulièrement utile... si tu avais prété un peu plus attention au contenu de la page ...
on te parlait de la possibilité d'ouvrir un fichier de la meme manière qu'un protocole réseau: de la meme manière que tu peux ouvrir avec cette fonction un fichier accessible via une adresse commenceant par http:// ou https:// ou encore ftp://, tu peux mettre php:// pour ouvrir un fichier ...
de meme, a la suite de la page, tu serai tombé sur ceci:
Voir aussi
Liste des protocoles supportés
fclose() - Ferme un fichier
fgets() - Récupère la ligne courante sur laquelle se trouve le pointeur du fichier
fread() - Lecture du fichier en mode binaire
fwrite() - Écrit un fichier en mode binaire
fsockopen() - Ouvre une socket de connexion Internet ou Unix
file() - Lit le fichier et renvoie le résultat dans un tableau
file_exists() - Vérifie si un fichier ou un dossier existe
is_readable() - Indique si un fichier est accessible en lecture
stream_set_timeout() - Configure la durée d'expiration d'un flux
popen() - Crée un processus de pointeur de fichier
stream_context_create() - Crée un contexte de flux
qui était des liens vers toutes les methode en relation avec le fopen ... donc le lien était particulièrement utile... si tu avais prété un peu plus attention au contenu de la page ...