Php 从原始图像路径获取缩略图图像
上载图像时,我将原始图像路径包含的文件名存储在db中Php 从原始图像路径获取缩略图图像,php,codeigniter,thumbnails,Php,Codeigniter,Thumbnails,上载图像时,我将原始图像路径包含的文件名存储在db中 For example: img/uploaded/photo.jpg 然后我生成它的缩略图并存储在下面的目录中,而不是数据库中 /img/uploaded/thumbs/photo_thumb.jpg 我有下面的函数,但不知道如何获取数据库中url的拇指 //ie: $file is img/uploaded/photo.jpg public function get_thumb($file) { //get the path
For example:
img/uploaded/photo.jpg
然后我生成它的缩略图并存储在下面的目录中,而不是数据库中
/img/uploaded/thumbs/photo_thumb.jpg
我有下面的函数,但不知道如何获取数据库中url的拇指
//ie: $file is img/uploaded/photo.jpg
public function get_thumb($file)
{
//get the path without filename
$get_path = dirname($file) . "/thumbs/";
//result img/uploaded/thumbs/ (how can i get the photo_thumb.jpg) here?
return $get_path;
}
编辑
basename$file从路径获取文件名,但如何添加_thumb.jpg?我对PHP没有太多经验,但作为起点,我得到:
$pattern = '/^.*\/(.*)$/'; // match everything after the last slash and store it in $1
$replacement = '$1';
$filename = preg_replace($pattern, $replacement, $file);
$get_path = $file . '/thumbs/' . $filename;
正如我所说,没有太多的PHP经验,但这应该可以做到
更简单的方法是:
查找$file中的最后一个/in
在其后面插入/拇指或将其替换为/拇指/
找到最后一个。在编辑的$file中
在它后面插入拇指
您可以找到/和的位置。使用strrchr函数。我对PHP没有太多经验,但从使用开始,我得到:
$pattern = '/^.*\/(.*)$/'; // match everything after the last slash and store it in $1
$replacement = '$1';
$filename = preg_replace($pattern, $replacement, $file);
$get_path = $file . '/thumbs/' . $filename;
正如我所说,没有太多的PHP经验,但这应该可以做到
更简单的方法是:
查找$file中的最后一个/in
在其后面插入/拇指或将其替换为/拇指/
找到最后一个。在编辑的$file中
在它后面插入拇指
您可以找到/和的位置。使用strrchr函数。通常,我这样做的方式是,只在数据库中存储文件名。假设它们都在同一个目录中 然后查询数据库并获取文件名,将其存储在:
$filename;
然后我就呼应出这样的话
echo base_url('images/thumbs/' . $filename);
希望这有帮助 通常,我这样做的方式是,只在数据库中存储文件名。假设它们都在同一个目录中 然后查询数据库并获取文件名,将其存储在:
$filename;
然后我就呼应出这样的话
echo base_url('images/thumbs/' . $filename);
希望这有帮助 您可以这样做:
public function get_thumb($file) {
$infos = pathinfo($file);
$path = $infos['dirname'] . '/thumbs/' . $infos['filename'] . '_thumb.' . $infos['extension'];
return $path;
}
您可以这样做:
public function get_thumb($file) {
$infos = pathinfo($file);
$path = $infos['dirname'] . '/thumbs/' . $infos['filename'] . '_thumb.' . $infos['extension'];
return $path;
}
你能指定你正在使用的语言吗?把它添加为一个标记?我不知道这是不是JavaScript、Perl、PHP。。。并且dirname函数存在于所有列出的三个函数中。您需要一个字符串操作,不同的语言有不同的可能性。这是codeigniter php。我添加了php标记。当你有拇指时,你想用它做什么?@chris为观众显示缩略图,而不是使用大图像,因此你将文件名存储在db yeh中的一个字段中?你能指定你使用的语言吗?也许可以将其添加为标记?我不知道这是不是JavaScript、Perl、PHP。。。并且dirname函数存在于所有列出的三个函数中。您需要一个字符串操作,不同的语言有不同的可能性。这是codeigniter php。我添加了php标记。当你有拇指时,你想用它做什么?@chris为观众显示缩略图而不是使用大图像,所以你将文件名存储在db yeh的一个字段中?我刚刚发现有一个basename可以从path获取文件名,但我需要在文件名后添加_thumb.jpg。例如foo_拇指。jpg@vzhen使用->rtrim$get_path,'.jpg'剥离扩展名,假设所有图像都是jpg的,add _thumb.jpgI刚刚发现有一个basename可以从path获取文件名,但我需要在文件名后添加_thumb.jpg。例如foo_拇指。jpg@vzhen使用->rtrim$get_path,'.jpg'剥离扩展,假设所有图像都是jpg的,然后添加_thumb.jpg