2013-07-10 3 views
0

J'essaye de créer un dossier en PHP, en appelant une valeur. Créer un fonctionne bien. Mais une fois que j'essaye d'appeler la valeur et de la concaténer avec le dossier existant, cela ne fonctionnera pas. J'ai essayé plusieurs choses. Par exemple, je souhaite que quelqu'un puisse saisir un nom pour son dossier dans un champ de saisie afin qu'il puisse choisir le nom du dossier. Par exemple, ils pourraient écrire sur le site "mypics", et quand j'accède à mon programme ftp, je voudrais maintenant voir des images/mypics/Création d'un dossier avec PHP en utilisant les valeurs d'entrée

Comme pour la partie HTML, j'ai ceci (vérifiez le violon pour le reste de il http://jsfiddle.net/GF6qk/):

<input type="text" id="folder" name="folder"> 

en ce qui concerne l'aspect PHP, je donne les résultats suivants

<?php 

// We're putting all our files in a directory called images. 

// Desired folder structure 


$folder = $_POST['folder']; 

$dirPath = 'images/'.$folder; 
$result = mkdir($dirPath, 0755); 
if ($result == 1) { 
    echo $dirPath . " has been created"; 
} else { 
    echo $dirPath . " has NOT been created"; 
} 


//$image_name = ''; 
$uploaddir = 'images'; 

// The posted data, for reference 
$file = $_POST['value']; 
$name = $_POST['name']; 

// Get the mime 
$getMime = explode('.', $name); 
$mime = end($getMime); 

// Separate out the data 
$data = explode(',', $file); 

// Encode it correctly 
$encodedData = str_replace(' ','+',$data[1]); 
$decodedData = base64_decode($encodedData); 


?> 

J'ai aussi utilisé cette ligne (qui était la ligne originale j'ai essayé dans le code ci-dessus, que je puis modifié).

$dirPath = 'images/$folder'; 
+0

Voulez-vous créer des dossiers récursifs? c'est-à-dire si l'utilisateur tape ** 'trip/fun/mypics' ** il devrait créer **' images/trip/fun/mypics' ** – Yogesh

+0

Yogesh, pas du tout. Je vais tout empêcher sauf les lettres et les chiffres. –

Répondre

2

essayez et il travaille

$folder = $_POST['folder']; 
$dirPath = 'images/'.$folder; 
$result = mkdir($dirPath); 

if ($result == '1') { 

echo $dirPath . " has been created"; 

} else { 
echo $dirPath . " has NOT been created"; 
} 

<input type="text" id="folder" name="folder"> 
+0

J'ai fait autre chose qui a fonctionné il y a des mois. Et ce code me semble bien aussi :) –

+1

ici le même code que j'ai été créé avec dynamiquement créer un dossier et télécharger le processus de fichier http://stackoverflow.com/questions/19817829/files-not-being-uploaded-in -dynamically-created-folders-subfolders/19817946? noredirect = 1 # comment29466299_19817946 –

+1

Nice! Bravo Farhan! –

0

Recevez-vous des erreurs? Si c'est vrai, que sont-ils? Le dossier "images" existe-t-il déjà? J'ai essayé votre code exact, et cela a fonctionné si le dossier existe déjà des images .....

+0

Aucune erreur - même pas l'erreur PHP! Oui, si je crée un formulaire dans le style que vous avez essayé, cela fonctionne. Mais, le problème que j'ai est plus compliqué:/Je vais vous montrer le code html que j'ai, ce qui m'amène à réfléchir sur la façon dont je peux créer un répertoire pour ce problème particulier. Les utilisateurs vont glisser et déposer leurs photos sur le site, et je veux qu'ils choisissent un nom pour leur répertoire simultanément (enfin, presque simultanément). http://jsfiddle.net/GF6qk/ –

+1

voici l'exemple http://stackoverflow.com/questions/19817829/files-not-being-uploaded-in-dynamically-created-folders-subfolders/19817946?noredirect= 1 # comment29466299_19817946 –

Questions connexes