1
你好,所以我不知道PHP的任何知识,我发现了一个代码,可以创建一个json播放列表,通过扫描文件的目录并创建适当的格式,我想知道是否有人能够正确地将目录/视频插入代码中。影片是包含了MP4文件,并在根目录正确编码PHP从视频目录中扫描并创建JSON
原代码,我发现这里http://zurb.com/forrst/posts/Generate_a_JSON_list_based_on_files_in_a_directo-GDc
所有我想要的是下面的代码扫描视频目录的文件夹。
谢谢!
#!/usr/bin/php
<?php
/*
* @param Array $types
* @abstract Array of allowed file types
*/
$types = Array ('jpeg', 'jpg', 'txt', 'pdf', 'js', 'mp4', 'mp3', 'ogg');
if (!isset($argv[1]))
exit("Must specify a directory to scan\n");
if (!is_dir($argv[1]))
exit($argv[1]."' is not a directory\n");
/*
* @name getList
* @param Array $dir
* @param Array $types
* @abstract Recursively iterates over specified directory
* populating array based on array of file extensions
* @return Array $files
*/
function getList($dir, $types)
{
$it = new RecursiveDirectoryIterator($dir);
foreach(new RecursiveIteratorIterator($it) as $file)
{
if (in_array(strtolower(array_pop(explode('.', $file))), $types))
$files[] = $file->__toString();
}
return $files;
}
/*
* @name getDetails
* @param Array $dir
* @param Array $types
* @abstract Recursively iterates over specified directory
* populating array with details of each file
* @return Array $files
*/
function getDetails($types, $array)
{
foreach($types as $type)
{
foreach($array as $file)
{
if (strcasecmp($type, array_pop(explode('.', $file))) == 0) {
$files[$type][basename($file)];
$files[$type][basename($file)]['source'] = $file;
$files[$type][basename($file)]['size'] = filesize($file);
}
}
}
return array('files'=>$files);
}
if (!function_exists('json_encode')) {
/*
* @name json_encode
* @param Mixed $val
* @abstract Alternate emulated json_encode function
* @return Object $res
*/
function json_encode($val)
{
if (is_string($val)) return '"'.addslashes($val).'"';
if (is_numeric($val)) return $val;
if ($val === null) return 'null';
if ($val === true) return 'true';
if ($val === false) return 'false';
$assoc = false;
$i = 0;
foreach ($val as $k=>$v){
if ($k !== $i++){
$assoc = true;
break;
}
}
$res = array();
foreach ($val as $k=>$v){
$v = json_encode($v);
if ($assoc){
$k = '"'.addslashes($k).'"';
$v = $k.':'.$v;
}
$res[] = $v;
}
$res = implode(',', $res);
return ($assoc)? '{'.$res.'}' : '['.$res.']';
}
}
/* Run application */
exit(json_encode(getDetails($types, getList($argv[1], $types))));
代替'$的argv [1]',写你的目录,如' “/视频”' – Hackerman