Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1282 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Copy() php confirmer si fichier existe deja??

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Copy() php confirmer si fichier existe deja??

n°1098018
bedomon
La vérité est ailleurs
Posté le 26-05-2005 à 14:18:29  profilanswer
 

Salut tout le monde,
 
la fonction copie je réussi a la gerer (pas tres dur  :sol: ),  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):

Code :
  1. <?php
  2. $file="c:/Alexandre/Appli_comptoir_MCD.pdf";
  3. $newfile="c:/tmp/";
  4. copy ($file,$newfile);
  5. if (!copy($file,$newfile)){
  6.  echo "erreur pendant la copie"; }
  7. ?>


 je voudrais juste specifier un repertoire pour la destination mais si je le fait j'ai un erreur:
Warning: copy(c:/tmp/): failed to open stream: Permission denied in c:\program files\easyphp1-8\www\feuille\testcopy.php on line 4 :kaola:  
 
Warning: copy(c:/tmp/): failed to open stream: Permission denied in c:\program files\easyphp1-8\www\feuille\testcopy.php on line 5
erreur pendant la copie :kaola:  
 
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
mood
Publicité
Posté le 26-05-2005 à 14:18:29  profilanswer
 

n°1098055
soju
One shot !
Posté le 26-05-2005 à 14:29:55  profilanswer
 

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 ???

n°1098065
afbilou
pouet your life
Posté le 26-05-2005 à 14:33:25  profilanswer
 
n°1098071
afbilou
pouet your life
Posté le 26-05-2005 à 14:34:49  profilanswer
 

Et pour tes noms de fichiers la syntaxe est :
$file="c:\\Alexandre\\Appli_comptoir_MCD.pdf" (sous windows)


Message édité par afbilou le 26-05-2005 à 14:40:33
n°1098073
plainsofpa​in
Pingouino's lover
Posté le 26-05-2005 à 14:34:55  profilanswer
 

Vérifie aussi les droits des répertoires où tu écris.


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
n°1098133
bedomon
La vérité est ailleurs
Posté le 26-05-2005 à 14:48:15  profilanswer
 

afbilou a écrit :

Et pour tes noms de fichiers la syntaxe est :
$file="c:\\Alexandre\\Appli_comptoir_MCD.pdf" (sous windows)


 
Pourquoi tu met \\ ca marche tres bien comme je fais :heink:  
 
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... :sweat: )


---------------
Il faut la chercher
n°1098266
bedomon
La vérité est ailleurs
Posté le 26-05-2005 à 15:50:28  profilanswer
 

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(c:/tmp/appli.pdf,c:/tmp/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  :sol: )
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 :jap:


---------------
Il faut la chercher
n°1098272
SomeBugsIn​Me
life suxx
Posté le 26-05-2005 à 15:54:45  profilanswer
 

soju a écrit :

au fait pourquoi tu appelles 2 fois copy ???


 
+1

n°1098276
afbilou
pouet your life
Posté le 26-05-2005 à 15:56:36  profilanswer
 

tu peux rajouter date("Y_m_d_H_m_i" , time()) a la fin du fichier a renommer.

n°1098279
benamoubea​ch
tivuplai
Posté le 26-05-2005 à 16:00:40  profilanswer
 

ou alors  
$i = 1;
 
while(file_exists($filename.'('.$i.').'.$ext))
{
$i++;
}

mood
Publicité
Posté le 26-05-2005 à 16:00:40  profilanswer
 

n°1098285
bedomon
La vérité est ailleurs
Posté le 26-05-2005 à 16:04:43  profilanswer
 

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 :bounce:


---------------
Il faut la chercher
n°1098330
bedomon
La vérité est ailleurs
Posté le 26-05-2005 à 16:39:23  profilanswer
 

Merci afbilou en fait je retiens ta solution par rapport a benamoubeach cela permet de faire une mini historisation.
 :hello:   :bounce:  :hello:  :bounce:


---------------
Il faut la chercher

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Copy() php confirmer si fichier existe deja??

 

Sujets relatifs
Récupération de x fois 4 lignes dans un fichier logProbleme avec recuperation de Fichier ZIP
activation d'un fichierafficher le contenu d'un fichier sur un listbox ou messagebox
traitement fichier ZIPpour ouvrir un fichier
[RESOLU]Comment Streamer un fichier WMV ?Lire un fichier Midi sous Linux
modifier un fichier texte en VBS[Perl] CGI création de dossier et fichier
Plus de sujets relatifs à : Copy() php confirmer si fichier existe deja??


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR