服务器

时间:2016-01-23 23:29:41

标签: php file

我有两个函数(伪代码)

function UploadImage($FilePath) {

    $image = imagecreatefromjpeg($FilePath);

    // do some work on $image like resize, compress, etc

    $NewImage = imagecreatetruecolor($x, $y);
    imagecopyresampled($NewImage, $image, ...);

    //$NewImage now holds an image resource identifier (IRI) object.
    //SaveFile($NewImageToFilePathSomehow);
}

function SaveFile($FilePath) {

    // perform some other checks and do some stuff

    rename($FilePath, $NewPath);
}

我明显的选择是使用imagejpeg在服务器上手动创建文件的副本,将路径传递给SaveFile,然后再次手动删除文件。我想知道是否有办法创建像tmpfile这样的临时文件允许并传递路径。

SaveFile是一个通用函数,也可以在其他地方使用,因此它只有逻辑属性类型是路径而不是文件句柄(如fopened文件流)。

1 个答案:

答案 0 :(得分:0)

您可以使用tempnam生成临时文件名,并将其作为imagejpeg传递给filepath,并将其用作filepath的{​​{1}}

要确保在SaveFile目录中创建文件,请使用tmp作为sys_get_temp_dir()中的dir