📅  最后修改于: 2023-12-03 15:07:45.633000             🧑  作者: Mango
在 PHP 中,要显示上传的图像需要经过以下步骤:
<form action="upload.php" method="POST" enctype="multipart/form-data">
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="上传">
</form>
move_uploaded_file()
或 copy()
:$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
// 检查上传文件是否是图像文件
if(isset($_POST["submit"])) {
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false) {
echo "文件是一个图像 - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "文件不是一个图像.";
$uploadOk = 0;
}
}
// 检查上传文件是否已经存在
if (file_exists($target_file)) {
echo "抱歉,文件已经存在.";
$uploadOk = 0;
}
// 检查文件大小
if ($_FILES["fileToUpload"]["size"] > 500000) {
echo "抱歉,文件太大.";
$uploadOk = 0;
}
// 允许上传的文件格式
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
echo "抱歉,只允许上传 JPG, JPEG, PNG & GIF 文件.";
$uploadOk = 0;
}
// 如果上传的文件有误,向客户端发送错误信息
if ($uploadOk == 0) {
echo "抱歉,文件上传失败.";
// 如果上传的文件都没有问题,将其保存到服务器
} else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "文件 ". basename( $_FILES["fileToUpload"]["name"]). " 已经上传成功.";
} else {
echo "抱歉,文件上传失败.";
}
}
<img>
标签,指定 src
属性为上传图像的路径:<img src="uploads/<?php echo basename($_FILES["fileToUpload"]["name"]); ?>" alt="上传的图像">
完整的代码示例:
<form action="upload.php" method="POST" enctype="multipart/form-data">
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="上传">
</form>
<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
if(isset($_POST["submit"])) {
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false) {
echo "文件是一个图像 - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "文件不是一个图像.";
$uploadOk = 0;
}
}
if (file_exists($target_file)) {
echo "抱歉,文件已经存在.";
$uploadOk = 0;
}
if ($_FILES["fileToUpload"]["size"] > 500000) {
echo "抱歉,文件太大.";
$uploadOk = 0;
}
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
echo "抱歉,只允许上传 JPG, JPEG, PNG & GIF 文件.";
$uploadOk = 0;
}
if ($uploadOk == 0) {
echo "抱歉,文件上传失败.";
} else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "文件 ". basename( $_FILES["fileToUpload"]["name"]). " 已经上传成功.";
} else {
echo "抱歉,文件上传失败.";
}
}
?>
<img src="uploads/<?php echo basename($_FILES["fileToUpload"]["name"]); ?>" alt="上传的图像">
这样,网页中就能够显示上传的图像了。