Hi,
im creating a app which will read files/directories and output it in json key/value pair. the folder or the files will named be in english or in any other language , but the problem is i see "?????" for files/dirs named in other languages im also sending utf8 headers:
here is the code:
Rpc.php :
PHP Code:
<?php
require('config.php');
require('dir.php');
$dir = new dir();
header('Content-type:text/javascript; charset=utf-8');
$action = clean($_GET['act']);
if($action == 'speakers'){
$results = "[ ";
$data = $dir->get_speakers();
for ($i=0;$i<count($data);$i++){
$results .= '["'.$data[$i]['speaker'].'" , "'.$data[$i]['path'].'"],';
}
$results = substr($results , 0 , -1);
$results .= ']';
echo $results;
}
elseif($action = "categories" && $_GET['speaker'] != ''){
$speaker = clean($_GET['speaker']);
$results = "[ ";
$data = $dir->get_categories($speaker);
for ($i=0;$i<count($data);$i++){
$results .= '["'.$data[$i]['category'].'" , "'.$data[$i]['path'].'"],';
}
$results = substr($results , 0 , -1);
$results .= ']';
echo $results;
}
elseif($action = "speeches" && $_GET['cat'] != ''){
$cat = clean($_GET['cat']);
$results = "[ ";
$data = $dir->get_files($cat);
for($i=0;$i< count($data);$i++){
$results .= '["'.$data[$i]['title'].'" , "'.$data[$i]['path'].'"],';
}
$results = substr($results , 0 , -1);
$results .= ']';
echo $results;
}
?>
and dir.php
PHP Code:
<?php
class dir{
function get_speakers()
{
$dh = opendir('./data');
while (false !== ($filename = readdir($dh))) {
if ($filename != '..' && $filename != '.' && is_dir('data/'.$filename)) {
$files[] = array('speaker' => $filename , 'path' => $filename);
}
}
return $files;
}
function get_categories($speaker)
{
$dh = opendir('./data/'.$speaker);
while (false !== ($filename = readdir($dh))) {
if ($filename != '..' && $filename != '.' && is_dir('./data/'.$speaker.'/'.$filename)) {
$files[] = array('category' => $filename , 'path' => $speaker.'/'.$filename);
}
}
return $files;
}
function get_files($category){
$dh = opendir('./data/'.$category);
$ext = array('rm' , 'mp3' , 'mp4' , 'wma' , 'ram' , 'wav');
while (false !== ($filename = readdir($dh))) {
$extension = substr($filename , -3);
if ($filename != '..' && $filename != '.' && is_file('./data/'.$category.'/'.$filename) && in_array($extension , $ext)) {
$files[] = array('title' => substr($filename , 0,-4) , 'path' => $category.'/'.$filename);
}
}
return $files;
}
}
?>
Bookmarks