使用相同的源映像动态更改映像名称


Changing image name dynamically using the same source image

考虑我有一个名为"car.jpg"的图像。

我的网站上有多语言商店,客户希望用各种语言显示相同的图像。就像汽车在法语中被称为voiture一样,所以图像名称应该是"voiture.jpg",但它会显示相同的图像,即car.jpg。

此外,在保存/下载图像时,它应该从法语商店保存为voiture.jpg,从英语商店保存为car.jpg。

我计划通过后端面板从客户端输入图像的名称,但无法了解如何在前端实现这一点。

注意:-图像不在我的服务器上

我已经在飞行中复制了图像,可以使用它,如下所示,使用类上传,但需要一个比应对图像更好的选项,因为有4000多个图像。

<img src='./media/scene7/car.jpg' alt='car'>
<?php
    include('class.upload.php');
    $img = new Upload('media/scene7/car.jpg');
    if ($img->uploaded) {
        $img->file_new_name_body = 'voiture';
        $img->file_auto_rename = false;
        $img->file_overwrite = true;
        $img->Process('./media/scene7/translated/');
    }else{
    }
    echo "<br /><br />Car is called voiture in French, you are seeing the image of voiture.<br />";
?>
    <img src='./media/scene7/translated/voiture.jpg' alt='car'>
<?php
    if ($img->uploaded) {
        $img->file_new_name_body = 'auto';
        $img->file_auto_rename = false;
        $img->file_overwrite = true;
        $img->Process('./media/scene7/translated/');
    }else{
        echo "not uploaded";
    }
    echo "<br /><br />Car is called auto in German, you are seeing the image of auto.<br />";
?>
    <img src='./media/scene7/translated/auto.jpg' alt='car'>
<?php
    if ($img->uploaded) {
        $img->file_new_name_body = 'coche';
        $img->file_auto_rename = false;
        $img->file_overwrite = true;
        $img->Process('./media/scene7/translated/');
    }else{
        echo "not uploaded";
    }
    echo "<br /><br />Car is called coche in Spanish, you are seeing the image of coche.<br />";
?>
    <img src='./media/scene7/translated/coche.jpg' alt='car'>
<?php
    $img = new Upload('http://s7d7.scene7.com/is/image/zeon/Stack_Mouse');
    if ($img->uploaded) {
        echo 'uploaded image from url';
    }else{
        echo $img->error;
    }
?>

您可以在数据库中以Blob的形式显示图像,并根据自己的喜好命名。

将图像存储为Blob的利弊可以从下面的链接中找到php:将图像存储到Mysql blob中,好还是坏?

有一个数据库表,其中列出了要向用户显示的所有图像文件名以及它们的真实URL。例如,该表可能具有

+-------------+--------------------------+
|FILENAME     |URL                       |         
+-------------+--------------------------+
|car.jpg      |./media/scene7/car.jpg    |
|voiture.jpg  |./media/scene7/car.jpg    |
|auto.jpg     |./media/scene7/car.jpg    |
|truck.jpg    |./media/scene7/truck.jpg  |
|camion.jpg   |./media/scene7/truck.jpg  |
|lastwagen.jpg|./media/scene7/truck.jpg  |
+-------------+--------------------------+

现在编写一个页面image.php,它需要一个文件名作为查询参数。它应该获取查询参数并在数据库表中查找它,然后重定向到它找到的URL。

然后你可以将你的图像作为类似的东西包含在页面中

<img src="image.php?file=voiture.jpg" alt="voiture.jpg"/>

当浏览器请求此图像时,将调用您的页面,图像最终将来自.media/scene7/car.jpg

您可以制作一个哈希表,如"car"=>"car.jpg"answers"voiture"=>"car.jpg"。每次客户端访问voiture.jpg时,您都可以返回car.jpg。

您可以通过为每种语言执行一个cofig文件来实现这一点。以下是解释:-

假设您有一些图像,如user.jpg、profile.jpg等。现在创建一个french.php文件。

french.php文件的结构:-

<?php
$lang=array();
$lang['user']='french_transalation_of_user';
$lang['profile']='french_transalation_of_profile';
?>

以同样的方式添加所有你们想用法语显示的图片名称。现在在网页中动态调用这些名称。您还可以创建任意数量的language.php。

我希望你能理解其中的逻辑。抱歉英语不好。