リモートサーバーにファイルが存在するかどうかを確認したい。問題は 2 です。ファイルが非常に大きく、ヘッダーがありません。
3 に答える
サーバーにファイルが存在するかどうかを確認するには、php 組み込み関数file_exists()を使用する必要があります。
ただし、ファイルが2 GBを超える場合、問題が発生する可能性があります。php.net より
PHP の整数型は符号付きであり、多くのプラットフォームでは 32 ビット整数が使用されているため、一部のファイル システム関数は、2GB を超えるファイルに対して予期しない結果を返す場合があります。
大きなファイルをサポートする php をコンパイルしfgets()
てから、ファイルが存在するかどうかを確認するために数バイトだけを取得するために使用できます。それが機能しない場合は、外部アプリケーションを使用できます。shell_exec()
このアプリケーションは 2 つのパラメーターを取得します。1 つはファイルへのパスで、ファイルが存在しない場合は 0、存在する場合は 1 を返します。
ファイルが存在するかどうかをチェックするC ++のプログラムへのリンクは、単に1または0を出力するように変更できます
それがあなたを助けることを願っています。
コードがなければ推測することしかできませんが、とにかく以下のコードが役立つかもしれません。
<?php
$filename='yourfilename';
$exists = file_exists($filename);
if($exists) {//checking the existance of file
$filesize= filesize ( $filename );// file size
if($filesize<$reqSize)//let $reqSize is your conditional size
{
$headers=get_headers($filename);
print_r($headers);// file headers array
}
}
?>
参照
標準のftpリストディレクトリを作成できます。これにより、サーバー上のファイルのリストが得られます。次に、いくつかの標準関数を使用してファイル名を「grep」し、そこにある場合、ファイルはサーバー上にあります-うまくいけばファイルが多すぎないフォルダ