Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从所有txt文件中生成第1行的数组_Php_Arrays - Fatal编程技术网

Php 从所有txt文件中生成第1行的数组

Php 从所有txt文件中生成第1行的数组,php,arrays,Php,Arrays,我有一个包含.txt文件的文件夹,其中包含有关歌曲的信息。这些文件和行位于由以下代码生成的数组中: $lyrics = glob('covers_info/*.txt'); foreach ($lyrics as $i => $file) { $contents = file($file); echo "<td class='notwrap bars' align='right' style='background-size:" . $time_seconds/10 . "px 10

我有一个包含.txt文件的文件夹,其中包含有关歌曲的信息。这些文件和行位于由以下代码生成的数组中:

$lyrics = glob('covers_info/*.txt');
foreach ($lyrics as $i => $file) {
$contents = file($file);
echo "<td class='notwrap bars' align='right' style='background-size:" . $time_seconds/10 . "px 100%;'>" . trim($contents[1]) . "</td>";
output more stuff here
}
$str_time = trim($contents[1]);
sscanf($str_time, "%d:%d:%d", $hours, $minutes, $seconds);
$time_seconds = isset($seconds) ? $hours * 3600 + $minutes * 60 + $seconds : $hours * 60 + $minutes;
很好

我试着用它来获得总的比赛时间

我认为数组_sum()是一种方法,但我不知道如何使用

第页:

来源:.

$lyris=glob('covers_info/*.txt');
$count=0;
foreach($i=>$file){
$count+=$time\u秒;
$contents=文件($file);
echo“.trim($contents[1])”;
//在这里输出更多的东西
}
echo“总歌曲时间:.$time\u seconds;//格式如你所愿

您可以使用变量本身计算时间,无需在此处使用数组

$lyris=glob('covers_info/*.txt');
$total_sec=0;
foreach($i=>$file){
$contents=文件($file);
$str_time=trim($contents[1]);
sscanf($str_time,“%d:%d:%d”,$hours,$minutes,$seconds);
$time_seconds=isset($seconds)$hours*3600+$minutes*60+$seconds:$hours*60+$minutes;
$total_secs+=$time_seconds;
echo“.trim($contents[1])”;
在这里输出更多的东西
}

您可以使用$total\u sec变量检索总时间。

我还需要将回波格式设置为hh:mm:ss格式。我发现的所有示例都不起作用。

为什么不创建一个“totalTime”变量,将其初始化为零,然后在每次循环时添加时间?谢谢。我试图实现这一点,但只得到232,这是最后一首歌(03:52)的长度。谢谢。这个是3762秒(01:02:42)。我很肯定那是对的。令人惊叹的。非常感谢!找到解决方案:
总播放时间:。
$lyrics = glob('covers_info/*.txt');
$count = 0;
foreach ($lyrics as $i => $file) {
    $count += $time_seconds;
    $contents = file($file);
    echo "<td class='notwrap bars' align='right' style='background-size:" . $time_seconds/10 . "px 100%;'>" . trim($contents[1]) . "</td>";
    // output more stuff here
}
echo "Total song time: ".$time_seconds; // Format as you wish
$lyrics = glob('covers_info/*.txt');
$total_sec = 0;
foreach ($lyrics as $i => $file) {
$contents = file($file);
$str_time = trim($contents[1]);
sscanf($str_time, "%d:%d:%d", $hours, $minutes, $seconds);
$time_seconds = isset($seconds) ? $hours * 3600 + $minutes * 60 + $seconds : $hours * 60 + $minutes;
$total_sec += $time_seconds;
echo "<td class='notwrap bars' align='right' style='background-size:" . $time_seconds/10 . "px 100%;'>" . trim($contents[1]) . "</td>";
output more stuff here
}