Eléphanteau du PHP |
39 Messages
17 févr. 2016, 09:36
Bonjour Arthur
Quand je lance le fichier avec Microsoft j'obtiens le code d'erreur qui suit
Warning: file_get_contents(annexe_de_l'histoire_de_france.htm): failed to open stream: No such file or directory in c:\program files\easyphp1-7\www\siteweb\modif_fichiers.php on line 10
annexe_de_l'histoire_de_france.htm : [ERREUR] Balise non trouvee OU Code deja injecte
Quand je lance le fichier avec google j'obtiens le code d'erreur qui suit
Parse error: parse error, unexpected T_STRING in c:\program files\easyphp1-7\www\siteweb\modif_fichiers_google.php on line 6
La ligne 6 c'est juste là que le changement de translate se fait entre microsoft et google, j'ai peut-être fait une erreur en changeant le script, je le met à la suite
<?php
// On initialise la variable $filename avec le nom d'un fichier HTML à modifier (si il est dans un répertoire, il faut indiquer le répertoire avant repertoire/fichier_a_modif.html)
$filename = "annexe_de_l'histoire_de_france.htm";
// On copie colle ici le code à injecter dans chaque page
$code_traduction="<div id="google_translate_element"></div><script type="text/javascript">
function googleTranslateElementInit() {
new google.translate.TranslateElement({pageLanguage: 'fr', includedLanguages: 'ar,da,de,el,en,eo,es,fi,ga,hi,hr,hu,it,iw,ja,km,nl,no,pl,pt,ru,sv,zh-CN,zh-TW'}, 'google_translate_element');
}
</script><script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
// On récupère le contenu du fichier et on le stocke dans une variable
$contenu_du_fichier = file_get_contents($filename);
// On injecte le code du widget de traduction
$contenu_du_fichier_modifie = $contenu_du_fichier;
// On vérifie si on trouve la balise <body...>, et si le fichier n'a pas deja ete modifie
if (preg_match("`(<body[^>]*>)`i", $contenu_du_fichier) && !preg_match("`<!-- Debut code traduction -->`i", $contenu_du_fichier)) {
// On a trouvé la balise <body> => on injecte juste après le code pour la traduction
$contenu_du_fichier_modifie = preg_replace("`(<body[^>]*>)`i", "$1\r\n<!-- Debut code traduction -->\r\n".$code_traduction."\r\n<!-- Fin du code traduction -->\r\n", $contenu_du_fichier);
// Et enfin on enregistre le résultat dans le fichier intial
if (file_put_contents($filename, $contenu_du_fichier_modifie)) {
echo $filename." mis a jour avec succes !<br />";
}else{
echo $filename." : [ERREUR] Probleme d'ecriture du fichier<br />";
}
}else{
// La balise <body...> n'a pas ete trouvee => on affiche un message d'erreur
echo $filename." : [ERREUR] Balise <body...> non trouvee OU Code deja injecte<br />";
}