Copy() php confirmer si fichier existe deja?? - PHP - Programmation
Marsh Posté le 26-05-2005 à 14:29:55
1) met le nom du fichier aussi dans $newfile
2) teste l'existence de $newfile avant, ou utilise une commande système
au fait pourquoi tu appelles 2 fois copy ???
Marsh Posté le 26-05-2005 à 14:33:25
1ere : http://fr3.php.net/manual/fr/function.basename.php
2eme : http://fr3.php.net/manual/fr/function.file-exists.php
Marsh Posté le 26-05-2005 à 14:34:49
Et pour tes noms de fichiers la syntaxe est :
$file="c:\\Alexandre\\Appli_comptoir_MCD.pdf" (sous windows)
Marsh Posté le 26-05-2005 à 14:34:55
Vérifie aussi les droits des répertoires où tu écris.
Marsh Posté le 26-05-2005 à 14:48:15
afbilou a écrit : Et pour tes noms de fichiers la syntaxe est : |
Pourquoi tu met \\ ca marche tres bien comme je fais
Au niveau de droit c nikel (777) donc tous les droits
j'essaye avec un file_exist et je rajouterai un symbole a la fin du ficher pr le differencier (enfin je vais essayer... )
Marsh Posté le 26-05-2005 à 15:50:28
J'avance mais je recule en meme temps
Je rencontre un autre probleme, lorsque je copie mon fichier je verifie avant si dans le repertoire de destinantion il existe deja si c'est le cas je renomme le fichier existant avec une extension .old( ou autre chose comme (1)), le pb c'est lors de la seconde execution il plante car le fichier avec l'extension .old existe deja donc le rename ne passe pas et j'ai une erreur :
Warning: rename(ctmp/appli.pdf,ctmp/appli.pdf.old): File exists
ce que je voudrais c'est :
1- si le fichier existe pas il le copie (ca ca marche j'y arrive tout seul )
2- si le fichier existe deja c'est de le renommer : nom_fichier(i)
3- si il faut incrementer le (i) jusqu'a une valeur nom prise
J'attend vos post avec impatience
Marsh Posté le 26-05-2005 à 15:54:45
ReplyMarsh Posté le 26-05-2005 à 15:56:36
tu peux rajouter date("Y_m_d_H_m_i" , time()) a la fin du fichier a renommer.
Marsh Posté le 26-05-2005 à 16:00:40
ou alors
$i = 1;
while(file_exists($filename.'('.$i.').'.$ext))
{
$i++;
}
Marsh Posté le 26-05-2005 à 16:04:43
afbilou a écrit : tu peux rajouter date("Y_m_d_H_m_i" , time()) a la fin du fichier a renommer. |
merci Afbilou, mais je crois que la version poster par benamoubeach m'interesse malgré que je trouve la tienne interessante pour faire un historique
Marsh Posté le 26-05-2005 à 16:39:23
Merci afbilou en fait je retiens ta solution par rapport a benamoubeach cela permet de faire une mini historisation.
Marsh Posté le 26-05-2005 à 14:18:29
Salut tout le monde,
la fonction copie je réussi a la gerer (pas tres dur ), mais je specifie le chemin de destination de la source et de la destination dans 2 variable (jusque la rien de bien méchant).(voila la artie du code qui nous interesse):
je voudrais juste specifier un repertoire pour la destination mais si je le fait j'ai un erreur:
Warning: copy(ctmp/): failed to open stream: Permission denied in c:\program files\easyphp1-8\www\feuille\testcopy.php on line 4
Warning: copy(ctmp/): failed to open stream: Permission denied in c:\program files\easyphp1-8\www\feuille\testcopy.php on line 5
erreur pendant la copie
Deuxieme question Comment faire pour ne pas ecraser le fichier si il est deja dans le repertoire de destination
quelqu'un aurait une piste pour m'aider ca serait cool je vois pas trop comment faire
Merci d'avance
Message édité par bedomon le 26-05-2005 à 14:20:11
---------------
Il faut la chercher