我当前的文件夹路径为$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.",";
}
答案 0 :(得分:4)
这必须起作用,试试吧。
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....
内部目录:folder_A(您已经拥有),将根据您的需要生成新文件夹。(例如:user1_folder,user2_folder ..)
例如:当用户上传文件时,可以根据user_id创建文件夹,稍后当用户上传文件时, 文件进入:
folder_A - > User_id_folder - > User_id上传文件 将/可以在这里出现/发送。
您可以根据需要更改以下代码,所以下面我已回答了问题。
此处,$ name和$ tmp_name需要'稍后'对于函数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()检查file / dir是否存在。
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语句。 希望它有所帮助。 :)