<?php
$dir = "/assets/images/";
// Открыть заведомо существующий каталог и начать считывать его содержимое
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
print "Файл: $file : тип: " . filetype($dir . $file) . "\n";
}
closedir($dh);
}
}
?>
<?php
foreach (glob("*.jpg") as $filename) {
echo "$filename size " . filesize($filename) . "\n";
}
?>
$dir = '... существующий относительный к [base href] путь ...';
if ( $handle = opendir( $dir ) )
{
while ( $file = readdir($handle) )
{
echo $file . '<br />';
... код, нужный по делу ...
}
closedir( $handle );
}
без деталей и "лишних" проверок вот так:
<?php
$dir = 'assets/images';
if ( $handle = opendir( $dir ) )
{
while ( $file = readdir($handle) )
{
for ($i=0; $i<count($file); $i++)
if ($file[$i] != '.' && $file[$i] != '..') {
echo $file . '<br />';
}
}
closedir( $handle );
}
?>
... Но как оказалось, мне этого недостаточно. Необходимо, чтобы путь к папке менялся, так как планируется выводить множество галерей, которые будут распределены по разным папкам. Я попробовал решить этот вопрос через TV-параметр, но конструкцию типа $dir = ’assets/images/[+id_papki+]’; сниппет воспринимать не хочет.
это же сниппет, он "видит" просто [+id_papki+]
не "не хочет", а "не должен"это же сниппет, он "видит" просто [+id_papki+]
<?php
$tpm = $modx->getTemplateVar('tvname');
$tpm1 = $tpm['value'];
$tpm2 = "assets/images/";
$tpm2 .= $tpm1;
$dir = "$tpm2";
if ( $handle = opendir( $dir ) )
{
while ( $file = readdir($handle) )
{
for ($i=0; $i<count($file); $i++)
if ($file[$i] != '.' && $file[$i] != '..') {
echo '<a href="[~[+id+]~]" title="[+pagetitle+]"><img src="/assets/images/[+tvname+]/'.$file . '" alt="[+longtitle+]" /></a>';
}
}
closedir( $handle );
}
?>
... Подозреваю, что дело не только в этой строке: $tpm1 = $tpm[’value’];
взял ее откуда-то из форумов, предположив, что она будет брать значение переменной, так как opendir наотрез отказывался принимать переменную $dir в чистом виде.
HELP ME!
. функция $modx->getTemplateVar(’имя_TV’) возвращает значение TV для текущего документа и только для него, потому она и бесполезна в Ditto. намёк ясен? функцию для вывода ТV из ссылки на документ (а не на $modx) я давал раньше.