我在codegniter上传图片时遇到问题 这是我的观点:
<form method="post" action="<? echo site_url('do_upload'); ?>" id="createForm" enctype="multipart/form-data" >
<div style="display:none">
<input type="hidden" name="<?php echo $this->security->get_csrf_token_name(); ?>" value="<?php echo $this->security->get_csrf_hash();?>" />
</div>
<div class="form-group">
<label for="exampleInputFile">Picture</label>
<input type="file" name="picture" id="exampleInputFile">
<p class="help-block">Choose file to upluad.</p>
</div>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary">Save changes</button>
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</form>
我的控制员:
public function do_upload()
{
if(isset($_FILES['picture']))
{
$dossier = base_url().'assets/image/product/';
$fichier = basename($_FILES['picture']['name']);
if(move_uploaded_file($_FILES['picture']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
{
echo 'Upload effectué avec succès !';
}
else //Sinon (la fonction renvoie FALSE).
{
echo 'Echec de l\'upload !';
}
}
}
我一直有这个问题:
你能帮帮我吗?
答案 0 :(得分:0)
文件上传功能不支持HTTP&amp;基于https的文件路径。如果你使用基于linux的操作系统如ubuntu或mac给文件夹权限是777的所有文件夹为ex。资产,图像和产品这三个文件夹需要阅读&amp;写权限777
public function do_upload()
{
if(isset($_FILES['picture']))
{
$dossier ='./assets/image/product/'; //based folder path if is inside public so u can use $dossier = './public/assets/image/product/';
$fichier = basename($_FILES['picture']['name']);
if(move_uploaded_file($_FILES['picture']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
{
echo 'Upload effectué avec succès !';
}
else //Sinon (la fonction renvoie FALSE).
{
echo 'Echec de l\'upload !';
}
}
}