0

我在正在开发的 Codeigniter 应用程序中上传图像时遇到问题。该代码在我的电脑(ubuntu)上运行良好,正如教程中给出的那样。但是当我在我的(centos)服务器上尝试这个时,它给出了一个错误“你没有选择要上传的文件。”。

仅供参考,我将代码粘贴在这里。

控制器- Upload1.php

 <?php

 class Upload1 extends CI_Controller {

    function __construct()
    {
            parent::__construct();
            $this->load->helper(array('form', 'url'));
    }

    function index()
    {
            $this->load->view('upload_form1', array('error' => ' ' ));
    }

    function do_upload()
    {
            $config['upload_path'] = './uploads/';
            $config['allowed_types'] = 'gif|jpg|png';
            $config['max_size']     = '100';
            $config['max_width']  = '1024';
            $config['max_height']  = '768';

            $this->load->library('upload', $config);

            if ( ! $this->upload->do_upload())
            {
                    $error = array('error' => $this->upload->display_errors());

                    $this->load->view('upload_form1', $error);
            }
            else
            {
                    $data = array('upload_data' => $this->upload->data());

                    $this->load->view('upload_success1', $data);
            }
    }
 }
 ?>

表格 - upload_form1.php

 <html>
 <head>
 <title>Upload Form</title>
 </head>
 <body>

 <?php echo $error;?>

 <?php echo form_open_multipart('upload1/do_upload');?>

 <input type="file" name="userfile" size="20" />

 <br /><br />

 <input type="submit" value="upload" />

 </form>

 </body>
 </html>

成功页面-upload_success1.php

 <html>
 <head>
 <title>Upload Form</title>
 </head>
 <body>

 <h3>Your file was successfully uploaded!</h3>

 <ul>
 <?php foreach ($upload_data as $item => $value):?>
 <li><?php echo $item;?>: <?php echo $value;?></li>
 <?php endforeach; ?>
 </ul>

 <p><?php echo anchor('upload1', 'Upload Another File!'); ?></p>

 </body>
 </html>

可能是什么问题呢?我将“上传”目录设置为 777。所以这不太可能是原因。我也尝试了几个类似问题的解决方案,但没有奏效。错过了一些明显的东西吗?

版本:对于服务器- PHP 5.3.13 (cli) 我的 PC- PHP 5.3.3 。

Codeigniter 在本地和远程机器上是相同的——即 2.1.3

我会很感激你的建议!!

太感谢了

4

2 回答 2

0

根据您的代码,我看不到是否有任何表单验证来验证提交的输入是否对您的上传配置有效。您首先应该做什么:检查您尝试上传的文件是否适合上传配置。我认为 CI 的上传类不涵盖来自无效输入表单的错误。CMIIW。

于 2013-04-05T03:14:25.087 回答
0

通常这是您没有将名称作为“用户文件”时的错误,因此请在任何浏览器中通过“查看源代码”检查输出

于 2013-05-04T16:23:37.540 回答