2013-12-06 2 views
0

В /portfolio.php (который находится в корневом каталоге сайта) Я хочу показать все изображения из каталога/trabajos/tataviajes.Не удается скопировать скандир() после htaccess rewrite

foreach(scandir('./trabajos/tataviajes/', 1) as $filename){ 
    echo '<img src="'.$filename.'"/>'; 
} 

Функция открыть изображения, как это: /portfolio/123.jpg вместо /trabajos/tataviajes/123.jpg

код Htaccess, что я думаю, что это может помешать это:

RewriteRule ^portfolio/(\w+)/?$ portfolio.php?i=$1 

Был ли я понят? В чем проблема?

Заранее благодарен!

ответ

0

scandir возвращает массив имен файлов не пути к файлам см http://php.net/scandir#refsect1-function.scandir-returnvalues

Вам нужно предварить путь к имени файла. Рассмотрим что-то вроде:

$directory = 'trabajos/tataviajes/'; 
foreach(scandir($directory, 1) as $filename){ 
    echo '<img src="/'.$directory.$filename.'"/>'; 
} 

также, consider using htmlentities так специальные символы в пути не испортить разметку:

echo '<img src="'.htmlentities('/'.$directory.$filename).'"/>'; 
+0

Это сработало! Это имеет смысл, что вы объясняете, большое спасибо. – GuilleDelicia

+0

@GuillermoDelicia проблем нет! также, используйте 'var_dump', чтобы увидеть содержимое переменной var и структуры объекта, например. 'var_dump ($ filename)' или 'var_dump (scandir ('./ trabajos/tataviajes /', 1)), который должен помочь вам диагностировать проблемы в будущем;) – zamnuts