мой текущий путь к папке - $path = car_images;
Это работает для меня. я могу загрузить свои изображения в эту папку напрямую.
Но я хочу создать отдельные папки для каждого пользователя. так что теперь изображения должны быть загружены в $path = car_images/$emp_code;
означает, что я хочу сначала создать каталог с именем $emp_code в папке car_images, а затем в каталог $emp_code будут загружаться изображения.
Мой текущий код, который не создает каталог в папке car_images.
$path = "car_images/".$emp_code;
if (!is_dir($path.'/'.$emp_code))
{
mkdir($path.'/'.$emp_code, 0777, true);
}
$name = $_FILES['car_images']['name'][$i];
$size = $_FILES['car_images']['size'][$i];
list($txt, $ext) = explode(".", $name);
$file= time().substr(str_replace(" ", "_", $txt), 0);
$info = pathinfo($file);
$filename = $file.".".$ext;
if (move_uploaded_file($_FILES['car_images']['tmp_name'][$i], $path.$filename))
{
$file_name_all.=$filename.",";
}
ошибок нет ничего. изображения загружаются в папку car_images
$emp_code установлен?






Это должно сработать, попробуйте.
This is what you want :
Folder A
|
|--Folder_001---All files uploaded/has to be sent here by 001(user 1)
|--Folder_002---All files uploaded/has to be sent here by 002(user 2)
|--Folder_003---All files uploaded/has to be sent here by 003(user 3)
|--Folder_004---All files uploaded/has to be sent here by 004(user 4)
|--
|--
|--so on....
Inside directory: folder_A(which you already be having), New folders will be generated according to your need.(example: user1_folder, user2_folder..)
For example : when user uploads files, folders can be created according to user_id, Later when user uploads files, files go into:
folder_A --> User_id_folder --> User_id uploaded files will/can be present/sent here.
Вы можете изменить приведенный ниже код в соответствии с вашими потребностями, поэтому ниже я ответил на заданный вопрос.
Здесь $ name и $ tmp_name требуют 'Later' для функции move_uploaded_file ($ parameter1, $ parameter2).
if (isset($_FILES) & !empty($_FILES)){
$name = $_FILES['file']['name'];
/* $size = $_FILES['file']['size'];
$type = $_FILES['file']['type']; */
$tmp_name = $_FILES['file']['tmp_name'];
}
Чтобы установить его, я принял его как $ _SESSION. Но вы можете изменить его в соответствии со своим кодом, например $ _POST или $ _GET. file_exists () проверяет, присутствует ли файл / каталог.
if (isset($_SESSION['emp_code'])){
$emp_code= $_SESSION['emp_code'];
if (!file_exists('car_images/'.$emp_code)) {
mkdir('car_images/'.$emp_code, 0777, true);
}
$location = 'car_images/'.$emp_code.'/';
}
Теперь каталог $ emp_code будет находиться в папке $ car_images, затем вы переместите файл в каталог $ emp_code.
if (isset($name) & !empty($name))
{
if (move_uploaded_file($tmp_name, $location.$name)){
// do the code here.
// In the sql query use it as '$location$name'
/* FOR EXAMPLE:
$sql = "UPDATE `table_name` SET `image`='$location$name' WHERE `email`='$email'";
*/
}
else {
echo "failed to upload";
}
}
Позже, если это сработает, вы можете изменить код на ограниченные операторы IF. Надеюсь, это помогло. :)
mkdirвыдает предупреждение или есть ошибки? Также я бы использовал$info['extension'], а не$ext.