图片上传与存储
1. 创建表单
<form action="upload.php" method="post" enctype="multipart/form-data">
<label for="image">选择图片:</label>
<input type="file" name="image" id="image">
<input type="submit" value="上传">
</form>
2. PHP处理上传
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$image = $_FILES['image'];
$upload_dir = 'uploads/';
$file_name = basename($image['name']);
$file_path = $upload_dir . $file_name;
if (move_uploaded_file($image['tmp_name'], $file_path)) {
echo "文件已成功上传到: " . $file_path;
} else {
echo "上传失败。";
}
}
?>
这段代码检查是否有文件被上传,然后将其移动到服务器上的指定目录。
图片链接的生成与映射
1. 生成唯一标识符
$unique_id = uniqid();
2. 映射临时文件名和正式文件名
$map = [
$unique_id => $file_name
];
3. 更新文章内容
$article_content = "这里是文章内容,[图片链接]是图片的引用。";
$article_content = str_replace('[图片链接]', $upload_dir . $file_name, $article_content);
浏览器中直接输出图片
1. 使用PHP处理图片
function showImg($img) {
$info = getimagesize($img);
$imgExt = imagetypetoextension($info[2], false); // 获取文件后缀
$fun = "imagecreatefromimgExt";
$imgInfo = $fun($img); // 由文件或 URL 创建一个新图象
// 设置MIME类型
$mime = imagetypetomimetype(exifimagetype($img));
header('Content-Type: ' . $mime);
// 设置输出质量
$quality = 100;
if ($imgExt == 'png') $quality = 9;
// 输出图片
$fun($imgInfo, null, $quality);
imagedestroy($imgInfo);
}
2. 调用函数
showImg('uploads/example.jpg');