recherche de fichier
Posté : 15 avr. 2015, 09:54
Bonjour, j'ai un petit soucis j'ai créé un script qui recherche des images dans un dossier et qui les deplaces si elles sont trouvé. j'ai d'abord recuperer des references d'une base de données (~23k entrées) puis j'ai fait un scandir et un deux foreach pour parcourir les resultats de base et les comparer avec un pregmatch, il y a environs 2k images dans ce dossier j'ai lancé le script depuis hier et je ne suis cas 300 recherche que puis je faire pour optimiser mon code ? Je pensais enlever le foreach du scandir pour faire un array search ou un preg_grep mais pas moyen ;s voici mon code je vous donne uniquement la partie controller
public function startScript() {
$skus = $this->recupDonnee();
foreach ($skus as $val) {
$this->verifImage($val['COL 1']);
}
}
protected function recupDonnee() {
$data = $this->ScriptModel->getSKU();
return $data;
}
protected function verifImage($sku) {
$chemin = "C:\Users\quentin\Desktop\\testimage\\";
$contenu = scandir($chemin);
foreach ($contenu as $val) {
var_dump($val);
$val = '\\' . $val;
if (preg_match("#$sku#", $val)) {
if (copy($chemin . $val, $chemin . "enligne" . $val)) {
echo "bien copié";
if (unlink($chemin . $val)) {
echo "bien effacé";
}
}
}
}
}