[英]CI upload file demo not working?
當我嘗試使上載文件演示工作時,我在服務器上使用codeigniter 2.2.6(我是CI中的新手),但是單擊“提交”按鈕后沒有任何反應。
這是我遵循的用戶指南:
視圖文件:
<html>
<head>
<title>Upload Form</title>
</head>
<body>
<?php echo $error;?>
<?php echo form_open_multipart('upload/do_upload');?>
<input type="file" name="userfile" size="20" />
<br /><br />
<input type="submit" value="upload" />
</form>
</body>
</html>
控制器:
<?php
class Upload extends CI_Controller {
function __construct() {
parent::__construct ();
$this->load->helper ( array (
'form',
'url'
) );
}
function index() {
echo CI_VERSION;
$this->load->view ( 'upload_form', 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 );
echo "step 1";
if (! $this->upload->do_upload ()) {
echo "step 2";
$error = array (
'error' => $this->upload->display_errors ()
);
$this->load->view ( 'upload_form', $error );
} else {
echo "step 3";
$data = array (
'upload_data' => $this->upload->data ()
);
$this->load->view ( 'upload_success', $data );
}
}
}
?>
我可以看到“瀏覽並提交”按鈕,選擇文件后,文件名正確顯示,但是當我單擊“提交”時,什么也沒有發生,這似乎是未處理提交單擊。
如您所見,我將3設置為echo“ step”。 遵循流程,但是沒有一個被打印出來,我不知道為什么。
有人可以幫忙嗎? 請向我解釋該按鈕單擊處理背后的邏輯。
問題是操作網址不正確。
<form enctype="multipart/form-data" accept-charset="utf-8" method="post" action="http://::1/upload/do_upload">
<input type="file" size="20" name="userfile"> <br> <br>
<input type="submit" value="upload">
</form>
這似乎與我刪除網站網址中的index.php所做的事情有關,
$config['base_url'] = '';
這使操作網址變為
http://::1/upload/do_upload
導致演示無法正常運行,解決方案是手動添加正確的操作網址。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.