创建文件夹和子文件夹(链接到数据库userid)。没有创建子文件夹,用户的图像将被部署。当用户yploads时,图像应该放在userid文件夹中。如果有人可以提供帮助并给予请编码相对于我的编码。这是下面的代码
session_start();
$ds = DIRECTORY_SEPARATOR;
$storeFolder = '../../advertiser_images/'.str_replace("#","",$_SESSION["userID"]);
if (!empty($_FILES))
{
$tempFile = $_FILES['file']['tmp_name'];
$targetPath = dirname( __FILE__ ) . $ds. $storeFolder . $ds;
$targetFile = $targetPath.$_SESSION["vid"].str_replace(" ","",$_FILES['file']['name']);
move_uploaded_file($tempFile,$targetFile);
}
include_once '../../modules/database/db-functions.php';
$data = array();
$data[0] = 'booklook';
$data[1] = 'book_images';
$data[2] = 'vid';
$data[3] = '#'.$_SESSION["vid"];
$data[4] = 'did';
$data[5] = $_SESSION["userID"];
$data[6] = 'iid';
$data[7] = $_SESSION["vid"].str_replace(" ","",$_FILES['file']['name']);
$data[8] = 'img_loc';
$data[9] = 'advertiser_images/'.str_replace("#","",$_SESSION["userID"]).'/'.$_SESSION["vid"].str_replace(" ","",$_FILES['file']['name']);
add($data);
答案 0 :(得分:0)
您在代码中缺少目录创建:
$path = realpath('../../advertiser_images').DIRECTORY_SEPARATOR.str_replace("#", "", $_SESSION["userID"]);
if (!file_exists($path)) {
mkdir($path, 0755, true);
}
函数man:
realpath
- 从相对路径获取真实路径,同时修复目录分隔符,
file_exists
- 检查dir / file是否存在
mkdir
- 创建目录。第一个参数是dir名称,第二个 - dir模式和第三个 - 递归创建(意味着父目录也将被创建)