当前位置: 代码迷 >> PHP >> php的文件读取跟写入似乎对未知格式的文件不管用
  详细解决方案

php的文件读取跟写入似乎对未知格式的文件不管用

热度:78   发布时间:2016-04-28 17:55:47.0
php的文件读取和写入似乎对未知格式的文件不管用

<?php
$file="宋1.mp3.part1";
$file1="宋2.mp3.part1";
$file2="宋3.mp3.part1";
$fp = fopen($file, "a");
$fp1 = fopen($file1, "r");
$fp2 = fopen($file2, "r");
// if(!$fp1) echo "aa";
// return;
//fseek(fp, 0, SEEK_END);
$index=0;
 while(!feof($fp1)){//测试文件指针是否到了文件结束的位置 
        $content=fread($fp1,10); 
        if(fwrite($fp,$content)==false)
echo "不能写入到文件 $filename"; 
$index++;
echo $index;
    } 
$index=0;
while(!feof($fp2)){//测试文件指针是否到了文件结束的位置 
        $content=fread($fp2,10); 
        fwrite($fp,$content); 
$index++;
echo $index;
    } 
    fclose($fp);  
    fclose($fp1); 
    fclose($fp2); 
rename ($file, "a.mp3"); 
echo "ok";
?>

我想合并分割的文件,可是一直提示写入不能写入到文件,把文件名改为txt格式的就可以成功
------解决思路----------------------
中文问题吧

$str="宋1.txt";
$str=iconv("utf-8", "GBK", $str);//注释掉就会失败
$fp = fopen($str, "a");
if(fwrite($fp,"losasds")!==false) echo "ok";
else echo "fail";
fclose($fp);

------解决思路----------------------
二进制文件要用二进制方式打开,即模式中要有 b
  相关解决方案