[RESOLU] Problème d'encodage de texte

Avatar du membre
Mammouth du PHP | 1609 Messages

06 avr. 2023, 13:06

Mon impression pourtant est que la ligne 6 en erreur serait celle ci :
$carry[$tokens[0]] = $tokens[1];
Ce serait donc $tokens[1] qui n'existe pas car $argv contient des chaines n'ayant pas de = à cause de ces apostrophes mal échappées.
Mais bon y aurait peut être plus que 2 warnings dans ce cas...?
Développeur web depuis + de 20 ans

ynx
Mammouth du PHP | 586 Messages

06 avr. 2023, 13:14

Il y a surtout une erreur fatale avec str_replace puisque le paramètre clip2_desc n'est pas transmis correctement au script PHP lors de l'exécution.
PHP Warning: Undefined array key "clip2_desc" in /home/rohan/carnet-numerique/public/src/generate.php on line 22
PHP Fatal error: Uncaught TypeError: str_replace(): Argument #3 ($subject) must be of type array|string, null given in /home/rohan/carnet-numerique/public/src/generate.php:23

Du coup le problème ne viendrait pas du fichier generate.php mais du script qui exécute ce fichier.

Avatar du membre
Mammouth du PHP | 1609 Messages

06 avr. 2023, 13:22

J'avais raté cette erreur mais ça renvoie à ce problème d'apostrophe aussi (les arguments sont "cassés" après clip1_desc='C'est. Mon sentiment était que la ligne de commande était saisie dans le terminal mais peut être qu'en effet c'est un autre script qui génère la commande ?

En tout cas les paramètres de descriptif passeraient mieux comme je le suggérais plus tôt avec une saisie de la forme clip1_desc="C'est la première" tant qu'il n'y a pas de double quote dedans.
Développeur web depuis + de 20 ans

Avatar du membre
Eléphanteau du PHP | 14 Messages

07 avr. 2023, 10:33

J'ai trouver la partie de code qui exécute le script php

Code : Tout sélectionner

function onVideoRequest(socket, d) { dev.log("GENERATING VIDEO WITH DATA : "); let generate = exec(`php ` + process.env.VIDEO_GENERATOR_SCRIPT + ` ${ Object.keys(d).map((key) => `${key}='${d[key]}'`).join(' ') }`, (err, stdout, stderr) => { if (err) { console.log(err); return; } if (stderr) { console.log(stderr); return; } }); generate.on('exit', () => { api.sendEventWithContent("videoGenerated", {}, io, socket); }); }
Développeur Web et Web mobile junior.
HTML, CSS, JAVASCRIPT, REACT, NODE, EXPRESS.

Avatar du membre
Mammouth du PHP | 1609 Messages

07 avr. 2023, 11:10

Je testerais ça (" à la place des '), en évitant d'utiliser le " dans les textes :
${key}="${d[key]}"
Développeur web depuis + de 20 ans

Avatar du membre
Eléphanteau du PHP | 14 Messages

07 avr. 2023, 12:00

Je testerais ça (" à la place des '), en évitant d'utiliser le " dans les textes :
${key}="${d[key]}"
\:D/ \:D/ \:D/ Merci cela fonctionne parfaitement désormais :mrgreen:
Merci énormément à tous pour votre aide =D>
Développeur Web et Web mobile junior.
HTML, CSS, JAVASCRIPT, REACT, NODE, EXPRESS.