Est-il possible de créer une extension de fichier .pdf lors de l'utilisation de tempname? Je dois envoyer un e-mail avec un fichier créé en utilisant tempname. (Je peux envoyer le fichier, mais j'ai besoin de l'extension .pdf)Création d'un fichier temporaire avec l'extension .pdf php tempnam
Répondre
Vous pouvez attribuer au nom de fichier un nom quelconque dans l'en-tête MIME du message multi-parties.
Pourriez-vous ajouter un exemple de l'en-tête de Mime pour les lecteurs qui n'y sont pas habitués, ne pas avoir besoin de google à ce sujet aussi. –
Non, ce n'est pas possible avec tempnam. Vous devrez écrire votre propre fonction pour cela, par exemple en utilisant l'heure actuelle. Le problème ici est d'éviter les conditions de course, mais peut éventuellement être résolu en incluant le PID dans le nom de fichier, comme ceci:
do {
$filename = rand();
$filename .= '.'. str_replace(' ', '.', microtime());
$filename .= '.'. getmypid();
$filename .= '.pdf';
} while(file_exists($filename));
Si le répertoire est partagé entre les différentes machines, le PID n'est pas garanti d'être unique. Dans ce cas, incluez également le nom d'hôte de la machine en cours (tel que renvoyé par gethostname).
J'utilise une fonction comme celui-ci pour les noms temporaires uniques:
function tempnam_sfx ($path, $suffix) {
if(!is_dir($path)){
mkdir($path, 0777, true);
}
do {
$file = $path . DIRECTORY_SEPARATOR . mt_rand() . $suffix;
} while (file_exists($file));
return $file;
}
$tempname = tempnam('', 'report_');
rename($tempname, $tempname .= '.pdf');
var_dump($tempname, is_file($tempname));
- 1. Création d'un fichier temporaire dans php
- 2. tempnam retombant à/tmp
- 3. Création d'un fichier temporaire: impossible d'y écrire
- 4. Création d'un fichier temporaire est incroyablement lent
- 5. Création d'un fichier temporaire nommé en Java
- 6. table temporaire Création mondiale Échec
- 7. Création de fichiers PDF en utilisant PHP
- 8. Création d'une page de fichiers temporaire en PHP - Possible?
- 9. Comment créer un fichier PDF avec PHP?
- 10. Créer un fichier PDF avec PHP
- 11. Création d'une table temporaire avec CROSS JOIN
- 12. PHP file_get_contents - Crée un fichier local temporaire?
- 13. Édition PDF avec PHP
- 14. Création d'une copie exacte d'un fichier pdf
- 15. PHP Création PDF A3, A4 et A5
- 16. Création d'un fichier PDF via ASP.NET
- 17. Création d'un fichier Zip avec PHP?
- 18. Création d'un objet PDF invisible avec iText
- 19. PHP Création fichier phpunit.xml
- 20. Création d'annotations PDF avec Quartz (iOS)
- 21. Ajouter un fichier temporaire sans fichier temporaire en manipulant inode?
- 22. tempnam() ne fonctionne pas sur le serveur client
- 23. fichier pdf avec python
- 24. Création d'un fichier PDF et envoi par e-mail
- 25. création de pdf par un logiciel tiers appelé par php
- 26. Supprimer un fichier temporaire avec FileStreamResult
- 27. génération avec motif différent fichier temporaire
- 28. Création d'une documentation PDF
- 29. Enregistrement d'un fichier temporaire
- 30. Télécharger l'url temporaire via ajax
Est-ce vraiment un sens? Si le courriel ne contient aucune autre pièce jointe, pourquoi ne pas le nommer 'attachment.pdf' ou quelque chose de significatif lié au contenu du courriel? –
Je souhaite utiliser un emplacement temporaire pour stocker le fichier (pas dans le répertoire de l'application). Si vous pouvez penser à une autre façon, faites le moi savoir. –
@Chris mais pourquoi le fichier temporaire doit-il avoir une extension .PDF? –