Home » Php » php – TCPDF Save file to folder?

php – TCPDF Save file to folder?

Posted by: admin April 23, 2020 Leave a comment


I’m using TCPDF to print a receipt and then send it to customer with phpMailer, but I have a problem:

I have no idea how to save the file into a pdf.

I’ve tried this:

// reset pointer to the last page

//Close and output PDF document
$pdf->Output('kuitti'.$ordernumber.'.pdf', 'I');
How to&Answers:

try this

$pdf->Output('kuitti'.$ordernumber.'.pdf', 'F');


this stores the generated pdf file in your custom folder of your project

$filename= "{$membership->id}.pdf"; 
$filelocation = "D:\wamp\www\project\custom";//windows
$filelocation = "/var/www/project/custom"; //Linux

$fileNL = $filelocation."\".$filename;//Windows
$fileNL = $filelocation."/".$filename; //Linux

$this->pdf->Output($fileNL, 'F');


$pdf->Output() takes a second parameter $dest, which accepts a single character. The default, $dest='I' opens the PDF in the browser.

Use F to save to file

$pdf->Output('/path/to/file.pdf', 'F')


Only thing that worked for me:

// save file
$pdf->Output(__DIR__ . '/example_001.pdf', 'F');


For who is having difficulties storing the file, the path has to be all the way through root. For example, mine was:

$pdf->Output('/home/username/public_html/app/admin/pdfs/filename.pdf', 'F');


nick’s example saves it to your localhost.
But you can also save it to your local drive.
if you use doublebackslashes:

 $filename= "Invoice.pdf"; 
 $filelocation = "C:\invoices";  

 $fileNL = $filelocation."\".$filename;

 $pdf->Output($filename,'D'); // you cannot add file location here

P.S. In Firefox (optional) Tools> Options > General tab> Download >Always ask me where to save files


TCPDF uses fopen() to save files.
Any paths passed to TCPDF’s Output() function should thus be an absolute path.

If you would like to save to a relative path, use e.g. the __DIR__ global constant (see this answer).


$pdf->Output( "myfile.pdf", "F");

TCPDF ERROR: Unable to create output file: myfile.pdf

In the include/tcpdf_static.php file about 2435 line in the static function fopenLocal if I delete the complete ‘if statement’ it works fine.

public static function fopenLocal($filename, $mode) {
    /*if (strpos($filename, '://') === false) {
        $filename = 'file://'.$filename;
    } elseif (strpos($filename, 'file://') !== 0) {
        return false;
    return fopen($filename, $mode);


If you still get

TCPDF ERROR: Unable to create output file: myfile.pdf

you can avoid TCPDF’s file saving logic by putting PDF data to a variable and saving this string to a file:

$pdf_string = $pdf->Output('pseudo.pdf', 'S');
file_put_contents('./mydir/myfile.pdf', $pdf_string);


You may try;


So for you, it will be like;

$this->Output(/kuitit/);  //or try ("/kuitit/")