我用我的照片的加载时间修复了我的问题,但现在图像没有出现在我的生产系统上。
我的图片位于此目录中:\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
哪个应该是正确的,但是对于图像语句,我会像以前一样得到相同的错误。
答案 0 :(得分:0)
感谢您的答案,我学到了一些东西。
我编写了一个脚本并以同样的方式重命名了我目录中的所有图像,现在它可以工作了。它必须是一个不同的名字。