[résolu] Tâche Cron et header

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [résolu] Tâche Cron et header

Re: [résolu] Tâche Cron et header

par Castor Gaspard » 01 déc. 2011, 17:17

Moui,

Php est casse-tête pour l'encodage des caractères pour un codeur en herbe, comme moi. :)

On me dit que Php 6 sera plus simple : réalité ou légende ?

Bien à vous,

Gaspard

Re: [résolu] Tâche Cron et header

par Mazarini » 01 déc. 2011, 15:16

Sauf erreur de ma part, c'est dans la configuration du système que l'on définit le codage des caractères. C'est ce codage qui est utilisé par vi ou par les autres éditeurs. Certain éditeur permettent de choisir le codage d'un fichier.
En général je galère pas mal pour mettre en phase ce genre de chose. Une fois cela fixé, il n'y a pas trop à ce poser de question.

Re: [résolu] Tâche Cron et header

par moogli » 01 déc. 2011, 14:08

sinon juste pour info, dans ton cas => [url=http://www.php.net_utf8_encode]utf8_encode[/url] semble être une solution, attention il faut être certain que les caractères ne soient pas en utf8 à la base ;)


@+

Re: Tâche Cron et header

par Castor Gaspard » 01 déc. 2011, 13:03

Bonjour,

Merci, Mazarini. Tu as en effet raison. Sans affichage, l'encodage de scaractères semble sans importance selon mes test.

Aussi mon sujet est résolu.

Encore merci.

Gaspard

Re: Tâche Cron et header

par Mazarini » 01 déc. 2011, 12:35

Bonjour,

La commande header() et juste un envoi d'information à un navigateur. Elle n'a pas d'influence sur l'encodage utilisé par PHP. En fait elle permet d'indiquer au navigateur qu'elle encodage est utilisé par PHP. C'est à priori lié à l'OS ou au fichier PHP.

Si ton script fait uniquement des mises à jour, tu peux faire le retour sous forme texte. Pas la peine de faire le compte-rendu en html.

Pour info, sous Ubuntu il y a 2 "php.ini", un pour apache et un pour la ligne de commande. Cela permet entre autre de ne pas générer les messages d'erreur au format HTML en ligne de commande ou de fixer un temps limite d'exécution différent (d'après ce que j'ai compris...).

Re: Tâche Cron et header

par Castor Gaspard » 01 déc. 2011, 12:06

Bonjour;

Merci pour vos réponses rapides.

En fait, oui, Moogli, je comprends ta remarque... Ma tâche Cron vise à alimenter une table Sqlite après interrogation d'un serveur distant, d'où l'intérêt de l'encodage.

Cordialement,

Gaspard

Re: Tâche Cron et header

par Mazarini » 01 déc. 2011, 12:00

Bonjour,

Il serait peut être plus simple de mette usr/local/bin/php5 -f /home/data/site/file.php dans cron ou de créer un script avec cette commande et de l'utiliser dans cron.

Une alternative est de passer par la commande wget qui fait un appel via apache.

Re: Tâche Cron et header

par moogli » 01 déc. 2011, 11:57

salut,

c'pas possible, parce que pour php a partir du moment où tu utilise un truc en dehors de <?php ?> c'est envoie d'entête.

ceci dit je m'interroge sur l'utilité de la chose : pourquoi gérer l'affichage alors que par essence un truc automatique ne sera pas vue par un humain !

p'tet qu'avec plus d'info on pourrais mieux t'aider.

sinon php -f nomdufichier plutot que de l'indiquer dans le fichier ;)


@+

[résolu] Tâche Cron et header

par Castor Gaspard » 01 déc. 2011, 11:34

Bonjour,

Je souhaiterai exécuter un script Php grâce à une tâche Cron.

Dans mon fichier, j'indique d'abord l’emplacement de l'exécutable. Jusque là, c'est logique... :)

Ensuite, comme on script utilise des caractères spéciaux, je veux fixer le header en utf-8. Là, Php grogne : Cannot modify header information - headers already sent by....

Si je place le header en première ligne, c'est mon serveur qui n'est pas content, car il ne voit pas Php.

Voici les premières lignes de mon fichier :

Code : Tout sélectionner

#!/usr/local/bin/php5 #php -f /home/data/site/file.php <?php header('Content-Type: text/html; charset=utf-8'); ?>
Aussi vos idées seraient-elles les bienvenues ! :mrgreen:

Merci.

Gaspard