質問: 大きなvideoファイルをサーバ上の特定のディレクトリにアップロードするために、SFTPを使っています。 今自分は、アップロードが完了したファイルを違うディレクトリにコピーするPHPスクリプトを書いています。 そこで質問です。ファイルのアップロードが完了しているかどうか確認するにはどのような方法がいいんでしょうか? ファイルのフルサイズを記録しておき、スクリプトを数秒間とめて、その後ファイルサイズを読み込み、2つの値を比較すればいいのではないかと考えていました。でもこれはその場しのぎな気がします。
回答: 理論的には、PHPでシステムコマンドを使える権限がある場合、pidofコマンドを使えばSFTPサーバプロセスからプロセスIDを取得できるはずです。そのあと、lsofを使って最近のアップロードファイルに対するオープン記述子をチェックしましょう。