Codeigniter form submit mit Datei-upload
ich versuche zu schreiben ein code, wo ich kann "Formular senden", geben Sie die Inhalte in einer Datenbank, gleichzeitig führen Sie eine Datei hochladen und haben es in einem Ordner gespeichert, der in meinen server
den Speicherort des Ordners aufgerufen wird, uploads, welche sich an der Wurzel meiner Website
hier ist mein code
controller (site.php)
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Site extends CI_controller {
public function __construct()
{
parent::__construct();
//Your own constructor code
$this->load->model("site_model");
$this->load->helper(array('form', 'url'));
}
public function cmain($type,$page)
{
$data = $this->_initialize_data(); //this is just a bunch of variables that im calling in another function
$data['type'] = $type;
$data['page'] = $page;
$this->load->vars($data);
$this->load->view('site/cmain');
}
public function m1()
{
$this->load->library('upload', $config);
if(isset($_POST['m1']))
{
$suffix = $this->input->post("suffix");
$fn = $this->input->post("fn");
$mn = $this->input->post("mn");
$ln = $this->input->post("ln");
$newdata = array('suffix'=>$suffix,
'fn'=>$fn,
'mn'=>$mn,
'ln'=>$ln,
);
//this code is for the file upload
$config['upload_path'] = 'uploads';
$config['allowed_types'] = '*';
$this->load->library('upload', $config);
$data = array('upload_data' => $this->upload->data());
//end of file upload codes
$this->db->insert('myself', $newdata);
redirect(base_url() . "site/complaint");
}
}
anzeigen (cmain.php)
<form action="<?php echo base_url();?>site/m1" name="details" id="details" method="post" enctype="multipart/form-data">
<table class='table' width="100%">
<tr>
<td colspan='2'>
<b><font color="#3B608C">Personal Information</font></b>
</td>
</tr>
<tr>
<td>
Suffix (e.g. Jr., III)
</td>
<td>
<input type="text" name="suffix" id="suffix" value="">
</td>
</tr>
<tr>
<td>
First Name*
</td>
<td>
<input type="text" name="fn" id="fn" value="">
</td>
</tr>
<tr>
<td>
Middle Name*
</td>
<td>
<input type="text" name="mn" id="mn" value="">
</td>
</tr>
<tr>
<td>
Last Name*
</td>
<td>
<input type="text" name="ln" id="ln" value="">
</td>
</tr>
</table>
<table>
<tr>
<td width="50%">
Please attach documents pertinent to these complaints. <br>
(Attach a zip file if more than one document)<br>
</td>
<td align="center">
<input name = "userfile" type="file" class="input-xlarge" id = "userfile" />
</td></tr>
</table>
<input type="submit" value="Submit Form" class="pull-right" id="submit" name="m1"/>
</form>
form-Beiträge richtig in der Datenbank, wie das suffix,fn,ln und mn
jedoch ist der Datei-upload nicht funktioniert
ich versuchte mein bestes zu Folgen, was die codeigniter-docs samples und bekam nur die Zeilen, ich denke, ich brauchte
mache ich etwas falsch?
Dank
- versuchen Sie, verwenden der validation-Klasse. und dann das Bild hochladen, wie Sie eine benutzerdefinierte callback.
Du musst angemeldet sein, um einen Kommentar abzugeben.
schließlich habe es funktioniert
habe ich diese für den Datei-upload Teil
verändert und die
in
Ich denke, dass müssen Sie haben, die Datei hochladen Vorliebe
Form Helper
Für weitere Details schauen
Hast du Schreibrechte für den uploads-Ordner? (Beispiel: php.net/manual/en/function.chmod.php)
Immer tun, test-driven development. Ich habe folgenden code-block aus diese url