file_get_contents の読み取りパスに中国語のファイル名が含まれています。
$data = file_get_contents($file_names); $file_names が指すパスに中国語のファイル名が含まれている場合、エラーが報告されます。 open stream : そのようなファイルやディレクトリはありません。中国語のファイル名は非常に紛らわしいので、使用しないでください。ファイルの名前を変更できません
-----解決策---------
$file_names = "D :/My Documents/Youku Filesdownload/[LIVE]Wang Feng.-.Spring.flv";
$s = file_get_contents($file_names);
echo strlen($s);//7216760
おっしゃるとおり問題ありません、もちろんファイル名を正しく書く必要があります(言語エンコードも含む)
------解決策----------------------
鍵は $file_names のファイル名にありますエンコーディングはオペレーティング システムの言語エンコーディングと一致している必要があります。
------解決策---------
------解決策---------echo strlen($data );を見てください。コンテンツを取得しましたか?
------解決策---------iconv("utf-8", "gbk " ,file_get_contents('url'));
まずオペレーティング システムのエンコーディングを変更して、ファイルのコンテンツを開いてみますか?主な原因は、中国語のパスではファイルを開けず、コンテンツを取得できないため、置き換えることができないためです。
------解決策------1. ファイル名にスペースが含まれていますか?
2. 次に、ファイル ディレクトリを出力して確認します。
------解決策---------ディレクトリ機能を使用してファイル名が読み取られます。はい、エンコード変換を行う必要はありません
glob関数を使用してみてはいかがでしょうか?
scandir によって読み取られるファイル名にはパスが含まれませんが、glob によって読み取られるファイル名にはパスが含まれます。ファイル名を組み立てる手間が省けます
サフィックスを読み取るには、シンプルで効率的な pathinfo($filename, PATHINFO_EXTENSION) を使用できます
さらに、PHP のバージョン番号もお知らせください以前のバージョンでは、中国語のファイル名が無効になる可能性があります。
にチェックを入れてください