Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Dateien mit flexiblem Dateinamen

Empfohlene Antworten

Veröffentlicht

Hallo,

aus meiner MySQL-Datenbank können vordefinierte Abfragen als PDF-Dateien gespeichert werden. Ich bin jetzt auf der Suche, daß der Name der erzeugten PDF-Datei jeden Tag das Datum enthält (also heute file20040714.pdf) oder so ähnlich.

Weiß jemand, ob (und wie) sowas - idealerweise in PHP - realisierbar ist?

Wir haben hier leider ein paar DAU's zu viel und aus diesem Grund war es ein Wunsch des Managements, auch sowas zu realisieren... :eek: (Dies nur zur Erklärung; mir ist schon klar, daß man das ein User normalerweise auch machen kann, wenn er die Datei speichert. Ich würde diesen Namen nur gerne vorgeben.

Danke + Gruß

-etops-

Nicht "so ungefähr"... :floet:

So genau :D:D

Danke!

Nicht "so ungefähr"... :floet:

So genau :D:D

Danke!

1. selbst ist der Mann

2. soll ich deine Arbeit machen?

3. ich habe dir alle nötigen Quellen gegeben, sieh dort nach und wenn du wieder Probleme hast, melde dich erneut

Hey, sorry wenn das mißverständlich war. Ich meinte damit Dein Zitat

"...so ungefähr"
.

Das war nicht ungefähr das, was ich wollte, sondern das war es exakt. Jetzt funktionierts!! Danke :)

Hey, sorry wenn das mißverständlich war. Ich meinte damit Dein Zitat .

Das war nicht ungefähr das, was ich wollte, sondern das war es exakt. Jetzt funktionierts!! Danke :)

Oh Sorry,

jetzt beim 2. durchlesen, hab ichs auch so verstanden, wie du es gesagt hast :)

Ich muß meine Frage von oben nochmal erweitern:

Mein "Ziel" ist es jetzt, die pdf-Datei nicht in das gleiche Verzeichnis zu schreiben sondern in (idealerweise beliebiges) Verzeichnis auf dem Server. Für den Moment wäre ich aber auch erstmal damit zufrieden, einfach ein Verzeichnis, z.B. auf dem Desktop festlegen zu können...

Leider mach ich irgendetwas falsch, so daß es nicht geht...

Bis jetzt bin ich etwa so weit:


$dir = "c:/Desktop/pdf-files";

if (!file_exists($dir))
{
mkdir ($dir,0777);
}

$fname = tempnam($dir.'/','pdf').'.pdf';

$fp = fopen($fname, 'wb');
fwrite($fp,$pdfcode);
fclose($fp);
[/PHP]

Im Moment wird zwar das in $dir geplante Verzeichnis angelegt, aber die PDF-Dateien sehen etwa so aus: pdf2257.tmp.pdf

Mir ist übrigens klar, daß das jetzt mit dem genannten Quelltext gar nicht die Ausgabe in einen Dateinamen wie file20040720.pdf geben kann, aber es wäre ja schon mal sehr nützlich wenn das ".tmp" aus dem Dateinamen verschwinden würde...

Versucht hatte ich es mit diesem Quelltext, aber das war wohl nix:

[PHP]
$dname = fopen('file'. date('Ymd-Hi').'.pdf', 'wb');
fwrite($dname, $pdfcode);
fclose($dname);
$fname = tempnam($dir.'/','pdf').'.pdf';

$fp = fopen($fname, 'wb');
fwrite($fp,$pdfcode);
fclose($fp);

Danke für Fingerzeige, was hier falsch ist :confused: :)

Gruß

-etops-

kann das sein, daß tempnam() das tmp hintendranhängt? kann ich mir gut vorstellen.

Mußt halt anstelle von tempnam()

substr(tempnam($dir.'/','pdf'),0,-4)

verwenden.

Nur ne Idee ;)

Ich muß meine Frage von oben nochmal erweitern:

Mein "Ziel" ist es jetzt, die pdf-Datei nicht in das gleiche Verzeichnis zu schreiben sondern in (idealerweise beliebiges) Verzeichnis auf dem Server. Für den Moment wäre ich aber auch erstmal damit zufrieden, einfach ein Verzeichnis, z.B. auf dem Desktop festlegen zu können...

Leider mach ich irgendetwas falsch, so daß es nicht geht...

Bis jetzt bin ich etwa so weit:


$dir = "c:/Desktop/pdf-files";

if (!file_exists($dir))
{
mkdir ($dir,0777);
}

$fname = tempnam($dir.'/','pdf').'.pdf';

$fp = fopen($fname, 'wb');
fwrite($fp,$pdfcode);
fclose($fp);
[/PHP]

Im Moment wird zwar das in $dir geplante Verzeichnis angelegt, aber die PDF-Dateien sehen etwa so aus: pdf2257.tmp.pdf

Mir ist übrigens klar, daß das jetzt mit dem genannten Quelltext gar nicht die Ausgabe in einen Dateinamen wie file20040720.pdf geben kann, aber es wäre ja schon mal sehr nützlich wenn das ".tmp" aus dem Dateinamen verschwinden würde...

Versucht hatte ich es mit diesem Quelltext, aber das war wohl nix:

[PHP]
$dname = fopen('file'. date('Ymd-Hi').'.pdf', 'wb');
fwrite($dname, $pdfcode);
fclose($dname);
$fname = tempnam($dir.'/','pdf').'.pdf';

$fp = fopen($fname, 'wb');
fwrite($fp,$pdfcode);
fclose($fp);

Danke für Fingerzeige, was hier falsch ist :confused: :)

Gruß

-etops-

Warum verwendest du überhaupt eine temporäre Datei?


$dir = "c:/Desktop/pdf-files";

if (!file_exists($dir))
{
mkdir ($dir,0777);
}

$fname = $dir. '/' .date('Ymd-Hi'). '.pdf';

$fp = fopen($fname, 'wb');
fwrite($fp,$pdfcode);
fclose($fp);
[/PHP]

Danke!!!!!!!!!!!!!!!!!!!!!!!!!!! :):)

Warum hab ich nicht schon früher gefragt??!! :confused:

Die Frage kann ich leider nicht beantworten :)

Die Frage kann ich leider nicht beantworten :)

dito :marine

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.