使用php读取文本文件会导致标记混乱

时间:2013-11-18 17:07:54

标签: php html

我们有一个程序将图像导出为.bmp并创建一个关联的.txt文件。每个文件都是以递增方式生成的,因此第一个文件集名为0.bmp和0.txt,第二个是1.bmp和1.txt等。目前我正在使用以下php代码打开.bmp文件以及.txt文件。

        <?php 
    $dir = "Photos/Marshfield/*";  
    foreach(glob($dir) as $file)    
    {
        $ext = pathinfo($file);         
        switch($ext['extension'])
        {
            case "bmp":             
            echo "<img src=".$file.">";
            break;

            case "txt":
            $currentFile = file_get_contents($file);
            echo $currentFile;
            break;              
        }
    }       
    ?>

问题是.txt文件的内容是随机字符,而不是文件中显示的文本。我想我已经碰到了实际上正在阅读的内容。还有一种更好的方法来有效地匹配图像/文本对,以确保它们正确关联?目前我正在让浏览器处理这个问题,就像创建文件时一样,它们按顺序排序并按原样读取。

1 个答案:

答案 0 :(得分:0)

每个break后您需要case,否则匹配case后的所有代码都将执行。在第二个case之后你也会有拼写错误 - 应该有:。试试:

<?php 
$dir = "Photos/Marshfield/*";  
foreach(glob($dir) as $file)    
{
    $ext = pathinfo($file);         
    switch($ext['extension'])
    {
        case "bmp":             
            echo "<img src=".$file.">";
            break;

        case "txt":
            $currentFile = file_get_contents($file);
            echo $currentFile;  
            break;            
    }
}       
?>

如果能解决您的问题,请发表评论。