[PHP] Créer un fichier a nom variable
Résolu
winco07
Messages postés
117
Date d'inscription
Statut
Membre
Dernière intervention
-
winco07 Messages postés 117 Date d'inscription Statut Membre Dernière intervention -
winco07 Messages postés 117 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Mon souci ce matin est de créer un fichier avec un nom variable. je m'explique.J'ai 2 fichiers un avec mes fonctions et un autre qui fait appel a ces fonctions. Quand je fais appel a une fonction une variable est passée en paramètre.
Dans mon second fichier (celui où se trouve les fonctions ) la variable est récupérée pour être utiliser. Celle si est utilisée pour récupérer le fichier correspondant et je voudrais aussi qu'elle serve pour créer un fichier( .ics ).
Quand je lance mon script une erreur s'affiche "Can't create local calendar file".
-Déjà, est-ce possible ?
Voici le code :
Fichier appel des fonctions :
import ('abrlt/');
import ('mee/');
import ('crssl/');
import ('eblnvn/');
...
Fichier qui contient la fonction :
function import ($oldfile){
$fichier="Chemin d'accès".$oldfile;
$tabfich=file($fichier);
$ouvre = @fopen($oldfile.'.ics',"w") or die("Can't create local calendar file"); // ouverture en lecture (w)
for( $i = 0 ; $i < count($tabfich) ; $i++ )
{
$ligne = $tabfich[$i];
echo '<pre>'.$ligne.'</pre>';
fwrite($ouvre,$ligne); // écriture fichier
}
fclose($ouvre); // fermeture fichier
}
Merci pour vos réponses
Mon souci ce matin est de créer un fichier avec un nom variable. je m'explique.J'ai 2 fichiers un avec mes fonctions et un autre qui fait appel a ces fonctions. Quand je fais appel a une fonction une variable est passée en paramètre.
Dans mon second fichier (celui où se trouve les fonctions ) la variable est récupérée pour être utiliser. Celle si est utilisée pour récupérer le fichier correspondant et je voudrais aussi qu'elle serve pour créer un fichier( .ics ).
Quand je lance mon script une erreur s'affiche "Can't create local calendar file".
-Déjà, est-ce possible ?
Voici le code :
Fichier appel des fonctions :
import ('abrlt/');
import ('mee/');
import ('crssl/');
import ('eblnvn/');
...
Fichier qui contient la fonction :
function import ($oldfile){
$fichier="Chemin d'accès".$oldfile;
$tabfich=file($fichier);
$ouvre = @fopen($oldfile.'.ics',"w") or die("Can't create local calendar file"); // ouverture en lecture (w)
for( $i = 0 ; $i < count($tabfich) ; $i++ )
{
$ligne = $tabfich[$i];
echo '<pre>'.$ligne.'</pre>';
fwrite($ouvre,$ligne); // écriture fichier
}
fclose($ouvre); // fermeture fichier
}
Merci pour vos réponses
A voir également:
- [PHP] Créer un fichier a nom variable
- Fichier bin - Guide
- Creer un fichier .bat - Guide
- Créer un compte google - Guide
- Comment créer un groupe whatsapp - Guide
- Comment réduire la taille d'un fichier - Guide
10 réponses
Bonjour,
je ne comprend pas :
$fichier="Chemin d'accès".$oldfile;
$tabfich=file($fichier);
$ouvre = @fopen($oldfile.'.ics',"w")
la fct file fonctionne car tu lui dis d'ouvrir $fichier qui contient le chemin d'accès jusqu'au fichier
pour fopen tu lui fait ouvrir/creer sans mettre le chemin d'accès
et en plus tu mets dans l'appel par exemple import ('abrlt/');
donc $oldfile.'.ics' va contenir abrlt/.ics ça doit géner !!
ce n'est pas plutôt import ('/abrlt');
je ne comprend pas :
$fichier="Chemin d'accès".$oldfile;
$tabfich=file($fichier);
$ouvre = @fopen($oldfile.'.ics',"w")
la fct file fonctionne car tu lui dis d'ouvrir $fichier qui contient le chemin d'accès jusqu'au fichier
pour fopen tu lui fait ouvrir/creer sans mettre le chemin d'accès
et en plus tu mets dans l'appel par exemple import ('abrlt/');
donc $oldfile.'.ics' va contenir abrlt/.ics ça doit géner !!
ce n'est pas plutôt import ('/abrlt');
en ce qui concerne le chemin d'accès c'est celui qui est sur un serveur distant c'est pour ca que je n'ai pas mis d'adresse. Pour la création du fichier celui ci se crée la ou se trouve le fichier php donc je n'ai pas besoin de lui mettre une adresse de destination
Pour ce qui est du "/" $oldfile effectivement c'est pas judicieux pour créer un fichier (erreur d'inattention )
J l'ai enlevé et c'est bon le fichier est bien créer mais le fichier de source n'est plus trouvé :s
J'ai remplacé par : $fichier="chemin d'accès/".$oldfile."/";
Pour ce qui est du "/" $oldfile effectivement c'est pas judicieux pour créer un fichier (erreur d'inattention )
J l'ai enlevé et c'est bon le fichier est bien créer mais le fichier de source n'est plus trouvé :s
J'ai remplacé par : $fichier="chemin d'accès/".$oldfile."/";
$fichier="chemin d'accès/".$oldfile."/"
pourquoi le / à la fin il le faut pour un repertoire mais pas pour un nom de fichier
pourquoi le / à la fin il le faut pour un repertoire mais pas pour un nom de fichier
Ben je sais pas trop. Quand on se rend a l'adresse home/ par exemple on télécharge un fichier directement. C'est pas moi qui ait mis le système en place.
La lecture et l'écriture du premier fichier marche mais c'est au second que ca bloque maintenant
erreur : Fatal error: Maximum execution time of 30 seconds exceeded in d:\www\test\EnrFichier.php on line 15
Je sais pas si c'est la bonne méthode de mettre à la suite les uns des autres les imports ?
La lecture et l'écriture du premier fichier marche mais c'est au second que ca bloque maintenant
erreur : Fatal error: Maximum execution time of 30 seconds exceeded in d:\www\test\EnrFichier.php on line 15
Je sais pas si c'est la bonne méthode de mettre à la suite les uns des autres les imports ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ha bien oui si tes fichiers sont volumineux le temps de traitement est ropt longs si tu en fait 4 dans le même script
mais je vois que tu lis dans un fichier et écris dans le même avec une extension .ics sans rien changer aux données
pourquoi tu ne fais pas un rename en php de ton fichier
rename($old_fichier,$old_fichier.".ics")
mais je vois que tu lis dans un fichier et écris dans le même avec une extension .ics sans rien changer aux données
pourquoi tu ne fais pas un rename en php de ton fichier
rename($old_fichier,$old_fichier.".ics")
Je suis que stagiaire. J'ai proposé cette solution mais elle n'a pas été validé.
J'ai envoyer mes fichiers sur le serveur et tout fonctionne bien. Quelque réglage de phpicalendar s'impose mais sinon mon agenda commun pourra fonctionner.
Quand mon tuteur verra le temps de chargement des fichiers peut être qu'il optera pour un rename ^^
En tout cas merci pour ton aide.
J'ai envoyer mes fichiers sur le serveur et tout fonctionne bien. Quelque réglage de phpicalendar s'impose mais sinon mon agenda commun pourra fonctionner.
Quand mon tuteur verra le temps de chargement des fichiers peut être qu'il optera pour un rename ^^
En tout cas merci pour ton aide.
ce que tu peux faire c'est faire traiter seulement un fichier par script
tu fais une page html toute simple avec 4 liens
en cliquant sur chaque lien ça va appeler le script en lui passant le fichier a traiter
et dans ton script de traitement tu récupères le fichier a traiter par
$fich_a_traiter=$_GET|'fichier'];
et tu mets un seul appel de fonction:
tu fais une page html toute simple avec 4 liens
<a href="ton_script_de_traitement.php?fichier=abrlt">traiter fichier abrlt</a><br /> <a href="ton_script_de_traitement.php?fichier=mee">traiter fichier mee</a><br /> <a href="ton_script_de_traitement.php?fichier=crssl">traiter fichier crssl</a><br /> <a href="ton_script_de_traitement.php?fichier=eblnvn">traiter fichier eblnvn</a><br />
en cliquant sur chaque lien ça va appeler le script en lui passant le fichier a traiter
et dans ton script de traitement tu récupères le fichier a traiter par
$fich_a_traiter=$_GET|'fichier'];
et tu mets un seul appel de fonction:
import ($fich_a_traiter);
Ce qu'il y a c'est que le script doit être autonome, il sera dans une fonction cron qui l'exécutera toutes les n minutes donc pas de lien possible.
Puis il n'y a ps que 4 scripts mais 23 pour l'instant donc bon pas simple
Puis il n'y a ps que 4 scripts mais 23 pour l'instant donc bon pas simple
he bien si c'est un cron tu dois pouvoir lancer les scripts un par un en décalé dans le temps
tu créee autant de cron que de scripts a lancer en décalant l'heure de lancement
ou le cron lance un script shell qui par une boucle lance les scripts php ?????
tu créee autant de cron que de scripts a lancer en décalant l'heure de lancement
ou le cron lance un script shell qui par une boucle lance les scripts php ?????
pour l instant le cron n'est pas encore en place, je sais pas trop comment ca marche et c'est mon collègue qui va s'en occupé.
Vu qu'il travail a distance je l'ai pas eu au tel pour savoir comment il voulait procédé.
Puis mauvaise nouvelle notre serveur distant est tombé en début d'aprem donc je n'ai pas pu faire de nouveau test.
Vu qu'il travail a distance je l'ai pas eu au tel pour savoir comment il voulait procédé.
Puis mauvaise nouvelle notre serveur distant est tombé en début d'aprem donc je n'ai pas pu faire de nouveau test.