我上传图片并将名字放在MySQL
数据库中使用以下代码:
PHP:
if (!empty($_FILES["profile_image"])) {
$output_dir = "/uploads/files/1/avatar/";
$fileName = preg_replace('/\s+/', '_', $_FILES["profile_image"]["name"]);
$filenamekey = md5(uniqid($_FILES["profile_image"]["name"], true));
$type = pathinfo($fileName, PATHINFO_EXTENSION);
move_uploaded_file($_FILES["profile_image"]["tmp_name"],$output_dir.$filenamekey.'.'.$type);
$profile_image = $filenamekey.'.'.$type;
} else {
$profile_image = '';
}
HTML:
<input name="profile_image" type="file" id="input1" />
当我发送empty
输入PHP
代码时,不上传图片但是使用md5(uniqid)
将空值插入数据库,如下所示:
当我发送空值时,如何解决此问题?!
答案 0 :(得分:1)
改变条件,
if (!empty($_FILES["profile_image"])) {
与
if (!empty($_FILES["profile_image"]["name"])) {
答案 1 :(得分:0)
在第5行添加条件:
$filenamekey = !empty($_FILES["profile_image"]["name"]) ? md5(uniqid($_FILES["profile_image"]["name"], true)) : '';
答案 2 :(得分:0)
你需要放入以下IF条件,
替换
if (!empty($_FILES["profile_image"])) {
带
if (!empty($_FILES["profile_image"]['name'])) {
现在如果您无法选择文件并提交,则会在数据库中插入空白值。