PHPExcelを使用して、CSVファイルを解析してデータベースとサーバーに保存する前にCSVファイルを検証しています。私は、ファイルが変更されているかどうか、または元のファイルであるかどうかを判断するために、ファイルのプロパティを使用しようとしています。私は.xls、.xlsxのために次のものを使用しました。PHPExcelを使用して編集したCSVファイルを検出します
$file = $_FILES['file']['tmp_name'];
$reader = new PHPExcel_Reader_CSV();
if($reader->canRead($file)){
$object = $reader->load($file);
$created = $object->getProperties()->getCreated();
$modified = $object->getProperties()->getModified();
if(!$created===$modified){
//File has been edited and cannot be used
}else{
//File is good, continue processing
}
}
しかし、CSVファイルを使用している場合、NOTHINGは期待どおりに動作しています。私はMS-Word文書を.csvに改名 - >合格、csv->合格、さらには.jpg->合格を使用して編集。私は行方不明ですか?どんな助けでも大歓迎です!編集 - >ファイルを編集して文書のプロパティ内の変更を確認したにもかかわらず、$created
と$modifed
は完全に一致することに注意してください。var_dump($object)
if文でタイプミスがあったと思います。それを '' $ created!== $ modified''と置き換えてみてください。 – Rulisp
他のファイルタイプ(変数の完全一致を示す)を使ってメソッドを呼び出すときの形式は正しいです。 var_dump($ object)が呼び出されると、実際には 'created'と 'modified'の値が完全に一致します。私は元の投稿でそれを指定しておくべきだった。ただし、テストする前にファイルを変更しているときであってはなりません。 Windowsで観測されたファイルのプロパティは、異なる日付を正しく表示します。 –