Get_magic_quotes_gpc sous PHP8.

Résolu/Fermé
Max747 Messages postés 258 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 11 janvier 2024 - 26 oct. 2021 à 17:22
Max747 Messages postés 258 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 11 janvier 2024 - 27 oct. 2021 à 09:04
Bonjour,
Un message d'erreur apparait comme ci dessous:


Avec ce script:
<?php
/* Fonctions générales */
function multi_lignes($ch)
{
	// Remplace les retours à la ligne d'une chaîne par des <br />.
	return str_replace(array("\n"), '<br />', $ch);
}

function motif($fichier_interface, $motifs, $valeurs)
{
	// Ouvre un fichier du dossier interface et change les motifs passés en arguments par leur valeur.
	$fnom = 'interface/'.$fichier_interface.'.html';
	$f = fopen($fnom, 'rb');
	$html = fread($f, filesize ($fnom));
	$html = str_replace($motifs, $valeurs, $html);
	fclose($f);
	return $html;
}

function encode($ch)
{
	// Cette fonction est appliquée sur les chaînes de caractères qui vont être utilisées avec SimpleXML.
	if (get_magic_quotes_gpc()) $ch = stripslashes($ch);
	return htmlspecialchars($ch, ENT_COMPAT);
}

function det_img($qcm, $num_quest)
{
	// Supprime, si elle existe l'image liée à une question d'un QCM.
	// L'image à supprimer est qcm/$qcm/imgq_$numquest.***

	$dossier_qcm = opendir('qcm/'.$qcm);
	while (( ($fichier = readdir($dossier_qcm)) ) != false)
	{
		if (substr($fichier, 0, strlen('imgq_'.$num_quest)) == 'imgq_'.$num_quest)
		{
			unlink('qcm/'.$qcm.'/'.$fichier);
			break;
		}
	}
	closedir($dossier_qcm);
}

function XMLpropre($xml)
{
	// Retire les retours à la ligne et les espaces d'un document XML afin qu'il soit lu correctement par javascript.
	return preg_replace('/>\n*\s*</', '><', $xml);
}

?>


Je pense avoir trouvé la solution en modifiant la ligne 23 comme ci dessous:
<?php
/* Fonctions générales */
function multi_lignes($ch)
{
	// Remplace les retours à la ligne d'une chaîne par des <br />.
	return str_replace(array("\n"), '<br />', $ch);
}

function motif($fichier_interface, $motifs, $valeurs)
{
	// Ouvre un fichier du dossier interface et change les motifs passés en arguments par leur valeur.
	$fnom = 'interface/'.$fichier_interface.'.html';
	$f = fopen($fnom, 'rb');
	$html = fread($f, filesize ($fnom));
	$html = str_replace($motifs, $valeurs, $html);
	fclose($f);
	return $html;
}

function encode($ch)
{
	// Cette fonction est appliquée sur les chaînes de caractères qui vont être utilisées avec SimpleXML.
	$ch = stripslashes($ch);
	return htmlspecialchars($ch, ENT_COMPAT);
}

function det_img($qcm, $num_quest)
{
	// Supprime, si elle existe l'image liée à une question d'un QCM.
	// L'image à supprimer est qcm/$qcm/imgq_$numquest.***

	$dossier_qcm = opendir('qcm/'.$qcm);
	while (( ($fichier = readdir($dossier_qcm)) ) != false)
	{
		if (substr($fichier, 0, strlen('imgq_'.$num_quest)) == 'imgq_'.$num_quest)
		{
			unlink('qcm/'.$qcm.'/'.$fichier);
			break;
		}
	}
	closedir($dossier_qcm);
}

function XMLpropre($xml)
{
	// Retire les retours à la ligne et les espaces d'un document XML afin qu'il soit lu correctement par javascript.
	return preg_replace('/>\n*\s*</', '><', $xml);
}

?>


Est que cette modification est correcte?
Sinon que faudrait il faire pour qu'elle le soit.
A savoir que je n'ai plus de message d'erreur.

Merci.


Configuration: Windows / Firefox 93.0
A voir également:

2 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
26 oct. 2021 à 19:09
Bonjour,

Vu que les magic_quotes n'existent plus en php8 ... il te suffit de supprimer la ligne 23 de ton code...
0
Max747 Messages postés 258 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 11 janvier 2024
27 oct. 2021 à 09:04
Ok.
Merci.
Problème résolu.
0