Rumah > Artikel > pangkalan data > Mengapa Saya Tidak Boleh Menggunakan LOAD DATA LOCAL INFILE dalam PHP?
MEMUAT DATA INFILE TEMPATAN Sekatan dalam PHP
Memuatkan data daripada fail tempatan menggunakan LOAD DATA LOCAL INFILE boleh menjadi ciri yang mudah untuk mengimport data . Walau bagaimanapun, dalam kes tertentu, pengguna mungkin menghadapi masalah apabila cuba melaksanakannya melalui PHP.
Sekatan PHP dengan LOAD DATA LOCAL INFILE
PHP mengehadkan penggunaan LOAD DATA LOCAL INFILE kerana kebimbangan keselamatan. Operasi membaca fail tempatan dianggap sebagai potensi kelemahan keselamatan, itulah sebabnya PHP melarang pelaksanaannya. Secara lalai, aplikasi PHP tidak mempunyai keistimewaan yang diperlukan untuk mengakses fail setempat.
Menyelesaikan Masalah
Untuk mengatasi isu ini, pengguna perlu mendayakan kebenaran membaca fail setempat untuk PHP. Ini boleh dicapai dengan menetapkan atribut PDO::MYSQL_ATTR_LOCAL_INFILE kepada benar apabila membuat seketika objek PDO.
Contoh Kod
Coretan kod berikut menunjukkan cara untuk menetapkan PDO ::MYSQL_ATTR_LOCAL_INFILE atribut:
<code class="php">$conn = new PDO("mysql:host=$server;dbname=$database;", "$user", "$password", array( PDO::MYSQL_ATTR_LOCAL_INFILE => true, ));</code>
Setelah atribut ini didayakan, operasi LOAD DATA LOCAL INFILE harus dilaksanakan dengan jayanya daripada aplikasi PHP.
Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Menggunakan LOAD DATA LOCAL INFILE dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!