2013-06-25 2 views
0

Это мой код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 (содержание/Καθολική/галерея /): не удалось открыть реж : Данный файл или каталог отсутствует. Но если я это сделать:

$handle = opendir("content/Καθολική/gallery/"); 

он работает отлично.

Что-то общего с кодировкой символов? Как я могу это решить? Спасибо.

ответ

0

Кодовая кодировка Καθολική не поддерживается кодировкой 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> 
+0

все еще получаю ту же ошибку. – HadoukenGr

0

попробовать, как этот

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; 
    } 
Смежные вопросы