| |
|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
jarodxxx2 WRInaute discret

Inscrit le: 09 Déc 2005 Messages: 63
|
Posté le : Lun Mai 15, 2006 12:44 Sujet du message: creation dynamique d'un repertoire |
|
|
Bonjour,
je cherche a creer un repertoire ou plutot un sous repertoire selon un nom saisie , en fait l'utilisateur saisie un nom via un formulaire et un sous-dossier se creer dans les dossier galeries
Mon probleme c'est que entre ftp_mkdir() et mkdir() je n'arrive pas a trouver le plus efficasse , de plus le sous-repertoire ne veux absolument pas se creer :/
voici mon code si quelqu'un peut m'aider ca serais cool:
| Code: |
<?php include('../config.php'); ?>
<?php include('../fonction.php'); ?>
<?php if ( isset ( $_POST['submit'] ) ) {
$login = quote_smart($_POST['login']);
$dir = quote_smart("galeries/".$_POST['dir']."");
$titre = quote_smart($_POST['titre']);
$names = "id, login, titre, dir";
$values = "id, '$login', '$titre', '$dir'";
$req ="INSERT INTO $table1 (".$names.") VALUES (".$values.")";
mysql_query($req) or die(mysql_error());
// Mise en place d'une connexion basique
$conn_id = ftp_connect($ftp_server);
// Identication avec un nom d'utilisateur et un mot de passe
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// Tentative de création du dossier $dir
if (ftp_mkdir($conn_id, $dir)) {
echo "Le dossier $dir a été créé avec succès\n";
} else {
echo "Il y a eu un problème lors de la création du dossier $dir\n";
}
// Fermeture de la connexion
ftp_close($conn_id);
}else{ ?>
<form action="<?php echo $_SERVER['REQUEST_URI']; ?>" method="post">
Titre de la galerie <input type="text" name="titre" /><br />
Login d'acces a la galerie <input type="text" name="login" /><br />
Nom du dossier de la galerie qui sera cree <input type="text" name="dir" /><br />
<input type="submit" name="submit" value="creer la galerie" />
</form>
<?php } ?>
|
|
|
| |
|
 |
e-kiwi Modérateur

Inscrit le: 23 Déc 2003 Messages: 12226 Localisation: Toulouse
|
Posté le : Lun Mai 15, 2006 13:02 Sujet du message: creation dynamique d'un repertoire |
|
|
>> de plus le sous-repertoire ne veux absolument pas se creer
message d'erreur retourné par le serveur ? (permission denied ?)
sinon, il vaut mieux faire la création par ftp uniquement si l'autre fonction ne marche pas je suppose |
|
| |
|
 |
jarodxxx2 WRInaute discret

Inscrit le: 09 Déc 2005 Messages: 63
|
Posté le : Lun Mai 15, 2006 13:29 Sujet du message: creation dynamique d'un repertoire |
|
|
j'ai penssé ausii que ftp_mkdir() est logiquement adapté aux ftp ...
quand a l'arreur y en a pas , au contraire il renvoie que le dossier a bien été crée ... |
|
| |
|
 |
e-kiwi Modérateur

Inscrit le: 23 Déc 2003 Messages: 12226 Localisation: Toulouse
|
Posté le : Lun Mai 15, 2006 13:33 Sujet du message: creation dynamique d'un repertoire |
|
|
$dir = quote_smart("galeries/".$_POST['dir']."");
rajoute le chemin avant "galeries" |
|
| |
|
 |
Sir Dipp WRInaute accro

Inscrit le: 21 Juil 2003 Messages: 1022
|
Posté le : Lun Mai 15, 2006 13:46 Sujet du message: creation dynamique d'un repertoire |
|
|
| Faut donner les bons droits au répertoire galeries/ soit 777 |
|
| |
|
 |
e-kiwi Modérateur

Inscrit le: 23 Déc 2003 Messages: 12226 Localisation: Toulouse
|
Posté le : Lun Mai 15, 2006 14:07 Sujet du message: creation dynamique d'un repertoire |
|
|
| 775 doit suffir, non ? |
|
| |
|
 |
jarodxxx2 WRInaute discret

