图片的基本路径

时间:2015-06-23 12:20:35

标签: php zend-framework zend-db

我用我的照片的加载时间修复了我的问题,但现在图像没有出现在我的生产系统上。

我的图片位于此目录中:\public\images\logos 在我的localhost环境中,以下路径正常工作我在pdf中看到了图像:

images/logos/*.*
/images/logos/*.*
./images/logos/*.*

如果我在生产系统上使用相同的控制器操作,则会出现错误:

  

消息:无法创建图像资源。找不到档案。

我尝试了上面显示的所有品种。

我如何以及在何处设置图像的基本路径,以及如何在数据库中命名相对路径?

其他信息:

我尝试得到这样的图像:

$pfad = $logen->logo ;  
//$pfad=trim($pfad);
//$page->drawText($pfad, $posX, $posY +11,'UTF-8');
$image = Zend_Pdf_Image::imageWithPath($pfad);  //Image mit präfix .)/ läuft auf localhost
$page->drawImage($image, $posX-30, $posY, $posX, $posY+30);

这适用于localhost,但不适用于我的生产系统,如果我用这样的绝对路径替换数据库中的路径:

$pfad='./images/fgld.jpg';

它有效!如果我将./images/fgld.jpg放在我的数据库字段中则不起作用。所以我认为它必须是路径名的一个基本错误。

编辑2: 我试着建议:

$pfad = $logen->logo ;  //".".
$baseUrl = $this->view->baseUrl() ;
$pfad=$baseUrl.$pfad;

我像以前一样得到了同样的错误信息。我试图得到baseUrl:

/cheyenne/public

这似乎没问题,所以我连接了其余的路径,我得到了第一条记录:

/cheyenne/public/images/logos/Berlin_1.png

也应该没问题,但它不起作用。另外我想说我的生产系统上的项目路径是根目录下的第一步,我认为应该也可以。

编辑3:

我尝试了建议的应用程序路径,得到了错误的答案:

/mnt/weba/b3/45/5543245/htdocs/cheyenne/application/public

应该是:

  /mnt/weba/b3/45/5543245/htdocs/cheyenne/public

为了得到一个有效的结果,我试图像这样绝对地添加这个路径:

$public_path='/mnt/weba/b3/45/5543245/htdocs/cheyenne/public';
$pfad = $public_path . $logen->logo ; 

我得到了这个:

/mnt/weba/b3/45/5543245/htdocs/cheyenne/public/images/logos/Berlin_1.png

哪个应该是正确的,但是对于图像语句,我会像以前一样得到相同的错误。

1 个答案:

答案 0 :(得分:0)

感谢您的答案,我学到了一些东西。

我编写了一个脚本并以同样的方式重命名了我目录中的所有图像,现在它可以工作了。它必须是一个不同的名字。