Renommer un fichier sur le serveur par le biais de javascript

Résolu
webguitou Messages postés 5 Date d'inscription dimanche 19 octobre 2003 Statut Membre Dernière intervention 14 juin 2007 - 13 juin 2007 à 17:02
webguitou Messages postés 5 Date d'inscription dimanche 19 octobre 2003 Statut Membre Dernière intervention 14 juin 2007 - 13 juin 2007 à 20:48
Bonjour,

Je dévellope actuellement un site dans lequel le contenu d'un dossier situé sur le serveur apparaît.
Je souhaite que les utilisateurs puissent le renommer. Et c'est là que ça bug
J'ai en fait créé un lien comme ceci (nous sommes sur la page "desktop.php?page= 2"
    " onClick="prompt('Rename:')">
   
Je vous explique, desktop.php c'est la page centrale dans laquelle il y a un include d'une autre page (desktop_2.php) quand $page =2 et $fctn, ça précise que l'on veut renommer le fichier vous comprendrez plus bas...)
Le problème est après:    onClick="prompt('Rename:')" fait correctement apparaître la fenetre de dialogue, on rentre le nouveau nom puis il recharge à nouveau la page et le nom n'a pas changé.
Pourtant en haut de page, j'ai
    if ($fctn == "newname") {
    $newname_php=$_GET["newname"];  <= ici je suis censé récupérer la valeur entrée dans le prompt et pourtant...
    $newlink = "fichiers".$newname_php;
    $oldlink = "fichiers".$f;
    rename("$oldlink","$newlink"); }

Vous avez compris mon problème, je n'arrive pas à passer du javascript au php.
Si vous avez des pistes, je suis preneur parceque ça fait maintenant 2 jours que je m'arrache les cheveux sur ce truc, je vais finir par me balancer par la fenetre....
Merci d'avance
Bertrand

5 réponses

webguitou Messages postés 5 Date d'inscription dimanche 19 octobre 2003 Statut Membre Dernière intervention 14 juin 2007
13 juin 2007 à 20:48
Merci mais ça ne fonctionne toujours pas. Je vais me debrouiller sans passer par javascript mais par un input php.
Merci en tout cas pour les tuyaus mais mon code semble être assez mal foutu, ce qui expliquerai les échecs successifs...
A bientôt et encore merci à amezghal

Bertrand
3
webguitou Messages postés 5 Date d'inscription dimanche 19 octobre 2003 Statut Membre Dernière intervention 14 juin 2007
13 juin 2007 à 17:05
Je précise un truc, en relisant mon post, je me suis apercçu qu'à la deuxième ligne, j'avais marqué
Je souhaite que les utilisateurs puissent le renommer.
Ici, le désigne les différents fichiers présents dans le dossier

Je préfère préciser ;)
Bertrand
0
amezghal Messages postés 385 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 21 août 2015 5
13 juin 2007 à 17:44
salut,
tu peut faire un au lieu de
alors voici un exemple:
---------

<html>
<head>
<script type= "text/javascript>
function renommer (page){
varnew_name =prompt("Merci d'entrer le nouveau nom pour ce fichier .");
window.location.replace( "desktop.php?page="+page+"&fctn=newname&name="+
new_name);

}
</script>
</head>

)">cliquer ici pour changer le nom du fichier

</html>

----------------------

<hr size ="2" width="100%" />Au début, on essaye de trouver une solution qui marche, et puis on cherche la meilleure solution.
0
webguitou Messages postés 5 Date d'inscription dimanche 19 octobre 2003 Statut Membre Dernière intervention 14 juin 2007
13 juin 2007 à 18:39
Merci pour cette réponse.
J'ai donc essayé d'appliquer l'exemple à ma page mais il ne veut toujours pas renommer parceque les chemins semblent erronés. Je m'explique:

En realité, l'idée n'est pas aussi simple que cela...
Chaque utilisateur a son propre espace avec trois sous repertoire dedans "doc", "img" et "mus". le nom de son dossier personnel est stocké dans la base de donnée et on le rappele au login en le stockant dans une session et par la suite dans la variable "$folder".
Une fois identifié, on accède à son espace et on rentre dans les sous dossiers via des liens. la variable pour le choix du sous-dossier est stocké dans $ssrep! Enfin , le nom du fichier est stocké dans la variable $f
On a donc, quant on veut telecharger un fichier un lien de la forme: users/$folder/$ssrep/$f.
Or depuis que j'utilise votre code, le chemin du fichier (je l'ai verifié en l'affichant avec un echo) est de la forme users/$folder$ssrep//$f: <=il colle le $folder et le $ssrep et renvoi le slach qui les sépare normalement après!

Donc je ne sais pas si cela a un rapport avec le nouveau code mais pour l'instant je ne peux pas tester votre code (qui semble marcher) sur ma page.
Merci encore pour votre "soutien"
C'est pas facile tous les jours la programmation!!!
Bertrand (testez sur http://winlive.fr.nf avec le login "visitor" et le mdp "visitor")
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
amezghal Messages postés 385 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 21 août 2015 5
13 juin 2007 à 19:45
salut,
essaye plutot ça
<html>
<head>
<script type= "text/javascript>
function renommer (){
var new_name =prompt("Merci d'entrer le nouveau nom pour ce fichier .");
window.location.replace( "desktop.php?page=2&fctn=newname&name="+
new_name);

}
</script>
</head>

cliquer ici pour changer le nom du fichier

</html>
attention!
-pour récuperer le nouveau nom du fichier, n'utilise pas $_GET['newname'], mais plutot $_GET['name'] // ou bien tu peux changer le nom de la variable dans la fonction renommer()
-fait attention au numéro des pages
voilà

<hr size ="2" width="100%" />Au début, on essaye de trouver une solution qui marche, et puis on cherche la meilleure solution.
0
Rejoignez-nous