使用php脚本唯一命名输出到浏览器的图像

使用php脚本唯一命名输出到浏览器的图像,php,image-processing,Php,Image Processing,我使用wordpress cms。我允许有选择的人上传图片。我有一个脚本,可以调整它的大小,并将调整大小的图像输出回浏览器,在那里他们可以右键单击并保存它。下面是代码的相关部分。如果需要,我会把整个代码。脚本可以正常工作,并将调整大小的图像很好地放在浏览器中 header('Content-type: image/jpeg'); ob_start(); imagejpeg($resized, null, 100); echo '<img src="data:image/jpeg;base

我使用wordpress cms。我允许有选择的人上传图片。我有一个脚本,可以调整它的大小,并将调整大小的图像输出回浏览器,在那里他们可以右键单击并保存它。下面是代码的相关部分。如果需要,我会把整个代码。脚本可以正常工作,并将调整大小的图像很好地放在浏览器中

header('Content-type: image/jpeg');
ob_start();
imagejpeg($resized, null, 100); 
echo '<img src="data:image/jpeg;base64,' . base64_encode(ob_get_clean()) . '">'; 
imagedestroy($resized);
显然,它抛出了一个
警告:basename()期望参数1是字符串。我试过了,并意识到在本例中,变量
$resized
是一个资源,而不是字符串。我还在php.net的线程中搜索解决方案,还没有找到任何资源


底线问题:如何设置或获取调整大小的文件的变量 我可以将其与
time()
一起操作,以创建新名称 时间



最后更新:@CBroe指出,这是不可能的,所以我开始寻找替代方案

在输出HTML代码之后,为什么要发送
内容类型:image/jpeg
标题?这毫无意义;这实际上是错误的。并且,当输出这样的内联图像时,不能指定所需的文件名。(如果你强制自动下载图片,那将是另一回事。)@CBroe我犯这些错误(显然)主要是因为我只是在学习这些东西。既然你指出了这一点,我将作出更正。你也可以给我指一个关于“强制自动下载图片”的资源。因为我每次都需要图像有唯一的名称,也许我会发现这是我的解决方案。不管怎样,我都得试试,正如你所说的那样,这是行不通的。谢谢。“你能给我指一个关于“强制自动下载图片”的资源吗?”——很高兴,这个资源有一个名字:谷歌。至于唯一的文件名/标识符:查看PHP函数uniqid、tempnam、tmpfile
$new_filename = basename($resized); echo '<br>' .$new_filename. '<br>';