Aller au contenu

Creer un nouveau dossier à un endroit précis


Sujets conseillés

Posté

hello :)

Je souhaite pouvoir créer un dossier à partir de mon admin, chose que j'arrive à faire, mais pas au bon endroit!

En effet, cela me crée un dossier à la racine du site, et je voudrais qu'il soit créé dans le dossier /images/screenjeux/

Mon code actuel:

<?php

$ftpc = ftp_connect($ftp_server) or die('Could not connect to FTP server');

//On se connecte au serveur ftp
ftp_login($ftpc, $ftp_user, $ftp_pass) or die('Could not log into FTP');

$nomdusite = 'webmasterHub';

//On vérifie si le dossier existe deja
if (scandir(''.$_SERVER["DOCUMENT_ROOT"].'/images/screenjeux/'.$nomdusite.'/') == FALSE)
{
// Le dossier n existe pas: Tentative de création du dossier
if (ftp_mkdir($ftpc, $nomdusite)) {
echo "Le dossier $nomdusite a été créé avec succès\n";
} else {
echo "Il y a eu un problème lors de la création du dossier $nomdusite\n";
}
}
else
{
echo'Le dossier '.$nomdusite.' existe deja!';
}
?>

Comment faire pour lui dire de le créer dans /images/screenjeux/ et non dans / ? :unsure:

J ai essayé en mettant if (ftp_mkdir($ftpc, "/images/screenjeux/$nomdusite")) mais cela ne fonctionne pas mieux...

Merci :)

Posté

Bonjour,

Mon php est un peu rouillé mais essaie ceci :

<?

$nomdusite = $_SERVER["DOCUMENT_ROOT"].'/images/screenjeux/'.'webmasterHub/';

?>

:)

Posté

Merci pour ton aide "Portekoi", mais apparemment cela ne règle pas le problème...

Voila ce que cela renvoie:

Warning: ftp_mkdir() [function.ftp-mkdir]: /home/www/503c69a9a240068c8059ec652aefc53b/web/images/screenjeux/webmasterHub/: No such file or directory in /home/www/503c69a9a240068c8059ec652aefc53b/web/test.php on line 73
Il y a eu un problème lors de la création du dossier WebmasterHub

Posté
<?php

$ftpc = ftp_connect($ftp_server) or die('Could not connect to FTP server');

//On se connecte au serveur ftp
ftp_login($ftpc, $ftp_user, $ftp_pass) or die('Could not log into FTP');

$nomdusite = $_SERVER["DOCUMENT_ROOT"].'/images/screenjeux/webmasterhub/';

//On vérifie si le dossier existe deja
if (scandir($nomdusite) == FALSE)
{
// Le dossier n existe pas: Tentative de création du dossier
if (ftp_mkdir($ftpc, $nomdusite)) {
echo "Le dossier $nomdusite a été créé avec succès\n";
} else {
echo "Il y a eu un problème lors de la création du dossier $nomdusite\n";
}
}
else
{
echo'Le dossier '.$nomdusite.' existe deja!';
}
?>

Posté (modifié)

J ai trouvé le problème...

En fait il ne faut pas que cela commence par un slash (/) !

ftp_mkdir($ftpc, $_SERVER["DOCUMENT_ROOT"]."/images/screenjeux/webmasterhub")

renvoie

ftp_mkdir($ftpc, /home/www/503c69a9a240068c8059ec652aefc53b/web/images/screen­jeux/webmasterhub/)

comme si je met

ftp_mkdir($ftpc, /images/screenjeux/monnvodossier/)

Par contre en mettant

ftp_mkdir($ftpc, images/screenjeux/monnvodossier)

cela fonctionne!

Bizarre, mais c'est ainsi lol

Bonne continuation et merci pour votre aide :)

Modifié par joboy84
Posté

Eeeuuuuhhhh... Le fait que tu utilises DOCUMENT_ROOT implique que tu travailles en local (i.e. la machine sur laquelle s'exécute le script est la machine sur laquelle tu veux créer le dossier)... Pourquoi ne pas faire un bête mkdir plutôt que de passer par ftp? Evidemment il peut y avoir un problème de droits, mais passer par FTP pour le résoudre me paraît bien tordu.

Et si tu ne travailles pas en local, évidemment absolument de faire référence à un chemin local sur un serveur distant!

Et pour info, oui:

/xxx/yyy (un chemin qui commence par /) indique un chemin à partir de la racine (du système), on appelle ça un chemin absolu.

xxx/yyy (ou ./xxx/yyy, c'est la même chose) indique un chemin à partir du répertoire courant (qui pour une session ftp est par défaut le répertoire de l'utilisateur correspondant, généralement un /home/nomdelutilisateur ou un truc du genre. Donc xxx/yyy == /home/nomdelutilisateur/xxx/yyy par exemple. On appelle ça un chemin relatif.

Jacques.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...