我只想上传图片,医生说使用finfo_open。http://www.php.net/manual/en/function.finfo-file.php
我这样做了,但我得到了一个错误:
致命错误:在第83行调用堆栈调用C:\xampp\htdocs\ticket\index.php中的未定义函数C:\xampp\htdocs\ticket\index.php() 时间记忆函数定位1 2.2551 158752 {main}( ) ..\index.php:0
PHP:
if(isset($_FILES['file'])) {
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$ext = finfo_file($finfo, $_FILES['file']['name']); << LINE 84
if(substr($ext, 0, 5) != 'image') {
$errors[] = 'Kon dit bestand type niet uploaden.';
}
}
为什么这不管用?
更新:
通过设置extension=php_fileinfo.dll active,我现在得到了以下内容:
警告: finfo_file(download.jpg):未能打开流:在第84行的C:\xampp\htdocs\ticket\index.php中没有这样的文件或目录 时间记忆函数位置1 2.2531 158448 {main}( ) ..\index.php:0 2 3.2572 180560 finfo_file () ..\index.php:84
发布于 2014-01-19 08:54:18
PHP5.3.0及更高版本内置了Fileinfo,但在Windows上,您必须在php.ini中手动启用它
查看您的php.ini文件并检查是否激活了fileinfo.so或php_fileinfo.dll (取决于您的平台和版本)。
应该有一条类似于
extension = fileinfo.so
在窗户上
extension = fileinfo.dll
在php.ini文件中
更新后的
if(isset($_FILES['file'])) {
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$ext = finfo_file($finfo, $_FILES['file']['tmp_name']);
if(substr($ext, 0, 5) != 'image') {
$errors[] = 'Kon dit bestand type niet uploaden.';
}
}
https://stackoverflow.com/questions/21219604
复制相似问题