J'essaie d'étendre la classe de courrier PHP de Worx en ajoutant une méthode qui me permet d'ajouter des pièces jointes à l'aide de données de chaîne plutôt que de la voie du fichier.
J'ai eu quelque chose comme ça: P> Cependant, tout ce que je reçois est un avertissement PHP: p> Il n'y a pas d'exemples décents avec la documentation originale, mais je J'ai trouvé un couple autour d'Internet (y compris Un ici sur SO ), et mon utilisation semble correcte selon elles. P> a quelque part que quelqu'un a eu un succès avec l'utilisation de cela? P> Mon alternative est de créer un fichier temporaire et un nettoyage - mais cela signifie avoir à écrire sur le disque, et cette fonction sera utilisée dans le cadre d'un grand processus de lot et je souhaite éviter les opérations de disque lent (Old Server) dans la mesure du possible. Ceci n'est qu'un fichier court mais a des informations différentes pour chaque personne les courriels de script. P> p>
3 Réponses :
C'est juste rendements "bugabuga". P> p> php: // mémoire code>. Par exemple,
N'oubliez pas que rembobinage ($ h); code> et
fsek ($ h, 0); code> est le même!
En regardant rapidement http://php.net/manual/fr/wrappers. php.php et le code source, je ne vois pas le support pour le "/". MD5 (Microtime ()); " Bit.
code d'échantillon: p> sortie: p>
Hmm ... Ouais, j'ai essayé cela aussi - un problème que j'avais, c'est que je n'ai pas reçu le contenu attaché. Cela pourrait être parce que phpmailer utilise la mauvaise méthode pour cette chose ... Je viens de comprendre qu'il existe déjà une méthode de AddstringATCHEMMENT déjà dans PHPMailer (résout un problème immédiat) - mais c'est agréable d'apprendre le PHP: // Wrapper de mémoire
$ chemin = 'php: // mémoire /'. MD5 (Microtime ()); pause tout, vous devez utiliser $ chemin = 'php: // mémoire';
Ses échoue parce que vous fermez le descripteur de fichier, comme écrit dans Manuel! ** PHP: // Mémoire et PHP: // TEMP ne sont pas réutilisables, c'est-à-dire que, après la fermeture des flux, il n'y a aucun moyen de les renvoyer à nouveau. ** Utilisez rembobiner ($ fichier); code> insectes
fcFose ($ fichier); code>!!
Le problème ici simplement est le type et la syntaxe forte> < / a>: En bref, le type que vous souhaitez est Le
php: // mémoire code> et
php: // temp code> sont lecture en lecture-écriture forte> qui permettent des données temporaires à stocker
php: // mémoire code> stockera toujours ses données en mémoire, tandis que
php: // temp code> utilisera un fichier temporaire une fois le montant de la quantité de Les données stockées hits une limite prédéfinie (la valeur par défaut est de 2 Mo). L'emplacement de ce fichier temporaire est déterminé de la même manière que la fonction
sys_get_temp_dir () code>. P>
blockQquote>
TEMP code> et la syntaxe souhaitée est la suivante: p>
$ limite code> est en octets. Vous souhaitez compter qu'utiliser Fonctions d'octet sécurisées . P> P> P >
Donc, si j'utilise quelque chose comme Fopen ('PHP: // température / maxmemorie: 1048576', 'W'), quel sera mon "filepath" alors? L'ensemble "PHP: // TEMP / MAXMEMORIE: 1048576 '"? J'ai besoin de ce filepath à utiliser dans d'autres fonctions. Merci
@Andrew check sys_get_temp_dir () code> ... ou même mieux: ouvrir une nouvelle question, référencez cette question et y répondre.
Je suis waaay à la fin de cela, mais les tampons de mémoire ne seraient-ils pas supprimés sur FLOSE ()?