PHP中的.xlsx文件上载问题

PHP中的.xlsx文件上载问题,php,file-upload,xlsx,Php,File Upload,Xlsx,在我的PHP脚本中,我正在将文件上载到服务器上的临时位置以供以后使用,该脚本支持(.txt、.csv、.xls、.xlsx)这些格式 脚本对于所有扩展都正常工作,除了.xlsx。 .xlsx文件的数据与服务器上的垃圾数据一起上传 $ext=fileExtension(basename($_FILES['bulkfile']['name'])); $uniqueidread=uniqid(); $dbfileread=$docroot.'/filedepot/'.$uniqueidread.".

在我的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†É—`

我相信Excel的
.xlsx
是以二进制格式保存的,而不是文本格式
.xls
可以以纯文本和二进制格式保存。如果我记得的话,
PK
是PKZip(WinZip),一个压缩文件。你如何判断数据是否是垃圾?是否在Excel中打开它,检查哈希?只是数据本身不必是垃圾。@Fred那么我如何才能以文本格式保存xlsx文件,使其可读?你是对的@BartFriederichs,我已经检查了客户端的数据它不是垃圾。但我认为在服务器上它是以其他格式保存的,所以脚本没有正确地读取它。您不想“读取”这样的二进制(压缩)数据。这没有意义,就像读取jpeg图像文件的代码一样。尝试下载文件并使用zip存档工具打开它。如果这是可行的,那么你会在那里找到单独的文件,你可以阅读。