Maison >base de données >tutoriel mysql >Pourquoi ne puis-je pas utiliser LOAD DATA LOCAL INFILE en PHP ?

Pourquoi ne puis-je pas utiliser LOAD DATA LOCAL INFILE en PHP ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-04 02:31:02370parcourir

Why Can't I Use LOAD DATA LOCAL INFILE in PHP?

Restriction LOAD DATA LOCAL INFILE en PHP

Le chargement de données à partir d'un fichier local à l'aide de LOAD DATA LOCAL INFILE peut être une fonctionnalité pratique pour importer des données . Cependant, dans certains cas, les utilisateurs peuvent rencontrer un problème lorsqu'ils tentent de l'exécuter via PHP.

Restrictions PHP avec LOAD DATA LOCAL INFILE

PHP restreint l'utilisation de LOAD DATA LOCAL INFILE en raison de problèmes de sécurité. L'opération de lecture de fichier local est considérée comme une vulnérabilité de sécurité potentielle, c'est pourquoi PHP interdit son exécution. Par défaut, les applications PHP ne disposent pas des privilèges nécessaires pour accéder aux fichiers locaux.

Résoudre le problème

Pour résoudre ce problème, les utilisateurs doivent activer les autorisations de lecture des fichiers locaux. pour PHP. Ceci peut être réalisé en définissant l'attribut PDO::MYSQL_ATTR_LOCAL_INFILE sur true lors de l'instanciation de l'objet PDO.

Exemple de code

L'extrait de code suivant montre comment définir le PDO ::Attribut MYSQL_ATTR_LOCAL_INFILE :

<code class="php">$conn = new PDO("mysql:host=$server;dbname=$database;", "$user", "$password", array(
    PDO::MYSQL_ATTR_LOCAL_INFILE => true,
));</code>

Une fois cet attribut activé, l'opération LOAD DATA LOCAL INFILE devrait s'exécuter avec succès à partir des applications PHP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn