Is er een mogelijkheid dat je een keuze kan maken hoe de output filename noemt in tcpdf?
Ik heb dit geprobeerd:


     $filename= time().".pdf"; 
    
     $filelocation = "/domains/contentu.be/public_html/crm/new/tcpdf/examples/facturen"; //Linux
              
     $fileNL = $filelocation."/".$filename; //Linux

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

Maar dit werkt niet en ik wil iedere pdf opslaan met een andere naam. Wat wel werkt is hetgeen in de handleiding staat en dit is:


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


Mededeling: ook gepost op http://www.pfz.nl/forum/topic/11042-tcpdf-output-filename-zelf-kiezen/
Als test.pdf wel werkt, zal het vermoedelijk niet aan de schrijfrechten liggen.

Waar gaat het fout? In $filelocation (klopt het pad wel?) en/of $filename (geeft de bestandsnaam een probleem?)?

Wat als je

$pdf->Output(domains/contentu.be/public_html/crm/new/tcpdf/examples/facturen/test.pdf,'F'); 

probeert?

En

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


Kortom: probeer te achterhalen waar het exact fout gaat.
TCPDF ERROR: Unable to create output file: domains/contentu.be/public_html/crm/new/tcpdf/examples/facturen/test.pdf

Dit is de foutmelding die ik krijg. Ook van zodra ik ' en . gebruik zoals bvb time-'.time().'-test.pdf', 'F' gaat het alweer fout.
Probeer eens:

<?php

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

?>
Dan krijg ik dezelfde foutmelding (zie een van de vorige berichten).
Staan de schrijfrechten wel goed?
Wat krijg je te zien als je dit doet?

<?php

echo __DIR__;
//$pdf->Output(time().'.pdf','F');

?>
We zijn ondertussen al een stap verder geraakt. Als ik de filename zet op:


$filename= time().".pdf";
 
$filelocation = __DIR__ . '/facturen'; //Linux
$file = $filelocation."/".$filename; //Linux

$pdf->Output($file,'F');


Werkt het wel maar als ik onderstaande doe als filename werkt het niet meer. Ik krijg dan een foutmelding:

TCPDF ERROR: Unable to create output file: /home/contentu/domains/contentu.be/public_html/crm/new/tcpdf/examples/facturen/Factuur-2015/00026/VF.pdf

  
$factnr = $_GET['factnr'];
              
$filename= 'Factuur-'.$factnr.".pdf"; 
$filelocation = __DIR__ . '/facturen'; //Linux

$file = $filelocation."/".$filename; //Linux

$pdf->Output($file,'F');


Hoe krijg ik dit dan in orde?
Dus dit is zo te zien de filenaam?
/Factuur-2015/00026/VF.pdf

Dat wil waarschijnlijk zeggen dat die mappen (nog) niet bestaan.
Mappen? Dit gaat hier puur over een filename.
Als je de eerste code bekijkt werkt die wel met time(), maar bij de tweede code verander ik enkel de filename en dan werkt het niet meer.

Die / zijn onderdeel van de filename. Zou het daar kunnen aan liggen dat die denkt dat het mappen zijn?
Ja, maar de / in die naam betekent volgende map.

map => /Factuur-2015/
map => /00026/
echte filename => VF.pdf

Reageren