ホームページ > バックエンド開発 > PHPチュートリアル > PHP のファイルの読み取りと書き込みは、不明な形式のファイルでは機能しないようです

PHP のファイルの読み取りと書き込みは、不明な形式のファイルでは機能しないようです

WBOY
リリース: 2016-06-23 13:41:16
オリジナル
902 人が閲覧しました

<?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 が必要です

中国語の問題

$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);
ログイン後にコピー
ログイン後にコピー


中国語の問題ではなく、サフィックス .part の問題です。理由はわかりませんが、とにかく削除してください
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート