Я создаю тему wordpress, и я пытаюсь получить все файлы jpg из каталога в случайном порядке, используя php .... я использую Xampp на win7 (localhost).
Это код:
<?
$dir = get_template_directory_uri().'/images/top/';
$file_display = array ('jpg', 'jpeg');
if(file_exists($dir) == false){
echo 'Directory \'', $dir, '\' not found';
} else {
$dir_contents = scandir($dir);
shuffle($dir_contents);
foreach ($dir_contents as $file) {
$file_type = strtolower(end(explode('.', $file)));
if ($file !== '.' && $file !== '..' && in_array($file_type, $file_display) == true){
echo '<img src="', $dir, '/', $file, '" alt="', $file, '" />';
}
}
}
?>
Я всегда получаю
Directory 'http://localhost/ni/wp-content/themes/A/images/top/' not found
Я тоже пытался изменить
$dir = get_template_directory_uri().'/images/top/';
Чтобы :
$dir = "C:\xampp\htdocs\Ni\wp-content\themes\A\images\top\";
Но все равно не повезло, любая помощь будет оценена по достоинству!
1
Firezilla12
2 Май 2013 в 12:51
1 ответ
Лучший ответ
Вот как я заставил это работать.
<?
$dir = get_template_directory().'/images/top';
$imageDir= get_template_directory_uri().'/images/top';
$file_display = array ('jpg', 'jpeg');
if (file_exists($dir) == false) {
echo 'Directory \'', $dir, '\' not found';
} else {
$dir_contents = scandir($dir);
shuffle($dir_contents);
foreach ($dir_contents as $file) {
$file_type = strtolower(end(explode('.', $file)));
if ($file !== '.' && $file !== '..' && in_array($file_type, $file_display) == true) {
echo '<img src="', $imageDir, '/', $file, '" />';
}
}
}
?>
1
Firezilla12
2 Май 2013 в 13:20
Используя get_template_directory () для получения массива. и get_template_directory_uri () для отображения изображений. спасибо всем за то, что помогли мне добраться до этого ...
– Firezilla12
2 Май 2013 в 13:21
1
Обратите внимание, что в большинстве случаев лучше использовать
– get_stylesheet_directory()
, чем get_template_directory()
, если вы пытаетесь загрузить ресурсы, потому что, если вы используете дочернюю тему, первая вернет каталог дочерней темы, а вторая вернет каталог родительской темы и, таким образом, приведет к тому, что вы пропустите ресурсы дочерней темы.
ebohlman
5 Май 2013 в 10:57
Похожие вопросы
Новые вопросы
php
PHP — это широко используемый язык сценариев общего назначения с открытым исходным кодом, мультипарадигмальный, динамически типизированный и интерпретируемый, изначально разработанный для веб-разработки на стороне сервера. Используйте этот тег для вопросов о программировании на языке PHP.
if
перед тестом(file_exists($dir) == false)
?get_template_directory_uri
наget_template_directory
, потому чтоget_template_directory_uri
дает URI (а вы этого не хотите)file_exists
принимает HTTP (среди нескольких других протоколов), поэтому это не имеет значения, если OP использует PHP5.