我遇到了一个问题,我需要将图片上传到文件夹并将其路径存储到数据库中。
如果该文件夹不存在,则创建新文件夹,然后将其存储在那里并将完整路径保存到数据库中。
$file_name=$_FILES["uploadedimage"]["name"];
$temp_name=$_FILES["uploadedimage"]["tmp_name"];
$imgtype=$_FILES["uploadedimage"]["type"];
$ext= GetImageExtension($imgtype);
要使用的图像名称
$imagename=("Userimage")."-".time().$ext;
图片路径
$target_path = "images/".$imagename
条件
if(move_uploaded_file($temp_name, $target_path))
{
$query_upload="INSERT into images_tbl (images_path , submission_date) VALUES ('".$target_path."','".date("Y-m-d")."')";
$imagedb= mysqli_query($con,$query_upload);
while($imagepath = mysqli_fetch_array($imagedb))
{
echo "success";
}
}
答案 0 :(得分:1)
很简单:
$target_path = 'images/'.$imagename;
if(!is_dir($target_path)) mkdir($target_path, 0755);
不要使用" "当你可以使用' ',因为每次使用" .." ,php尝试在里面找到变量,没有时间浪费时间。 ;)
答案 1 :(得分:0)
你可以这样做:
<?php
$target_dir = preg_replace('#^(.*)'.basename($target_path).'$#', '$1', $target_path);
if (!is_dir($target_dir))
mkdir($target_dir, 0755);
if(move_uploaded_file($temp_name, $target_path))
{
$query_upload="INSERT into images_tbl (images_path , submission_date) VALUES ('".$target_path."','".date("Y-m-d")."')";
$imagedb= mysqli_query($con,$query_upload);
while($imagepath = mysqli_fetch_array($imagedb))
{
echo "success";
}
}
?>
preg_replace部件将目录路径从完整路径中剥离。
答案 2 :(得分:0)
if (!file_exists('path/to/directory')) {
mkdir('path/to/directory', 0777, true);
}
0777是目录权限,即创建目录并将权限设置为0777,以便可以将文件上载到此目录