Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.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 图像显示为HTML,但没有显示DOMPDF()的图像_Php_Drupal 6_Dompdf - Fatal编程技术网

Php 图像显示为HTML,但没有显示DOMPDF()的图像

Php 图像显示为HTML,但没有显示DOMPDF()的图像,php,drupal-6,dompdf,Php,Drupal 6,Dompdf,我尝试将图像显示如下: function part_profile_record_pdf_form() { $sql = "SELECT * FROM part_profile WHERE part_id=" . arg(2); $query = db_query($sql); $dataFormDb = db_fetch_object($query); $url = '../../../' . $dataFormDb->image; $css_

我尝试将图像显示如下:

function part_profile_record_pdf_form()
{
    $sql = "SELECT * FROM part_profile WHERE part_id=" . arg(2);
    $query = db_query($sql);
    $dataFormDb = db_fetch_object($query);

    $url = '../../../' . $dataFormDb->image;

    $css_file = drupal_get_path('module', 'part_profile') . '/css/part_profile_pdf.css';
    $output = "<style>" . file_get_contents($css_file) . "</style>";
    $output .= "<html><body ><div id=\"wrapper\">";
    $output.= '<img height="156" width="128" id="img_profile" src="'.$url.'">';
    $output.="</div></body></html>";
    return $output;
}
但是,当我尝试按如下方式制作pdf时,没有显示给出“x”和“图像不可读或为空”的图像:

function part_profile_make_pdf() {
  $css_file = drupal_get_path('module', 'part_profile') . '/css/part_profile_pdf.css';
   $output= part_profile_record_pdf_form();
// print $output;    
    require_once(realpath(".") . "/sites/all/libraries/dompdf/dompdf_config.inc.php");
    spl_autoload_register('DOMPDF_autoload');

    if (isset($_SESSION['indv_report_file_name']) && !empty($_SESSION['indv_report_file_name'])) {
        $filename = $_SESSION['indv_report_file_name'];
    } else {
        $rand_val = rand(0, 1000);
        $filename = "eureka_" . $rand_val . ".pdf";
        $_SESSION['indv_report_file_name'] = $filename;
    }
    $dompdf = new DOMPDF();
    $dompdf->load_html($output);
    // $dompdf->set_paper(DEFAULT_PDF_PAPER_SIZE, 'a4');
    // "a4" => array(0,0,595.28,841.89),
    $dompdf->set_paper(array(0, 0, 595.28, 420), "portrait"); // 12" x 12"
    $dompdf->render();
    $dompdf->stream("participant-profile.pdf", array("Attachment" => false));
    exit(0); 
}

我已经在我的配置DOMPDF\u config.inc.php中将DOMPDF\u ENABLE\u REMOTE设置为true。我不知道。提前谢谢

在我自己的DOMPDF环境中进行了一些测试后,我认为这是由于图像的相对路径造成的。当前您正在使用

$url = '../../../' . $dataFormDb->image;
这对于HTML中的预览很好,浏览器可以找到图像

但是当DOMPDF试图处理HTML并查找图像时,它是从系统的角度进行的,就像PHP在处理
文件时所做的那样。因此,您需要添加完整路径:

$url = $_SERVER['DOCUMENT_ROOT'] . '/path/to/dir/' . $dataFormDb->image;
或者只是硬编码

$url = '/home/username/sitename/public_html/images/' . $dataFormDb->image;
所以你可能需要一些逻辑来说明:我在做预览吗?然后使用相对路径。或者我正在做PDF渲染?然后使用完整路径。但我会把这个留给你

$url = '/home/username/sitename/public_html/images/' . $dataFormDb->image;