㈠ thinkphp3.2.3文件上传怎么配置cofig
$config = array(
'mimes' => array(), //允许上传的文件MiMe类型
'maxSize' => 0, //上传的文件大小限制 (0-不做限制)
'exts' => array(), //允许上传的文件后缀
'autoSub' => true, //自动子目录保存文件
'subName' => array('date', 'Y-m-d'), //子目录创建方式,[0]-函数名,[1]-参数,多个参数使用数组
'rootPath' => './Uploads/', //保存根路径
'savePath' => '', //保存路径
'saveName' => array('uniqid', ''), //上传文件命名规则,[0]-函数名,[1]-参数,多个参数使用数组
'saveExt' => '', //文件保存后缀,空则使用原后缀
'replace' => false, //存在同名是否覆盖
'hash' => true, //是否生成hash编码
'callback' => false, //检测文件是否存在回调,如果存在返回文件信息数组
'driver' => '', // 文件上传驱动
'driverConfig' => array(), // 上传驱动配置
);
$upload = new \Think\ Upload($config);
㈡ php文件上传时,关于临时目录的问题,我想知道的是,默认路径是C:\WINDOWS\temp,但是后面怎么会多出
通常,从安全性考虑,上传文件的文件保存在一个临时目录里面,并且取了一个随机的字符串进行命名,由于临时目录的特性,你需要在这个文件被系统删除之前,及时将这个文件转存到你指定的位置。如果想看文件的原名称,可以用 $_FILES['myFile']['name']。
以下是 $_FILES 全局数组的详细内容:
$_FILES['myFile']['name'] 客户端文件的原名称。
$_FILES['myFile']['type'] 文件的 MIME 类型,需要浏览器提供该信息的支持,例如"image/gif"。
$_FILES['myFile']['size'] 已上传文件的大小,单位为字节。
$_FILES['myFile']['tmp_name'] 文件被上传后在服务端储存的临时文件名,一般是系统默认。可以在php.ini的upload_tmp_dir 指定,但 用 putenv() 函数设置是不起作用的。
$_FILES['myFile']['error'] 和该文件上传相关的错误代码。['error'] 是在 PHP 4.2.0 版本中增加的。下面是它的说明:(它们在PHP3.0以后成了常量)
㈢ php获取文件mime类型的几种方法
在PHP中获取文件的MIME类型,可以采用多种方法。首先,可以使用mime_content_type函数,它在php.ini中需要配置开启mbstring扩展。例如:
echo mime_content_type('php.gif');
输出:image/gif
text/plain
但是,从PHP 5.3.0开始,推荐使用Fileinfo扩展来获取文件的MIME类型,因为mime_content_type函数在某些情况下可能会返回不准确的结果。Fileinfo扩展需要在php.ini中开启,且在PHP 5.3.0及以上版本中默认支持。使用方法如下:
$finfo = finfo_open(FILEINFO_MIME);
$mimetype = finfo_file($finfo, $filename);
finfo_close($finfo);
这里,$mimetype变量将存储文件的MIME类型。
此外,还可以利用image_type_to_mime_type函数来获取图片的MIME类型,它适用于处理图像文件。此函数不需要额外配置,直接使用即可。
对于通过PHP上传文件的情况,可以通过检查$_FILES['uploadfile']['type']来获取文件的MIME类型。虽然此方法在某些PHP版本中已被废弃,但仍然可用。其用法如下:
if (isset($_FILES['uploadfile']['type'])) {
echo $_FILES['uploadfile']['type'];
}
总之,根据实际需求选择合适的MIME类型获取方法,可以提高代码的稳定性和兼容性。无论是使用内置函数还是扩展,都需要确保服务器配置正确,并且有足够的权限访问文件。
在开发过程中,确保对文件的MIME类型进行准确判断,有助于提升用户体验,特别是在处理上传文件或生成动态内容时尤为重要。正确的MIME类型不仅能确保文件在客户端正确显示,还能增强安全性,避免潜在的威胁。