Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从原始图像路径获取缩略图图像_Php_Codeigniter_Thumbnails - Fatal编程技术网

Php 从原始图像路径获取缩略图图像

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

上载图像时,我将原始图像路径包含的文件名存储在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 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