如何将变量放在fopen中?

时间:2015-06-17 21:37:36

标签: php

我正在尝试将图像保存在文件夹中。要获取此文件夹,我需要传递三个目录:图像,来自用户的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())");

} 

感谢。

1 个答案:

答案 0 :(得分:1)

而不是:

$file = fopen($directory, 'wb');

执行:

$file = fopen($_SERVER['DOCUMENT_ROOT'] . $directory, 'wb');

此外,请确保您具有正确的文件夹和文件权限设置。图像路径应为0775.如果仍然出现问题,请检查包含图像文件的文件夹是否存在....

它在我的机器上工作非常好。