PHP版本会影响codeigniter中的MIME.php吗

Posted

技术标签:

【中文标题】PHP版本会影响codeigniter中的MIME.php吗【英文标题】:does PHP version affect MIME.php in codeigniter 【发布时间】:2013-10-01 22:29:41 【问题描述】:

我正在使用 codeigniter,在我的本地主机中,我一直在使用 php 版本 5.3.1。我的文件上传做得很好,没有任何错误,当我上传到服务器时,服务器中的 PHP 版本是 5.3.18。在服务器中,当我上传文件时,我没有错误,但它没有上传到我指定的文件夹,我已经将文件夹设置为 777 状态。任何建议我可以为我的文件上传做些什么?谢谢你

编辑

$config['upload_path'] = './upload_documents/';
            $config['allowed_types'] = 'docx|xls|xlsx|pdf';
            $config['max_size'] = '0'; // 0 = no file size limit
            $config['max_width']  = '0';
            $config['max_height']  = '0';
            $config['overwrite'] = TRUE;
            $this->load->library('upload', $config);
            $this->upload->initialize($config);
            $this->upload->do_upload('userfile');
            $upload_result = $this->upload->data('userfile');

这是我的上传文件格式,与我的本地主机相同,它在本地主机中有效运行,但在服务器中它只接受 .xlsx 格式

【问题讨论】:

【参考方案1】:

请检查(调试)文件夹路径。

这是我们将代码上传到服务器时发生的一般错误。

有时,我们的代码位于与文档根目录不同的目录中。

这可能会产生问题。

【讨论】:

我的主要问题是在我的本地主机中,我可以上传 .docx、.xls、.xlsx 和 .pfd 文件,但在服务器中我只能上传 .xlsx 文件:s 请到上传代码调试上传文件路径。这可能会解决问题。 我已经编辑了我的问题,如果有任何问题,请查看。谢谢【参考方案2】:

是的,它现在被认为在最新版本的 PHP 中已弃用。 这是一个替换黑客:

function _mime_content_type($filename) 

$result = new finfo();

if (is_resource($result) === true)

    return $result->file($filename, FILEINFO_MIME_TYPE);

return false;

【讨论】:

太棒了!!如果它真的有用,请将答案分数提高 1 ;-)

以上是关于PHP版本会影响codeigniter中的MIME.php吗的主要内容,如果未能解决你的问题,请参考以下文章

Codeigniter:在 mac safari 中未检测到 vcf mime 类型

IIS 环境 CodeIgniter 隐藏 URL 中的 index.php

Codeigniter 调试上传不支持的类型文件

如何删除codeigniter路径中的index.php?

使用 php 中的每个循环上传 zip 档案会导致 codeigniter 中 zip 文件中的 zip 档案重复

Codeigniter psd 和 ai mime 类型不起作用