Inscrit le: 09 Déc 2005 Messages: 63
|
Posté le : Lun Mai 15, 2006 16:08 Sujet du message: creation dynamique d'un repertoire |
|
|
merci beaucoup en fait c'etait une combinaison des 2 , le chemin vers le repertoire ainssi que le chmod qui etait mal defini ...
Quand au chmod du repertoire final (le repertoire qui se creer) la fonction ftp_mkdir() n'accepte pas de valeur dans ses parametres ...
Je suis donc passer par la fonction chmod(); pour le definir mais ca passe pas non plus il le creer en 0755 ... et je vais avoir besoins du 0777 pour ecrire dans le dossier .
D'autre part je cherche a verifier si le dossier que je veux creer n'existe pas deja ... mais is_dir() verifie seulement si le dossier est bien un dossier et non un fichier
Une idée ? voici ou en est mon code
| Code: |
<?php include('../config.php'); ?>
<?php include('../fonction.php'); ?>
<?php if ( isset ( $_POST['submit'] ) ) {
$login = quote_smart($_POST['login']);
$dir = "cai/galeries/".$_POST['dir']."/";
$titre = quote_smart($_POST['titre']);
$names = "id, login, titre, dir";
$values = "id, '$login', '$titre', '$dir'";
$req ="INSERT INTO $table1 (".$names.") VALUES (".$values.")";
mysql_query($req) or die(mysql_error());
// Mise en place d'une connexion basique
$conn_id = ftp_connect($ftp_server);
// Identication avec un nom d'utilisateur et un mot de passe
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// Tentative de création du dossier $dir
if (ftp_mkdir($conn_id, $dir)) {
chmod($dir, 0777);
echo "Le dossier $dir a été créé avec succès avec les droits necessaires\n";
} else {
if (is_dir($dir)){
echo"Ce nom de dossier existe deja, vous devez en choisir un autre<br>";
}
echo "Il y a eu un problème lors de la création du dossier $dir\n";
}
// Fermeture de la connexion
ftp_close($conn_id);
}else{ ?>
<?php echo $_SERVER['DOCUMENT_ROOT'];?>
<form action="<?php echo $_SERVER['REQUEST_URI']; ?>" method="post">
Titre de la galerie <input type="text" name="titre" /><br />
Login d'acces a la galerie <input type="text" name="login" /><br />
Nom du dossier de la galerie qui sera cree <input type="text" name="dir" /><br />
<input type="submit" name="submit" value="creer la galerie" />
</form>
<?php } ?>
|
|
|
| |
|
 |
e-kiwi Modérateur

Inscrit le: 23 Déc 2003 Messages: 12226 Localisation: Toulouse
|
Posté le : Lun Mai 15, 2006 16:22 Sujet du message: creation dynamique d'un repertoire |
|
|
le probleme, c est que en safe mode, les droits d'accès ftp et les droits d'accès http ne sont pas les mêmes. au final, tu uitlises quelle fonction pour créer ton répertoire ?
>> is_dir() verifie seulement si le dossier est bien un dossier et non un fichier
j'ai pas compris, tu veux vérifier que le dossier existe et un is_dir ne te renvoi pas false dans le cas contraire ? |
|
| |
|
 |
Sir Dipp WRInaute accro

Inscrit le: 21 Juil 2003 Messages: 1022
|
Posté le : Lun Mai 15, 2006 16:25 Sujet du message: creation dynamique d'un repertoire |
|
|
is_dir est suffisant, si le dossier n'existe ou ou si un fichier de même nom n'est pas un dir il retourne false.
Sinon, la meilleure méthode et de faire comme suit :
| Code: |
if(!is_dir($repUp)){
mkdir($repUp, 777) or die('Echec de la creation du repertoire');
}
/*
Système de upload...
*/
|
|
|
| |
|
 |
jarodxxx2 WRInaute discret

Inscrit le: 09 Déc 2005 Messages: 63
|
Posté le : Lun Mai 15, 2006 20:44 Sujet du message: creation dynamique d'un repertoire |
|
|
| Sir Dipp a écrit: |
is_dir est suffisant, si le dossier n'existe ou ou si un fichier de même nom n'est pas un dir il retourne false.
Sinon, la meilleure méthode et de faire comme suit :
| Code: |
if(!is_dir($repUp)){
mkdir($repUp, 777) or die('Echec de la creation du repertoire');
}
/*
Système de upload...
*/
|
|
tout d'abord le chmod corect pour la creation d'un dossier via mkdir doit etre exprimée en base octale donc mkdir($repUp, 0777)
| e-kiwi a écrit: |
| j'ai pas compris, tu veux vérifier que le dossier existe et un is_dir ne te renvoi pas false dans le cas contraire ? |
oui c'est exactement ca ... puisque is_dir ne verifie pas si "$dir" existe mais verifie le type c'est a dire si "$dir" est un dossier et non fichier (d'&pres ce que j'ai compris) |
|
| |
|
 |
| |
|
|
|
|
Autres sujets de discussion :
|
|