0
通常の方法でCodeIgniter 2.0.2で1つのファイルをアップロードしようとしています。 3210関数がtrueを返しますが、ディレクトリにファイルが表示されません。 ディレクトリのアクセス許可は、(以下のコードでは示されていない他の診断を実行した後に)うまく表示されるため、ファイルがアップロードディレクトリに表示されていないとは限りません。 ここにコントローラとビューコードがあり、CIドキュメントから直接適合しています。CodeIgniterファイルアップロードブラックホール
コントローラー:
function do_upload_sql(){
// create directory
if (! is_dir(BACKUP_DIR)) {
mkdir(BACKUP_DIR, 0777);
}
// or if it exists and has restricted file permissions, change them
elseif(fileperms(BACKUP_DIR)!=0777){
chmod(BACKUP_DIR, 0777);
}
$config['upload_path'] = BACKUP_DIR;
$config['allowed_types'] = 'backup'; // an SQL backup file type
$config['overwrite'] = TRUE;
$this->load->library('upload', $config);
//$this->upload->initialize($config); //redundant, so commenting out
if (! $this->upload->do_upload())
{
$data['action'] = 'c_backup_restore/do_upload_sql';
$tab_error = array('error' => $this->upload->display_errors());
$data['error'] = $tab_error['error'];
$this->load->view('common/header');
$this->load->view('v_upload_sql', $data);
}
else
{
echo "success"; // yes it's getting here, but i get no file!
$data = array('upload_data' => $this->upload->data());
$file_upload = $data["upload_data"];
$this->restore_backup($file_upload); // go do something useful with the file
}
}
ビュー:
<p>Select the backup file</p>
<div class="not_success"><?php echo $error;?></div>
<?php echo form_open_multipart($action);?>
<input type="file" name="userfile" size="30" />
<input type="submit" value="Upload" />
</form>
どのようなエラーが表示されますか? 'BACKUP_DIR'はどこで定義されていますか?あなたは '.backup'ファイルタイプをアップロードしていますか? '$ config ['allowed_types']'はおそらく 'sql | bkup | gz'か、SQLバックアップをアップロードしている場合にはそれを拡張するものでなければなりません。 – Seabass
@Zenbait私はエラーは発生しませんが、どちらもファイルをサーバーにアップロードすることはできません。それが奇妙な理由です。 'BACKUP_DIR'は' application/config/constants.php'で定義されています。はい、 '.backup'ファイルをアップロードしています。私は '$ config ['allowed_types'] = '*''で試してみたのと同じ動作をしました。 –
Hm。 (config.phpの '$ config ['log_threshold'] = 4')ログオンし、何かをアップロードしようとしたときにどのメッセージ/エラーCIがダンプするかを見てください。 '$ this-> upload-> data()'は何を返しますか? '$ this-> upload-> do_upload()'は何を返しますか? – Seabass