2010-07-28 8 views
0

J'ai un script de téléchargement de fichier qui fonctionne [enfin] mais je veux que les utilisateurs soumettent des photos dans un dossier, que je veux être créé en tant que nom d'utilisateur. Je pensais que je pourrais peut-être soumettre le fichier et ensuite il le créerait, mais ce n'était pas le cas, alors comment puis-je faire cela? Ceci est mon script: PHP Code:créer un nouveau dossier avec php

<?php 
// Configuration part 
$dbhost = "localhost"; // Database host 
$dbname = "users"; // Database name 
$dbuser = "dbuser"; // Database username 
$dbpass = ""; // Database password 

// Connect to database 
$db = mysql_connect($dbhost, $dbuser, $dbpass) or die("Error: Couldn't connect to database"); 
mysql_select_db($dbname, $db) or die("Error: Couldn't select database."); 

if($IsLoggedIn) 
{ $userid = $_GET["userid"]; 
    if($_POST['Submit']) 
     { 

      if($userid) 
      { $uploadName = mysql_query("SELECT * FROM users WHERE userId ='" 
          . $userid . "'"); 
      while ($upName = mysql_fetch_row($uploadName)) 
       { $userName2 = $upName[1]; 
        $userPic1 = $upName[11]; 
        echo "$userName2"; } } 

//If the Submitbutton was pressed do: 

      if ($_FILES['imagefile']['type'] == 'image/pjpeg') 
       { 

//this is where the pic is put into a folder by the username 
    copy ($_FILES['imagefile']['tmp_name'], 
    "pics/profiles/" . $userName2 . "/" . $_FILES['imagefile']['name']) 
    or die ("Could not copy"); 

     echo ""; 
     echo "Name: ".$_FILES['imagefile']['name'].""; 
     echo "Size: ".$_FILES['imagefile']['size'].""; 
     echo "Type: ".$_FILES['imagefile']['type'].""; 
     echo "Copy Done...."; 
     } 


     else { 
      echo ""; 
      echo "Could Not Copy, Wrong Filetype (".$_FILES['imagefile']['name'].")"; 
     } 
} 

?> 
<form name="form1" method="post" action="index.php?page=classupload&userid=<?php echo "$userid"; ?>" enctype="multipart/form-data"> 
<input type="file" name="imagefile"> 

<input type="submit" name="Submit" value="Submit"> 
</form> 
<?php } else { ?>How did you get here? You aren't <a href="index.php?page=login">Logged In</a>. 
<?php } ?> 

est-il possible de le faire? Peut-être même quand l'utilisateur est fait? Merci!

+5

En regardant http://forums.devarticles.com/php-development-48/create-new-folder-with-php-4113.html, quelle est cette question vraiment? – Gumbo

Répondre

3
$directoryPath = "/home/domain/public_html/site_name/pics/profiles/".$userName2; 
mkdir($directoryPath, 0644); 
+0

Si cela ne fonctionne pas essayez de définir les autorisations de fichier à 0755 – Martin

+0

merci J'ai essayé ceci: $ structure = './users/'.$usercheck; if (! Mkdir ($ structure, 0, true)) { die ('Impossible de créer des dossiers ...'); } –

1

Peut-être que vous devriez jeter un oeil à la commande mkdir.

2

La réponse à « Comment créer un dossier avec PHP » est mkdir(). Je ne peux pas comprendre ce que tout ce code a à voir avec le sujet.

0

cela devrait le faire if(!file_exists($targetPath)) mkdir($targetPath); mais vous devez avoir les permissions

3

Vous pouvez encore vérifier si le répertoire que vous êtes dans le permet vous de faire de nouveaux répertoires. Voici quelques exemples de validation pour améliorer la robustesse de votre application.

$parentDir = '/home/domain/public_html/site_name/pics/profiles/'; 
if(!is_dir($parentDir)) { // Check if the parent directory is a directory 
    die('Invalid path specified'); 
} 

if(!is_writable($parentDir)) { // Check if the parent directory is writeable 
    die('Unable to create directory, permissions denied.'); 
} 

if(mkdir($parentDir . $userName2) === false) { // Create the directory 
    die('Problems creating directory.'); 
} 
die('Created directory successfully'); // Success point 
Questions connexes