上传图片
在PHP中,上传图片可以通过$_FILES和move_uploaded_file()函数来实现。
首先,需要在HTML中使用标签来创建上传控件。
然后,在PHP中接收上传的图片:
```
if ($_FILES["file"]["error"] > 0) {
echo "Error: " . $_FILES["file"]["error"] . "
";
} else {
echo "Upload: " . $_FILES["file"]["name"] . "
";
echo "Type: " . $_FILES["file"]["type"] . "
";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB
";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
}
```
接着,可以通过move_uploaded_file()函数将上传的图片移动到指定路径中。
```
if ($_FILES["file"]["error"] > 0) {
echo "Error: " . $_FILES["file"]["error"] . "
";
} else {
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["file"]["name"]);
if (move_uploaded_file($_FILES["file"]["tmp_name"], $target_file)) {
echo "The file " . basename($_FILES["file"]["name"]) . " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
}
```
显示图片
使用PHP来显示图片有两种方法:
- 使用标签来引用图片:
- 使用header()函数将图片输出:
使用标签可以方便地在HTML中直接引用图片。
```
```
如果需要更精细地控制图片的显示,可以使用header()函数将图片输出。
```
header('Content-Type: image/jpeg');
readfile('path/to/image.jpg');
```
注意,如果在输出图片之前有任何输出,则会导致图片无法正常显示。
处理图片
PHP中有许多函数可以用来处理图片,如imagecreatefromjpeg()、imagecopyresized()、imagejpeg()等等。
以imagecopyresized()函数为例:
```
$source_file = 'path/to/source.jpg';
$target_file = 'path/to/target.jpg';
$source_image = imagecreatefromjpeg($source_file);
$source_width = imagesx($source_image);
$source_height = imagesy($source_image);
$target_width = 400;
$target_height = round(($source_height / $source_width) * $target_width);
$target_image = imagecreatetruecolor($target_width, $target_height);
imagecopyresized($target_image, $source_image, 0, 0, 0, 0, $target_width, $target_height, $source_width, $source_height);
imagejpeg($target_image, $target_file);
imagedestroy($source_image);
imagedestroy($target_image);
```
上述代码将把原图缩放后保存为目标图。具体实现是,首先读取原图,计算出目标图的宽高比例,然后创建一个新的图片,将原图按照比例缩放,并保存为目标图。
通过PHP处理图片可以实现各种效果,如缩放、剪裁、加水印等。
本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/php-5o115.html
郑重声明:
本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
我们不承担任何技术及版权问题,且不对任何资源负法律责任。
如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。
如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!