Мой файл не перемещается в указанную и вновь созданную папку с помощью mkdir - PullRequest
0 голосов
/ 13 июля 2010

Итак, у меня проблема.Когда кто-то регистрирует учетную запись на сайте, который я создаю, он переходит на страницу настройки, где он может загрузить фотографию профиля.Я использую mkdir для автоматического создания подпапки с их именем пользователя, которая работает нормально, и CHMOD 777 для этой подпапки.У меня проблема в том, что изображение не перемещается в указанную подпапку, а попадает в папку «uploads», которая является его родительским каталогом.

Надеюсь, я никого не запутал, ноМне действительно нужна помощь.

Ниже приведен мой сценарий, который я написал для этого.

====================================================================================

require_once('../admin/includes/config.php');

$uploaded_file = $_REQUEST['uploaded_file'];
$member_id = $_REQUEST['member_id'];
$name = $_REQUEST['name'];
$location = $_REQUEST['location'];
$hobbies = $_REQUEST['hobbies'];
$hobby = $_REQUEST['hobby'];

// using member_id, extract the username from the members table so we can auto create a sub-directory for the images

$result = mysql_query("SELECT username FROM members WHERE member_id = '$member_id'");

while($row = mysql_fetch_array($result))
  {
  $username = $row['username'];
  }

// unmask to change CHMOD of newly created sub directory to 777
$old_mask = umask(0);

//Create directory with member's username

$madedir = mkdir('../admin/uploads/'.$username.'', 0777) /*== TRUE ? 1 : 0*/;
umask($old_mask);


// Assign the directory the file is going to be uploaded to

$uploaddir = '../admin/uploads/'.$username.'';


// Get the file name

$file_name = $_FILES['uploaded_file']['name']; 


// Upload file to assigned directory with file name

$uploadfile = $uploaddir . basename($_FILES['uploaded_file']['name']);


// If the file has been uploaded, run this script

if (move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $uploadfile)) {

echo "Success";
} // end if
else {
echo "there was an error uploading your file"; 
}

1 Ответ

1 голос
/ 13 июля 2010

Похоже, вам не хватает / в конце каталога загрузки. Изменить это:

$uploaddir = '../admin/uploads/'.$username.'';

к этому:

$uploaddir = '../admin/uploads/'.$username.'/';
...