我正在尝试将图像保存在文件夹中。要获取此文件夹,我需要传递三个目录:图像,来自用户的id,来自库的id以及生成的图像名称。
$directory = "../images/" . $id . "/" . $row[0] . "/" . $new_url;
我想将目录变量传递给fopen,我试过这种方式但是没有用。
$file = fopen($directory, 'wb');
完整代码:
function uploadimg_func($base, $id){
$binary=base64_decode($base);
header('Content-Type: bitmap; charset=utf-8');
$selectgallery = db_queries("SELECT id FROM `galleries` WHERE name = 'Fotos de perfil' AND user_id = '".$id."' ");
$row = mysqli_fetch_array($selectgallery);
$new_url = rand(0, pow(10, 5)) . '_' . time() . '.' . "jpg";
$directory = "../images/" . $id . "/" . $row[0] . "/" . $new_url;
$file = fopen($directory, 'wb');
fwrite($file, $binary);
fclose($file);
$createphoto = db_queries("INSERT INTO photos (`name`, `title`, `description`, `gallery_id`,`created_at`)
VALUES ('".$new_url."', '', '', '".$row[0]."', now())");
}
感谢。
答案 0 :(得分:1)
而不是:
$file = fopen($directory, 'wb');
执行:
$file = fopen($_SERVER['DOCUMENT_ROOT'] . $directory, 'wb');
此外,请确保您具有正确的文件夹和文件权限设置。图像路径应为0775.如果仍然出现问题,请检查包含图像文件的文件夹是否存在....
它在我的机器上工作非常好。