我正在尝试使用PHP将图像上传到服务器并保存在目录中,然后返回图像网址。
html代码:
<form method="post">
<fieldset>
<div class="form-group col-md-6 col-lg-6 col-sm-12">
<input type="file" class="form-control" name="image" required="required">
</div>
<div class="form-group">
<button type="submit" name="Save" class="btn btn-primary">Create</button>
</div>
</fieldset>
</form>
上传图片的PHP代码:
<?php
if(isset($_POST['Save']))
{
/*image */
$traget_dir="image/";
$traget_file=$traget_dir .basename($_FILES["image"]["name"]);
$uploadOk=1;
$imageFileType = pathinfo($traget_file,PATHINFO_EXTENSION);
$check=getimagesize($_FILES["image"]["tmp_name"]);
if($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else{
echo "File is not an image.";
$uploadOk = 0;
}
/*end image upload*/
}
?>
上传时间错误:
注意:未定义索引:
中的图像
第二个错误 - &gt;
警告:getimagesize()[function.getimagesize]:文件名不能
中的空白
感谢您的帮助和观点。
答案 0 :(得分:2)
提交后执行此操作,并检查if条件如下代码。 在哪里&#39;提交&#39;是你的按钮的名称。
if(isset($_POST['SUBMIT']))
{
/*image */
$traget_dir="image/";
$traget_file=$traget_dir .basename($_FILES["image"]["name"]);
$uploadOk=1;
$imageFileType = pathinfo($traget_file,PATHINFO_EXTENSION);
$check=getimagesize($_FILES["image"]["tmp_name"]);
if($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else{
echo "File is not an image.";
$uploadOk = 0;
}
/*end image upload*/
}
答案 1 :(得分:1)
出于安全原因,您还必须检查mime类型和扩展名,最佳做法是在/year/month/file
上传文件以避免文件系统问题,请查看此代码https://github.com/MoustafaElkady/SimpleUploader < / p>
答案 2 :(得分:0)
您需要告诉表单它还将上传文件。
您可以使用enctype=multipart/form-data
因此,您的表单应如下所示:
<form method="post" enctype="multipart/form-data">
<fieldset>
<div class="form-group col-md-6 col-lg-6 col-sm-12">
<input type="file" class="form-control" name="image" required="required">
</div>
<div class="form-group">
<button type="submit" name="Save" class="btn btn-primary">Create</button>
</div>
</fieldset>
</form>
答案 3 :(得分:0)
替换这个`
<form method="post">
用这个
<form method="post" enctype="multipart/form-data">
你们都很高兴:)