Re: php et erreur : PHP Warning: Cannot modify header inform…

Top Page

Reply to this message
Author: anne.guilde@free.fr
Date:  
To: guilde
Subject: 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!

Je regarde tout cela avec la pièce jointe.

Merci
Anne