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

  FORUM HardWare.fr
  Programmation
  PHP

  unlink() qui ne fonctionne pas

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

unlink() qui ne fonctionne pas

n°1035483
smoggin
Posté le 05-04-2005 à 11:36:30  profilanswer
 

Hello,
 
alors voilà j'ai un petit problème avec la fonction unlink() en php. Je voudrais m'en servir pour effacer un fichier dans un de mes dossiers mais j'ai beau tout essayer c'est comme si la fonction ne trouvait pas mon fichier pourtant il est bien là...Voilà mon code: (provisoire pour essayer de faire fonctionner unlink)

Code :
  1. $efface=unlink("/folio/images/blog/gracie.jpg" );
  2. if($efface) echo "fichier effacé";


 
et l'erreur qui sort c'est:
Warning: unlink(/folio/images/blog/gracie.jpg): No such file or directory in i:\portfolio\html\admin\blog\edit.php on line 12
 
Je comprends vraiment pas...Quand je vais sur http://localhost/folio/images/blog/gracie.jpg l'image s'affiche donc c'est que le chemin est bon. Je précise que j'ai tous les droits sur le fichier donc c'est pas ça le prob.  :heink:

mood
Publicité
Posté le 05-04-2005 à 11:36:30  profilanswer
 

n°1035485
ratibus
Posté le 05-04-2005 à 11:37:42  profilanswer
 

Faut mettre le chemin au niveau du système de fichiers pas au niveau HTTP ;)

n°1035498
smoggin
Posté le 05-04-2005 à 11:47:31  profilanswer
 

Ahh...tu veux dire avec des \ à la place des / ? Mais je dois indiquer le chemin depuis quel point de mon arborescence :s

n°1035503
ratibus
Posté le 05-04-2005 à 11:50:40  profilanswer
 

Soit tu fais appel à un chemin absolu (commençant par /) dans ce cas c'est par rapport à la racine du serveur.
 
Soit tu fais appel à un chemin relatif par rapport à ton script PHP.

n°1035504
esox_ch
Posté le 05-04-2005 à 11:51:44  profilanswer
 

\ => Windows
/ => Unix
 
Mais le parseur va faire la conversion tout seul.
 
Soit tu fais un unlink('C:\.......'); => absolu
soit un unlink('..\..\......'); => relatif
 
Les 2 marchent, perso je prefere le 2ème


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1035506
smoggin
Posté le 05-04-2005 à 11:52:12  profilanswer
 

Bah...commencant par / ou pas \ alors? Désolé j'ai un peu de mal à te suivre enfin pour le chemin relatif ou absolu c ok mais le sens des slash? Merci de ton aide ;)

n°1035507
smoggin
Posté le 05-04-2005 à 11:52:50  profilanswer
 

ok merci esox_ch jvais essayer :)

n°1035858
smoggin
Posté le 05-04-2005 à 14:58:24  profilanswer
 

yeahhh merci ca fonctionne maintenant par contre il faut que je génère le chemon dynamiquement et j'ai un problème de synthaxe...Vous pourriez encore me donner un ptit coup de main? C'est pour cette ligne:
$efface=unlink("..\..\images\blog\$affiche['image']" );
 
Merci :)

n°1035917
ratibus
Posté le 05-04-2005 à 15:21:04  profilanswer
 

smoggin a écrit :

yeahhh merci ca fonctionne maintenant par contre il faut que je génère le chemon dynamiquement et j'ai un problème de synthaxe...Vous pourriez encore me donner un ptit coup de main? C'est pour cette ligne:
$efface=unlink("..\..\images\blog\$affiche['image']" );
 
Merci :)


Code :
  1. $efface=unlink("..\..\images\blog\{$affiche['image']}" );


ou

Code :
  1. $efface=unlink('..\..\images\blog\'.$affiche['image']);


 
cf http://fr3.php.net/manual/en/language.types.string.php

n°1035986
smoggin
Posté le 05-04-2005 à 15:58:03  profilanswer
 

Cette méthode

Code :
  1. $efface=unlink("..\..\images\blog\{$affiche['image']}" );


me sort cette erreur:

Code :
  1. Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in ...


 
et cette méthode

Code :
  1. $efface=unlink('..\..\images\blog\'.$affiche['image']);


celle là:

Code :
  1. Parse error: parse error, unexpected T_STRING in


 
 aaahhhhh :pt1cable: lol

mood
Publicité
Posté le 05-04-2005 à 15:58:03  profilanswer
 

n°1036006
smoggin
Posté le 05-04-2005 à 16:10:51  profilanswer
 

Je deviens folle  :sweat:  
 
si je met ca:

Code :
  1. $fichier="..\..\images\blog\{$affiche['image']}";

ca me sort une erreur et si je mets ca:

Code :
  1. $fichier="..\..\images\blog\.{$affiche['image']}";

ca me sort le bon nom de fichier sauf avec un point entre trop grrr jcomprends paas  :heink:  

n°1036056
ratibus
Posté le 05-04-2005 à 16:35:19  profilanswer
 

Oups :D

Code :
  1. $efface=unlink("../../images/blog/{$affiche['image']}" );


ou

Code :
  1. $efface=unlink('../../images/blog/'.$affiche['image']);


Message édité par ratibus le 05-04-2005 à 16:36:24
n°1036087
smoggin
Posté le 05-04-2005 à 16:47:02  profilanswer
 

oooh coool ca marche mais ... tu peux m'expliquer pourquoi maintenant il faut mettre des / et plus des \ ?? C'est pourtant la même chose qu'avant quand je voulais simplement effacer un fichier...erf

n°1036099
ratibus
Posté le 05-04-2005 à 16:52:09  profilanswer
 

en fait ça marche aussi avec le \ mais c'est le caractère d'échappement donc faut faire attention ;)


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

  unlink() qui ne fonctionne pas

 

Sujets relatifs
un mail avec fichier joint qui ne fonctionne pas...FORM qui ne fonctionne qu'avec la touche 'enter' ?!
Liens vers un FTP ne fonctionne pas sous Firefoxmon moteur recherche ne fonctionne pas
[Delphi] Pourquoi ce thread ne fonctionne pas ?mon programme fonctionne t il chez vous?
Ancre #test en .shtml ne fonctionne pasFonction js qui ne fonctionne plus soudainement
mon XPath ne fonctionne pasheader bizarre, comment ça fonctionne ?
Plus de sujets relatifs à : unlink() qui ne fonctionne pas


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