从上传的文件创建图像
Create an image from uploaded file
我正在这样上传文件。 (我可以同时上传多个,输入会动态添加)
<form method="POST" action="ajax.php" enctype="multipart/form-data">
<input type="file" name="uploadImage[]" id="file_input">
<input type="file" name="uploadImage[]" id="file_input1">
<input type="file" name="uploadImage[]" id="file_input2">
<input type="submit" name="sendBtn" value="Click me">
</form>
然后我提交到我的 ajax,我需要从上传的图像创建 thumbnail
并上传图像和缩略图。
这是我上传的电影的结构,我从 $_FILES
得到的。
Array
(
[name] => array.png
[type] => image/png
[tmp_name] => /tmp/phpKw4V3s
[error] => 0
[size] => 53038
)
如何在这种结构中使用像 imagepng() 这样的函数?
我可以使用图像的完整路径轻松完成,但我不能使用 php 的客户端路径。
我建议使用现有库来完成此类任务,例如 https://blueimp.github.io/jQuery-File-Upload/ or http://image.intervention.io/
但是从头开始,您需要先创建一个图像资源:
$src = imagecreatefrompng($path_to_img);
如果你想为头像调整大小,你可以这样做:
list($width, $height) = getimagesize($path_to_img);
// COMPUTE NEW width and new height..
// ..
// creates black image of new size
$final = imagecreatetruecolor($w, $h);
// set background to white
$white = imagecolorallocate($final, 255, 255, 255);
imagefill($final, 0, 0, $white);
// copys and resized original image ($width,$height) into new image ($newWidth,$newHeight)
imagecopyresampled($final, $src, $dst_x, $dst_y, 0, 0, $newWidth, $newHeight, $width, $height);
要将其保存到文件或输出将使用
imagepng($src, $path_to_new_file);
我正在这样上传文件。 (我可以同时上传多个,输入会动态添加)
<form method="POST" action="ajax.php" enctype="multipart/form-data">
<input type="file" name="uploadImage[]" id="file_input">
<input type="file" name="uploadImage[]" id="file_input1">
<input type="file" name="uploadImage[]" id="file_input2">
<input type="submit" name="sendBtn" value="Click me">
</form>
然后我提交到我的 ajax,我需要从上传的图像创建 thumbnail
并上传图像和缩略图。
这是我上传的电影的结构,我从 $_FILES
得到的。
Array
(
[name] => array.png
[type] => image/png
[tmp_name] => /tmp/phpKw4V3s
[error] => 0
[size] => 53038
)
如何在这种结构中使用像 imagepng() 这样的函数?
我可以使用图像的完整路径轻松完成,但我不能使用 php 的客户端路径。
我建议使用现有库来完成此类任务,例如 https://blueimp.github.io/jQuery-File-Upload/ or http://image.intervention.io/
但是从头开始,您需要先创建一个图像资源:
$src = imagecreatefrompng($path_to_img);
如果你想为头像调整大小,你可以这样做:
list($width, $height) = getimagesize($path_to_img);
// COMPUTE NEW width and new height..
// ..
// creates black image of new size
$final = imagecreatetruecolor($w, $h);
// set background to white
$white = imagecolorallocate($final, 255, 255, 255);
imagefill($final, 0, 0, $white);
// copys and resized original image ($width,$height) into new image ($newWidth,$newHeight)
imagecopyresampled($final, $src, $dst_x, $dst_y, 0, 0, $newWidth, $newHeight, $width, $height);
要将其保存到文件或输出将使用
imagepng($src, $path_to_new_file);