你好,我有一个crud操作,我有这个代码上传一个产品的形象,但形象不是保存在mysql或文件夹主机。
?php
include("includes/db.php");
$msg = "";
if (isset($_POST['submit'])) {
$target = "images/".basename($_FILES['poza']['name']);
$image = $_FILES['poza']['name'];
$nume = $_POST['nume'];
$editor = $_POST['editor'];
$pozitie = $_POST['pozitie'];
$pret = $_POST['pret'];
$cat = $_POST['cat'];
$sql = "INSERT INTO produse (poza, titlu, descriere,pozitie,pret,categorie)
VALUES ('$image','$nume','$editor', '$pozitie','$pret','$cat')";
mysqli_query($conn,$sql);
// mut poza in folder
if (move_uploaded_file($_FILES['poza']['tmp_name'], $target)) {
$msg = "<div class='alert alert-success alert-dismissible' role='alert'>
<button type='button' class='close' data-
dismiss='alert'>×</button>
<div class='alert-icon'>
<i class='icon-check'></i>
</div>
<div class='alert-message'>
<span><strong>Success!</strong> Produsul a fost adaugat!
</span>
</div>
</div>";
}else{
$msg = "<div class='alert alert-danger alert-dismissible'
role='alert'>
<button type='button' class='close' data-
dismiss='alert'>×</button>
<div class='alert-icon'>
<i class='icon-close'></i>
</div>
<div class='alert-message'>
<span><strong>Eroare!</strong> Produsul nu a fost salvat!
</span>
</div>
</div>";
}
header('location: index.php');
}
?>
目标是我的路径文件夹,但在我的文件夹图像是空的像mysql数据库相同的emtpy。
html在模态boostrap上,下面是代码:
<div id="myModal" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×
</button>
<h4 class="modal-title">titlu</h4>
</div>
<div class="modal-body">
<form class="" action="add.php" method="post">
<div class="form-group">
<label for="">descriere</label>
<textarea name="editor" class="ckeditor" id="continut"
rows="8" cols="80" value=""><?php echo $row['continut'];?>
</textarea>
<label for="">poza</label>
<input type="file" name="poza" value="">
<label for="">Titlu</label>
<input type="text" name="nume" value="">
<label for="">Pozitie</label>
<input type="text" name="pozitie" value="">
<label for="">pret</label>
<input type="text" name="pret" value="">
<label for="">pret</label>
<select name="cat" id="cat">
<option value="">Selecteaza categoria</option>
<option value="1">ACE DE CUSUT</option>
<option value="2">ATA & PAMBLICA</option>
<option value="3">FERMOAR</option>
<option value="4">NASTURI</option>
<option value="5">ALTE ACCESORII</option>
</select>
<button type="submit" name="submit">Salveaza</button>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-
dismiss="modal">Close</button>
</div>
</div>
我不知道 t know how to check the array $_FILES i will try but i can
我不明白我做了一些改变的道路,我仍然是一样的。
1条答案
按热度按时间sauutmhj1#
您需要正确格式化表单,主要是
<form>
标签:以下是对其他实施的建议;如果你不在乎就忽略
除此之外的其他问题您需要确保文件保存到的文件夹具有正确的权限,您需要参数化您的mysql查询,并且您需要确保上载的php ini中有足够的内存:
我建议您使用mysqli的oop版本,或者改用pdo。装订要直接得多。
我还建议使用根文件夹配置文件来实现常量和一致性:
/配置.php
/包括/db.php
创建一个观察者来包含你的动作监听器
/包括/functions/imageobservator.php
/whatever-this-page-is.php
你的表格需要有一个
enctype
作为multipart/form-data
您应该输入一个操作名,因为您可以用这个键名执行其他表单提交submit
:最后,您应该了解示例在应用程序中使用了多少内存
php.ini
文件,可能还不够(这只是示例设置,您可能还可以):