У меня небольшая проблема с кодом PHP. Я пытаюсь проанализировать онлайн-папку ZIP и вставить данные в базу данных MySQL. При разборе папки и получении информации о различных отдельных файлах PHP FOR l oop, кажется, работает правильно при отображении данных. Однако при вставке данных в мою базу данных вся информация вставляется два раза.
Точнее, в папке 5109 файлов (отраженных с помощью $ zip-> numFiles), но в общей сложности 10218 (двойные) строки заносятся в таблицу MySql.
Пожалуйста найти ниже код.
<?php
include('bdd-connexion.php');
$file = 'http://folder.zip';
$file = trim($file);
$newfile = 'folder.zip';
if (!copy($file, $newfile)) {
echo "failed to copy $file...\n";
}
$zip = new ZipArchive();
if ($zip->open($newfile)!==TRUE) {
exit("cannot open <$filename>\n");
} else {
echo "number of files => ".$zip->numFiles."<br>";
for ($i=1; $i <= $zip->numFiles ; $i++) {
echo $i."<br>"; // this echo is working properly
$sql = $bdd->prepare("INSERT INTO database(uid) VALUES (:uid)");
$sql->execute(array('uid' => 'test'));
}
?>
Большое спасибо.
Хорошего дня.