OVH Cloud OVH Cloud

unlink sous windows

4 réponses
Avatar
Alexandre Jaquet
Hello,

Petit soucie avec unlink sous windows depuis un appel cgi
j aimerais effectue le traitement suivant >

je sais qu une image existe pour $url mais ca plante
j ai regardé si le fichier était en lecture seul mais ce n'est pas le cas

my $url = "$host/upload/thumb.".$id_article.".jpg";
unlink($url) or die "could not delete $url";
sqlUpdate("article", "id_article=$id_article",(pochette => "$url"));
uploadImage($id_article);

4 réponses

Avatar
Alexandre Jaquet
Hello,

Petit soucie avec unlink sous windows depuis un appel cgi
j aimerais effectue le traitement suivant >

je sais qu une image existe pour $url mais ca plante
j ai regardé si le fichier était en lecture seul mais ce n'est pas le cas

my $url = "$host/upload/thumb.".$id_article.".jpg";
unlink($url) or die "could not delete $url";
sqlUpdate("article", "id_article=$id_article",(pochette => "$url"));
uploadImage($id_article);


arff je vois la raison sorry

Avatar
Jul
Alexandre Jaquet avait énoncé :
Petit soucie avec unlink sous windows depuis un appel cgi
j aimerais effectue le traitement suivant >

je sais qu une image existe pour $url mais ca plante
j ai regardé si le fichier était en lecture seul mais ce n'est pas le cas

my $url = "$host/upload/thumb.".$id_article.".jpg";
unlink($url) or die "could not delete $url";
sqlUpdate("article", "id_article=$id_article",(pochette => "$url"));
uploadImage($id_article);


Bonjour,

Une question peu anodine : quel est le contenu de la variable $host ?
Il faut savoir qu'on peut supprimer des fichiers locaux, mais si vous
tentez de supprimer un fichier 'http://mon.serveur.ext/image.jpg', il
n'y absolument aucune chance pour que celà fonctionne (par le protocole
FTP, pour un serveur distant, c'est en revenche possible).

Avant de supprimer votre fichier, il faut cibler l'adresse locale du
fichier.
Si votre fichier se trouve dans la sous-arborescence du dossier de
travail (dossier dans lequel se situe le script appelé), vous déclarez
simplement un chemin relatif vers le fichier :
mon_dossier_d_images/image.jpg.
Autrement, vous pouvez chercher le chemin absolu du fichier (commencant
par '<Lettre_Lecteur>:' sous windows et '/' sous Unix & Linux).
Attention également à bien utiliser les séparateurs de répertoire. Vous
avez dit travailler sur Windows et sur cette plateforme, le séparateur
est '' contre '/' sous Unix & Linux.

Je crois que pour vous simplifier la vie avec les noms de fichiers,
vous pouvez utiliser le module File (documentation à lire avant
utilisation) présent par défaut avec ActivePERL.


Julien

--
Jul... réapparru comme par enchantement

Avatar
damien guerin
J'ai remarqué que ça t'arrive souvent de poser une question et de
trouver la réponse par toi même en moins de 5 minutes...
Avatar
Alexandre Jaquet
Alexandre Jaquet avait énoncé :

Petit soucie avec unlink sous windows depuis un appel cgi
j aimerais effectue le traitement suivant >

je sais qu une image existe pour $url mais ca plante
j ai regardé si le fichier était en lecture seul mais ce n'est pas le cas

my $url = "$host/upload/thumb.".$id_article.".jpg";
unlink($url) or die "could not delete $url";
sqlUpdate("article", "id_article=$id_article",(pochette => "$url"));
uploadImage($id_article);



Bonjour,

Une question peu anodine : quel est le contenu de la variable $host ?
Il faut savoir qu'on peut supprimer des fichiers locaux, mais si vous
tentez de supprimer un fichier 'http://mon.serveur.ext/image.jpg', il
n'y absolument aucune chance pour que celà fonctionne (par le protocole
FTP, pour un serveur distant, c'est en revenche possible).

Avant de supprimer votre fichier, il faut cibler l'adresse locale du
fichier.
Si votre fichier se trouve dans la sous-arborescence du dossier de
travail (dossier dans lequel se situe le script appelé), vous déclarez
simplement un chemin relatif vers le fichier :
mon_dossier_d_images/image.jpg.
Autrement, vous pouvez chercher le chemin absolu du fichier (commencant
par '<Lettre_Lecteur>:' sous windows et '/' sous Unix & Linux).
Attention également à bien utiliser les séparateurs de répertoire. Vous
avez dit travailler sur Windows et sur cette plateforme, le séparateur
est '' contre '/' sous Unix & Linux.

Je crois que pour vous simplifier la vie avec les noms de fichiers, vous
pouvez utiliser le module File (documentation à lire avant utilisation)
présent par défaut avec ActivePERL.


Julien

yep c était justement ca le pb ;)