PHP использует переданное значение для открытия каталога, не работает
Это мой код
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Gallery</title>
<script src="js/jquery-1.7.2.min.js"></script>
<script src="js/lightbox.js"></script>
<link href="css/lightbox.css" rel="stylesheet" />
</head>
<body>
<?php
$value=$_GET["value"];
$handle = opendir("content/$value/gallery/");
while($file = readdir($handle))
{
if($file !== '.' && $file !== '..')
{
do_something;
}
}
?>
</body>
</html>
Передав значение "Καθολική", выдает предупреждение: opendir(content/Καθολική/gallery/): не удалось открыть dir: такого файла или каталога нет. Но если я сделаю это:
$handle = opendir("content/Καθολική/gallery/");
это работает отлично.
Что-то связанное с кодировкой символов? Как я могу решить это? Спасибо.
2 ответа
Попробуй вот так
static public function read($dir, $ignore = array())
{
$files = scandir($dir);
$dir_contents = array();
foreach ($files as $file)
{
$pos = strpos($file, 'import');
if ($file == '.' OR $file == '..' OR $pos !== false)
{
continue;
}
// Ignore files specified
if ( ! in_array($file, $ignore))
{
$dir_contents[] = $file;
}
}
return $dir_contents;
}
Кодировка Καθολική не поддерживается кодировкой UTF-8. Попробуйте удалить мета-кодировку UTF-8 и попробуйте вот так.
<html>
<head>
<title>Gallery</title>
<script src="js/jquery-1.7.2.min.js"></script>
<script src="js/lightbox.js"></script>
<link href="css/lightbox.css" rel="stylesheet" />
</head>
<body>
<?php
$value=$_GET["value"];
$handle = opendir("content/$value/gallery/");
while($file = readdir($handle))
{
if($file !== '.' && $file !== '..')
{
do_something;
}
}
?>
</body>
</html>