Auteur: anne.guilde@free.fr Date: À: guilde Sujet: Re: php et erreur : PHP Warning: Cannot modify header information -
headers already sent by...
Le 18/01/2020 à 17:08, Edgar Bonet a écrit : > Bonsoir !
>
> Anne a écrit :
>> Je veux utiliser dans mon php
>> header("Content-type: text/plain");
>> header('Content-Disposition: attachment; filename="'.$filename_vcf.'"');
>
> Je t'avais envoyé jeudi, en message privé, un patch pour faire
> exactement ça (sauf que c'est "text/vcard"). Dans ce patch, j'encadre à
> l'intérieur d'une fonction l'envoi du début de la page HTML :
>
> -- 8< ------------------------------------------------------------------
> diff --git a/index.php b/index.php
> index 24d474b..8062a43 100644
> --- a/index.php
> +++ b/index.php
> @@ -18,6 +18,9 @@
> */
>
> error_reporting(E_ALL & ~E_NOTICE); // report all errors except notices
> +
> +function print_html_header()
> +{
> echo '
> <!DOCTYPE html>
> <html lang="en">
>
> @@ -35,6 +38,7 @@
> <div class="boxShadows" id="headline">
> <h1>csv2vcf: convert *.csv to *.vcf</h1>
> ';
> +}
> /* === examples for different vCard Versions according to Wikpedia ===
> vCard 2.1
>
> [...]
> -- 8< ------------------------------------------------------------------
>
> Le but est de *ne pas* envoyer ce HTML quand ce que tu veux est envoyer
> un vCard en pièce jointe.
>
>> Le début du fichier php
>>
>> <!DOCTYPE html>
>> <html lang="en">
>> <head>
>> [...]
>
> Ceci, comme tout ce qui n'est pas entre "<?php" et "?>", est envoyé
> textuellement par l'interpréteur PHP au client. Comme expliqué dans la
> page que tu as lu, à partir du moment où tu envoies du contenu au
> client, l'interpréteur envoie des en-têtes, si ce n'est déjà fait.
>
> Solution : regarde comment c'est fait dans le patch que je t'ai envoyé.
>
con cette nana, je vous le jure.
Je n'avais pas vu la pièce jointe.
J'avais déjà remplacé les fwrite par des print
C'était en clair dans le corps du mail!