![](/img/trans.png)
[英]How to add placeholders in joomla 2.5 without changing core library files
[英]Joomla 2.5: GD Library - how to name the file to avoid conflict
我正在为Joomla 2.5编写一个组件,该组件使用PHP GD库根据用户输入生成图形。
我应该给图像文件起什么名字,以避免多个用户使用该组件时发生冲突。
您可以借助日期和PHP哈希函数生成随机名称: http : //www.php.net/manual/zh/function.hash.php
因此名称将是唯一的。
或者,取决于组件中使用的功能,您可以以某种方式将用户名添加到映像名称。 它取决于组件的功能和我的因素(如果每个用户或每个其他功能等只有一张图像,等等)
一月
我认为您有两种方法。 首先是使用这样的前缀保存图像
scotttiger-img12321323.jpg
其中scotttiger是用户名, 12321323是用户输入。 另一种方法是为每个用户使用不同的文件夹
scotttiger/1231321.jpg
但是,如果您没有用户登录并且不知道用户名,请使用isfile( http://it1.php.net/is_file )函数进行简单检查并设置增量名称。 例如:
$wrote = false;
$prog = 0;
$filename="img-{$user_input}-{$prog}.jpg";
while(isfile($filename)) {
$prog++;
$filename="img-{$user_input}-{$prog}.jpg";
}
write_file($filename);
因此,您第一次使用img-input-1.jpg,第二次使用img-input-2.jpg,依此类推。 使用此解决方案,您不会出现重复或冲突。
您可以使用以下解决方案提高性能:
$wrote = false;
$prog = md5(time());
$filename="img-{$user_input}-{$prog}.jpg";
while(isfile($filename)) {
$prog = md5(time());
$filename="img-{$user_input}-{$prog}.jpg";
}
write_file($filename);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.