我有两个函数(伪代码)
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
文件流)。
答案 0 :(得分:0)
您可以使用tempnam
生成临时文件名,并将其作为imagejpeg
传递给filepath
,并将其用作filepath
的{{1}}
要确保在SaveFile
目录中创建文件,请使用tmp
作为sys_get_temp_dir()
中的dir
。