我有一个简单的表单来创建文章:标题,图片,类别,正文等。 我的问题是图像输入。
选择一个新的并提交一切正常:
通过编辑整个表单,填充所有字段,但保留图像字段,最后提交,db中的图像字段值将变为空。
我如何配置php文件,所以每次用户提交 没有选择图像的形式(如果有预先上传的图像 该文章)保持提交前一个图像(从db) 没什么。?
如果这些信息可以提供任何帮助:
我可以像这样打印图像:<?php echo '<img src="'.$results['article']->img.'" width="100px">'; ?>
图像的简单输入字段:
<input type="file" name="fileToUpload" id="fileToUpload" value="<?php echo $results['article']->img ?>" />
答案 0 :(得分:5)
这样的事情怎么样?
if(!empty($_FILES['fileToUpload']['name'])) //new image uploaded
{
//process your image and data
$sql = "UPDATE table SET name=$someName, image=$someImageName,... WHERE id = $someId";//save to DB with new image name
}
else // no image uploaded
{
// save data, but no change the image column in MYSQL, so it will stay the same value
$sql = "UPDATE table SET name=$someName,... WHERE id = $someId";//save to DB but no change image column
}
//process SQL query in $sql
答案 1 :(得分:2)
创建一个if子句,检查fileupload输入是否为空。如果为空则不执行查询。
使用不带属性值的input type =“file”。
<input type="file" name="fileToUpload" id="fileToUpload" />
以下是if子句
的示例if(!empty($_FILES['fileToUpload']['name'])) {
$origFile = $_FILES['fileToUpload']['name'];
$tempFile = $_FILES['fileToUpload']['tmp_name'];
$sizeFile = $_FILES['fileToUpload']['size'];
/* UPLOAD CODE GOES HERE */
}
答案 2 :(得分:0)
工作正常,非常感谢
简短解决方案
if(!empty($_FILES['fileToUpload']['name']))
结论
下次更新任何其他字段时,图像不会消失,这意味着文件路径在数据库中不会为空,并且如果已经存在,则除非您手动更改它,否则它将不会更改。