PHP для l oop в папке ZIP, вставьте два раза данные в базу данных MySQL - PullRequest
0 голосов
/ 28 апреля 2020

У меня небольшая проблема с кодом 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'));

}

?>

Большое спасибо.

Хорошего дня.

...