В моем PHP-скрипте я загружаю файл во временное место на сервере для дальнейшего использования, скрипт поддерживает (.txt, .csv, .xls, .xlsx) эти форматы.
Скрипт корректно работает для всех расширений, кроме .xlsx. Данные файла .xlsx загружаются на сервер вместе с данными мусора.
$ext=fileExtension(basename($_FILES['bulkfile']['name']));
$uniqueidread=uniqid();
$dbfileread=$docroot.'/filedepot/'.$uniqueidread.".".$ext;
if(!move_uploaded_file($_FILES['bulkfile']['tmp_name'],$dbfileread)){
$errmsg['form']="Sorry, unable to upload file";
}
Пример загруженных данных файла .xlsx:
PK,khEü‘˖Éódã¤va0ehЛòdÂ<M1üõ€âÌS*
áPm@G“ÿ÷vuÝ•ôìÊ÷¬\ˆÀONÜI45¡!Ñ0_1N“M‰/Ãä7†É—`
В чем тут проблема?
.xlsx
Excel сохраняется в двоичном формате, а не в текстовом формате..xls
можно сохранять как в виде обычного текста, так и в двоичном формате.PK
- это, если я помню, PKZip (WinZip), упакованный файл. - person Funk Forty Niner   schedule 30.05.2013.xls
в обоих форматах. Виноват. - person Funk Forty Niner   schedule 30.05.2013application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
при сохранении загруженных.xlsx
файлов, посмотрите, что это даст. - person Funk Forty Niner   schedule 30.05.2013