0

我使用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);

ISSUE : 表单只有一个上传字段。我只允许调整图像大小并一张一张地保存。由于脚本生成的所有这些调整大小的图像都具有相同的名称index,因此出现了一个问题,即当访问者第一次将他的图像保存在 Windows 中时,例如在文件夹中,它被保存为 index.jpeg 但是当他去保存图像后,系统会提示他替换 index.jpeg 图像。因为“这些人”不精通技术,所以他们通常会替换图像,最终浪费我解决案件的时间。所以我希望这些调整大小的图像具有由uniqid()或生成的唯一名称time()

我尝试了什么/正在尝试:我对我应该在这里使用什么 phpfunction 感到困惑,time()这样我就可以在每次生成调整大小的图像时创建一个新的文件名。为了首先设置一个变量,我尝试使用basename()这样的函数,但它不起作用。

$new_filename = basename($resized); echo '<br>' .$new_filename. '<br>';

显然它会抛出一个warning:basename() expects parameter 1 to be string. 我试过了,并意识到在这种情况下,变量$resized是资源而不是字符串。我仍在 php.net 上为imagejpeg()的线程爬行以寻找解决方案,但尚未找到任何资源。


底线问题:如何为调整大小的文件设置或获取变量,以便time()每次都可以操作它来创建新名称。


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

4

0 回答 0