2015-04-07 4 views
0

Я пытаюсь получить доступ к папке вверх.Не удается получить доступ к папке с PHP DirectoryIterator

веб-сайте папки: вы также можете увидеть картину главной папки здесь: http://i58.tinypic.com/15odxl1.png

| 
| - layout/(contains mainpic.php) 
| - style/(contains css styles) 
| - wallpapers/ (more folders here - sports, abstract, cartoon etc) 
| - index.php 

В файле «mainpic.php» Я написал это, чтобы получить доступ к «Спорт» папку в вверх папка "обои".

Мой код:

<?php 
$firstPath="../wallpapers/Sports"; 
$file=new DirectoryIterator($firstPath); 

echo "<ul>"; 

recurseImage($file); 

function recurseImage($path) 
{ 
    $dir=new DirectoryIterator($path); 
while ($dir->valid()) 
    { 
    $file=$dir->current(); 
    echo "<li> <img src='".$file->getFilename().".jpg'></img>"; 
$dir->next(); 
} 


echo "</ul>"; 
} 
?> 

Но когда я исполняю файл, он показывает мне ошибку PHP, который говорит, что «Путь не найден».

я попытался получить доступ к единственной основной папки «обои», как это:

$firstPath="wallpapers"; 

и она работает даже я не ставил перед .. пути!

+0

Почему вы используете DirectoryIterator? зачем? –

+0

Я начинаю .. Теперь я изучаю класс «DirectoryIterator». Есть ли другой вариант? –

+0

Да, есть еще один вариант, который вы можете попробовать, проверьте мой ответ. Надеюсь, это будет полезно для вас. и для вашего обучения тоже ... :) –

ответ

0

Если ваш файл mainpic.php включен в файл выше его папки, вы должны попытаться объявить абсолютный путь. Попробуйте:

$firstPath= __FILE__"../wallpapers/Sports"; 
+0

1. Я думаю, вы хотели использовать '__DIR__' не' __FILE__' 2. Вы пропустили точку конкатенации – Rizier123

+0

Спасибо, но это показывает мне синтаксическую ошибку. –

+0

Да, лучше попробуйте : '$ firstPath = dirname (__ FILE__). «/../ wallpapers/Sports»; ' –

-1

«Я пытался получить доступ к только основную папку„обои“, как это: $ firstPath =» обои «и это работает, даже я не поставил!» ..»перед пути! "

Это означает, что ваши «обои» и ваш сценарий находятся в одной папке. попробуйте

$firstPath="./wallpapers/Sports"; 
+0

Я знаю, и это странно, потому что они НЕ. –

0

Поскольку файл включает в указателе или же, попробуйте: $firstPath="wallpapers/Sports";

+0

Он показывает мне файлы основной папки. Мне нужна папка «Спорт» внутри папки «Обои». –

0

DirectoryIterator это сам класс предоставляет простой интерфейс для просмотра содержимого файловой системы каталогов.

Предлагаю вам попробовать список каталогов h5a1. Вы можете получить его в here. Это просто, с моей точки зрения, это хороший вариант для обмена файлами. Поскольку вы используете встроенный сервер Apache, нет необходимости устанавливать больше вещей (без накладных расходов) или даже иметь дополнительных демонов, работающих только для работы с файлами. Вы просто воспользуетесь тем, что у вас уже есть, и улучшите его. У него много бесплатная функциональность

Вы можете проверить демо-версию в here.

Надеюсь, вы заинтересованы в использовании этого .. :)

Смежные вопросы