1

I have the following code to save the uploaded file to a static directory.

<?php
//set the image size in mb
$max_upload_size='10';
$MAXIMUM_FILESIZE = $max_upload_size * 1024 * 1024; 
$uploaddir = './uploads/file/'; 
$file = $uploaddir . basename($_FILES['uploadfile']['name']); 
if ($_FILES['uploadfile']['size']<$MAXIMUM_FILESIZE) {
if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], $file)) { 
  echo "success"; 
} else {
echo "error";
}
}else{
echo"size_error";
}
?>

But what I want is to create a username directory under "/uploads/file/". For example if the username is "john", then it should create a folder like "/uploads/file/john/" and saved the file under that folder.

1 Answer 1

1

Note - User needs to be logged in to work

global $current_user;
get_currentuserinfo();
$uploaddir = './uploads/file/'.$current_user->user_login.'/'; 
wp_mkdir_p( $uploaddir );

Reference - wp_mkdir_p() -

3
  • the correct function is get_current_user();. but my problem now is it does not create a "username" directory. the file will upload successfully if there is an existing username (i.e. john) directory.
    – jaypabs
    Commented Aug 4, 2012 at 14:33
  • Call wp_mkdir_p( $uploaddir); before you attempt to move the upload. Commented Aug 4, 2012 at 16:34
  • @jaypabs The function get_current_user(); you are refereeing to is a PHP function not a wordpress.
    – Amit Kosti
    Commented Aug 4, 2012 at 16:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.