Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.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 警告:fseek():流不支持使用FPDI进行搜索_Php_Fpdf_Fpdi - Fatal编程技术网

Php 警告:fseek():流不支持使用FPDI进行搜索

Php 警告:fseek():流不支持使用FPDI进行搜索,php,fpdf,fpdi,Php,Fpdf,Fpdi,我试图查看类似的帖子,但似乎没有任何效果。 这是我的代码: <?php setlocale(LC_ALL, 'it_IT'); require_once('lib/fpdf/fpdf.php'); require_once('lib/fpdi/fpdi.php'); require_once('lib/phpmailer/class.phpmailer.php'); $mysqli = new mysqli("localhost", "user", "psw", "db"); if (

我试图查看类似的帖子,但似乎没有任何效果。 这是我的代码:

<?php
setlocale(LC_ALL, 'it_IT');
require_once('lib/fpdf/fpdf.php');
require_once('lib/fpdi/fpdi.php');
require_once('lib/phpmailer/class.phpmailer.php');

$mysqli = new mysqli("localhost", "user", "psw", "db");

if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}

$nome = $_POST[nome];
$email = $_POST[email];
$importo = intval($_POST[importo]);
$telefono = intval($_POST[telefono]);
$pagamento = $_POST[pagamento];
$agenzia = $_POST[agenzia];
$idp = intval($_POST[id]);
$ip = getRealIpAddr();
$pagina = urldecode($_SERVER['HTTP_REFERER']);
$device = $_SERVER['HTTP_USER_AGENT'];     

$querylista = "SELECT * FROM ListeSposi WHERE id =".$idp;

$datilista = $mysqli->query($querylista);

$row = $datilista->fetch_array(MYSQLI_ASSOC);

$NomeSposo = $row['NomeSposo'];
$CognomeSposo = $row['CognomeSposo'];
$NomeSposa = $row['NomeSposa'];
$CognomeSposa = $row['CognomeSposa'];

// initiate FPDI
$pdf = new FPDI();
// add a page
$pdf->AddPage();
// set the source file
$pdf->setSourceFile("http://www.vantravelgroup.com/sposi/buonoricevuta.pdf");
// import page 1
$tplIdx = $pdf->importPage(1);
// use the imported page and place it at point 10,10 with a width of 100 mm
$pdf->useTemplate($tplIdx, 10, 10, 100);

// now write some text above the imported page
$pdf->SetFont('Arial');
$pdf->SetTextColor(255, 0, 0);
$pdf->SetXY(30, 30);
$pdf->Write(0, 'PROVAAAAAAAAAAAAAAAAAAAA');

$buonoricevuta="../ricevute/RicevutaBuono".$nome.".pdf";
$pdf->Output($buonoricevuta,'F');


$insert = "INSERT INTO Donazioni (id_lista, nome, email, importo, telefono, agenzia, indirizzo_ip, pagina, dispositivo, buonoricevuta) 
VALUES ('".$idp."', '".$nome."', '".$email."', '".$importo."', ".$telefono.", '".$agenzia."', '".$ip."', '".$pagina."', '".$device."', '".$buonoricevuta."')";

// Eseguo la query per inserire una nuova riga e chiudo la connessione

if ($mysqli->query($insert) === TRUE) {
    $status = "Abbiamo registrato correttamente la transazione, ecco un riepilogo:";
} else {
    $status = "Lo scambio di dati non è andato a buon fine, questo è un messaggio diagnostico. </br>" . $newRow . "<br>" . $conn->error;
}

$mysqli->close();

$error = array();

// Mando le email

if(empty($error))
{ 

$emailUser = new PHPMailer();
$emailUser->From      = 'liste@vantravelgroup.com';
$emailUser->FromName  = 'Vantravel Group - Il Gabbiano - Istantravel - Globmaster';
$emailUser->Subject   = 'Qualcuno ha partecipato alla tua lista!';
$emailUser->MsgHTML('<img src="'.$logo.'" alt="Logo agenzia"><br>'.$status.'<br>Nome: '.$nome.'<br>Email: '.$email.'<br>Importo: '.$importo.'<br>Telefono: '.$telefono.'<br>Tipo di pagamento: '.$pagamento.'<br>Agenzia di Riferimento: '.$agenzia.'<br>In allegato può trovare in buono/ricevuta che le da diritto a uno sconto, una volta completato il pagamento, sul suo prossimo viaggio prenotato in una delle nostre agenzie.');
$emailUser->AddAddress( $email );
$emailUser->AddAttachment( $buonoricevuta , 'Buono_Ricevuta.pdf' );
return $emailUser->Send();

$emailAdmin = new PHPMailer();
$emailAdmin->From      = 'liste@vantravelgroup.com';
$emailAdmin->FromName  = 'Vantravel Group - Il Gabbiano - Istantravel - Globmaster';
$emailAdmin->Subject   = 'Qualcuno ha partecipato a una lista!';
$emailAdmin->MsgHTML('<img src="'.$logo.'" alt="Logo agenzia"><br>'.$status.'<br>Nome: '.$nome.'<br>Email: '.$email.'<br>Importo: '.$importo.'<br>Telefono: '.$telefono.'<br>Tipo di pagamento: '.$pagamento.'<br>Agenzia di Riferimento: '.$agenzia.'<br>In allegato può trovare in buono/ricevuta che le da diritto a uno sconto, una volta completato il pagamento, sul suo prossimo viaggio prenotato in una delle nostre agenzie.' );
return $emailAdmin->Send();
}

function getRealIpAddr() {
        if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
                $ip=$_SERVER['HTTP_CLIENT_IP'];
        } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
                $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
        } else {
                $ip=$_SERVER['REMOTE_ADDR'];
        }
        return $ip;
}

?>
我甚至确保pdf模板<版本1.5


知道问题的根源吗?

使用本地路径而不是URL:

$pdf->setSourceFile("/local/path/to/sposi/buonoricevuta.pdf");

嗨,Jan Slabon,我们不能将存储在S3存储桶中的文件与FPDI合并吗。thanks@manjunath你们可以在FPDI 2中使用。我已经尝试了上面的解决方案,但我得到了错误,好像给定的流是不可查找的!怎么会有这样的错误呢。谢谢你,你需要把整个PDF文件从这个存储桶捕获到一个变量/本地流中。好的,我像
$file1=fopen('https://s3-us-west-2.amazonaws.com/path/to/file“,'rb')
并将其传递给
$mpdf->setSourceFile(新的StreamReader($file))$pdf->setSourceFile("/local/path/to/sposi/buonoricevuta.pdf");