考虑我有一个名为"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。
我希望你能理解其中的逻辑。抱歉英语不好。