0

画像を含むディレクトリがあり、joomla データベースのテーブルの特定の列をチェックして、ディレクトリに存在するがデータベースには存在しないファイルを確認し、それらを削除する必要があります。

私が今まで試したことはまったく機能しませんでした

私のコードはこれです

$dir = 'directory/of/files';
$files1 = scandir($dir);

$db =& JFactory::getDBO();
$query = "SELECT image FROM #__tablename WHERE something LIKE 'something else'";
$db->setQuery($query);
$result =  $db->loadResultArray();

foreach ( $files1 as $file ) {

if (stripos($result, $file) === false) {echo 'file '.$file.' does not exist in      database '; unlink($dir.$file);}
else {echo 'file '.$file.' exists in db ';}

}

何か案は?

前もって感謝します

4

2 に答える 2

0

これは、私が最終的に書き、必要なことを行うことができたコードです

$preImagePath = 'some/path/';
$fullImagePath = $params->get('extra1');//more of the path

$value = $params->get('extra3');

$initfile = scandir($preImagePath.$fullImagePath);
$files1 = array_diff($initfile, array('.', '..'));

$db =& JFactory::getDBO();
$query = "SELECT image FROM #__table WHERE column LIKE '".$value."'";
$db->setQuery($query);
$results =  $db->loadObjectList();

foreach ( $results as $result ) {
$imagearray .= $result->image.' ';
}

foreach ( $files1 as $file ) {
if (strpos($imagearray, $fullImagePath.$file) === false) {             unlink($preImagePath.$fullImagePath.$file); }
}
于 2013-11-18T08:21:05.860 に答える