[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Запись в MySQL по содержимому директории
hausedark
Здравствуйте, подскажите как можно сделать что то подобное, есть на сервере папка с файлами в ней картинки 1.jpg 2.jpg и т.д. и есть таблица MySQL в 1 столбце записаны ID 1 2 и т.д. другой пустой, как можно в пустом столбце сделать записи типа /picture/1.jpg /picture/2.jpg сверяя их из папки к примеру если 2.jpg там нету то поле так и останется пустым.
Bolik
Сначала scandir по нужной папке, потом делаешь выборку из таблицы, а потом проверяешь есть ли в таблице нужный id.

If(in_array())
update...
hausedark
К сожалению я новичок в этом деле, такие короткие ответы пугают)))

Вот к примеру получаем массив с так называемыми ID из папки с изображениями

<?php
$dir = '/var/www/admin/data/www/pic';
$f = scandir($dir);
$r = str_replace(".jpg", "", $f);

print_r($r);
?>


а как это все сопоставить с БД и внести путь в новой колонке
kaww
Bolik, Можно не проверять есть ли в таблице id а сразу делать update ... where.
Цитата (hausedark @ 18.08.2016 - 06:38)
а как это все сопоставить с БД и внести путь в новой колонке

$dir = '/var/www/admin/data/www/pic';
$ids = array_map(function($filename) {
return substr($filename, 0, strpos($filename, '.'));
}, array_slice(scandir($dir), 2));
$sql = "UPDATE my_table SET path=CONCAT('/picture/', id, '.jpg') WHERE id in('" . implode("','", $ids) . ")";
echo $sql;
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.