DevAngers AFPA
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
-21%
Le deal à ne pas rater :
LEGO® Icons 10329 Les Plantes Miniatures, Collection Botanique
39.59 € 49.99 €
Voir le deal

fonction pour ecrire dans 1 fichier (et le créer si besoin)

2 participants

Aller en bas

fonction pour ecrire dans 1 fichier (et le créer si besoin) Empty fonction pour ecrire dans 1 fichier (et le créer si besoin)

Message par nathur Ven 29 Oct - 15:01

<?php
//Créer un fichier et ecrire dedans
public function cree_et_ecrit($chemin, $texte) {
$txt = ''; $ch = '';
$info_chemin = pathinfo($chemin);//recupere les infos du chemin
//1er cas : le chemin et le fichier existent
if(is_file($chemin)) {
if(is_writable($chemin)) { //le fichier est accessible en écriture
if($pointeur = fopen($chemin, 'a+')) {//ouverture du fichier en lecture + ecriture avec pointeur à la fin
//tentative d'ecriture
$txt .= "Dossier existant <br/>".ecriture($pointeur,$texte,$info_chemin['basename']);
}
}else { $txt .= "ERREUR de droits : ".$info_chemin['basename']." n'est pas accessible en écriture.";
return $txt; }
}
else
{
if(isset($info_chemin['extension'])) {
//verif de l'extension du fichier
if(preg_match("[php|txt|inc|asp|htm|html|log|htaccess]",$info_chemin['extension'])) {
//découpage du repertoire dans 1 tableau s'il y a un repertoire
if(isset($info_chemin['dirname'])) {
$dossier = explode("/", $info_chemin['dirname']); //rdv 2e cas
}
else {//il n'y a pas de repertoire, rdv 3e cas
$dossier = 0;
$ch .= $info_chemin['basename'];
}
}
else { $txt .= ("Le format : ".$info_chemin['extension']." n'est pas accepté"); return $txt; }
}
else{ $txt .= ("Votre fichier doit avoir une extension (ex: monfichier.txt)"); return $txt; }

//2e cas, on vérifie chaque dossier du repertoire pour savoir s'il existe
//si le chemin est composé d'1 rep + 1 fichier (les dossiers st stockés dans un tableau)
if(is_array($dossier)) {
for($i=0;$i<count($dossier);$i++) {
$directory = $ch . $dossier[$i];
//pour chaque element du repertoire, on verifie si c'est un dossier, sinon, on le crée
if(!is_dir($directory)) {
if(mkdir($directory, 777)) {
$txt .= 'creation : '.$directory.'<br/>';
$ch .= $dossier[$i].'/';
}
else { $txt .= 'problème lors de la création de dossier'; }
}
else { //dossier existant
$txt .= 'Dossier existant : '.$directory.'<br/>';
$ch .= $dossier[$i].'/';
}
}
$ch .= $info_chemin['basename'];
//que le fichier existe ou pas, on tente de le créer et on l'ouvre
if ($pointeur = fopen("$ch", "a+")) {
$txt .= 'ouverture : '.$ch.ecriture($pointeur,$texte,$info_chemin['basename']);
}
}
//3e cas, il n'y qu'un nom de fichier et pas de repertoire
else {
//que le fichier existe ou pas, on tente de le crée et on l'ouvre
if ($pointeur = fopen("$ch", "a+")) { //on essaye de le créer et l'ouvrir
$txt .= 'ouverture : '.$ch.ecriture($pointeur,$texte,$info_chemin['basename']);
}
}
}
return $txt;
}
public function ecriture($pointeur,$texte,$fichier){
//si la tentative d'ecriture echoue
if (fwrite($pointeur, $texte) === FALSE) { $txt2 = "Erreur lors de l'écriture dans ".$fichier."<br/>"; }
//si la tentative est réussie
else { $txt2 = "<br/>Ecriture dans ".$fichier." réussie."; }
fclose($pointeur);
return $txt2;
}
nathur
nathur
Hey mais mec !
Hey mais mec !

Messages : 414
Date d'inscription : 08/10/2010
Age : 45
Localisation : La jub !

Spécialités
Expert en:
Maître en:
Débutant en: Tout ! mais cherche à s'améliorer ...

Revenir en haut Aller en bas

fonction pour ecrire dans 1 fichier (et le créer si besoin) Empty Re: fonction pour ecrire dans 1 fichier (et le créer si besoin)

Message par nathur Ven 29 Oct - 15:02

mouais pas tres visible... si besoin je peux l'envoyer à ceux qui veulent en .txt ou .php
nathur
nathur
Hey mais mec !
Hey mais mec !

Messages : 414
Date d'inscription : 08/10/2010
Age : 45
Localisation : La jub !

Spécialités
Expert en:
Maître en:
Débutant en: Tout ! mais cherche à s'améliorer ...

Revenir en haut Aller en bas

fonction pour ecrire dans 1 fichier (et le créer si besoin) Empty Re: fonction pour ecrire dans 1 fichier (et le créer si besoin)

Message par juju49l Ven 29 Oct - 15:04

Si vous voulez j'ai un truc du même genre en c#... si ça intéresse quelqu'un!
juju49l
juju49l
OK ++
OK ++

Messages : 519
Date d'inscription : 08/10/2010
Age : 40
Localisation : DTC

Spécialités
Expert en: Bavardage avec Seeverlight
Maître en: Pas encore cette prétention...
Débutant en: DotNet, Web, Base de données, Modélisation, RPG IV FREE

Revenir en haut Aller en bas

fonction pour ecrire dans 1 fichier (et le créer si besoin) Empty Re: fonction pour ecrire dans 1 fichier (et le créer si besoin)

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum