我正在为 prestashop 1.3.1 做产品导入 php 脚本,但我遇到了一个问题。我有图片的 URL,但我不知道如何使用它并制作不同的图像(我认为它被称为缩略图)。
如果我有图片http://www.nordix.cz/img/p/824-2268.jpg我必须用 PHP 写什么来制作缩略图?
非常感谢您的提示!
我正在为 prestashop 1.3.1 做产品导入 php 脚本,但我遇到了一个问题。我有图片的 URL,但我不知道如何使用它并制作不同的图像(我认为它被称为缩略图)。
如果我有图片http://www.nordix.cz/img/p/824-2268.jpg我必须用 PHP 写什么来制作缩略图?
非常感谢您的提示!
Prestashop 提供了一组处理图像的功能。我从未在 1.3 上工作过,但在 1.4 中它们位于/images.inc.php
(他们在 1.5 中创建了一个类)。看看这个文件,你会发现你需要的所有功能,尤其是imageResize()
要首先处理图像(创建拇指),您必须将其复制到本地目录。您不能对另一台服务器或 url 上的图像进行任何处理。所以这就是我在我的一个 PS 项目中是如何做到的。
1)首先检查图像是否存在。您可以通过在读取模式下使用 fopen 来做到这一点,如果它返回 true,则该文件存在。这样做是一个好习惯,因为它可以避免对远程服务器的不必要调用。
$imageUrl = "http://www.nordix.cz/img/p/824-2268.jpg";
@fopen($imageUrl, "r");
2)现在你有了fopen返回true的图像,你需要将图像复制到PS临时目录,如下所示
$tmpName = tempnam(_PS_TMP_IMG_DIR_, 'PS');
copy($imageUrl , $tmpName);
复制功能将图像下载到 PS temp 目录后,您可以根据需要处理该图像。请记住,您必须对 $tempName 进行所有处理,因为它现在是文件。$tempName 类似于 $_FILES['imageFieldName']['tmp_name']。
谢谢