With the continuous development of the Internet, the use of image files in websites is becoming more and more common. When developing a website, you often need to let users upload image files and then process them. This requires developers to be familiar with how to use PHP to process and upload image files.
1. Upload image files
In PHP, we can use $_FILES to obtain uploaded files. Processing uploaded image files requires the following steps:
First, we need to determine the directory for uploading files. We can get the temporary path of the uploaded file by setting $_FILES "file".
Next, we need to set the type of uploaded file. Normally, we only allow the upload of image files in jpg and png formats, which can be set using the following code:
$allowed = array('jpg', 'png');
if(! in_array(strtolower(pathinfo($_FILES["file"]["name"], PATHINFO_EXTENSION)), $allowed)){
echo "Only image files in jpg and png formats are allowed to be uploaded";
exit( );
}
There are two main situations for processing uploaded files: moving the uploaded files to the specified directory; Compress and adjust. These two situations are introduced below.
The first situation: Move the uploaded file to the specified directory. The following is a sample code:
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES"file");
if (move_uploaded_file($_FILES["file "]["tmp_name"], $target_file)) {
echo "File uploaded successfully";
} else {
echo "File uploaded failed";
}
Two situations: Compressing and adjusting uploaded files can be achieved using the GD library in PHP. The following is a sample code:
$src_image = imagecreatefromjpeg($_FILES"file"); // Set the original image
$dst_image = imagescale($src_image, 300); // Set the target image Size
imagepng($dst_image, 'new_image.png'); //Output target image
The above code will convert the uploaded jpg image file into png format and adjust it to an image with a width of 300 pixels document.
2. Processing image files
Once the file is uploaded successfully, we can start processing the image file. Here are several ways to process image files.
You can use the imagecrop() function to crop an image. The following is a sample code:
$src_image = imagecreatefrompng('image.png '); // Set the original image
$dst_image = imagecrop($src_image, ['x' => 100, 'y' => 100, 'width' => 200, 'height' => ; 200]); // Set the target image
imagepng($dst_image, 'cropped_image.png'); // Output the target image
The above code will crop the image.png image file into 200x200 image and output as cropped_image.png file.
To add watermark, you can use the imagecopy() function and imagettftext() function. The following is a sample code:
$src_image = imagecreatefrompng ('image.png'); // Set the original image
$watermark = imagecreatefrompng('watermark.png'); // Set the watermark
imagecopymerge($src_image, $watermark, 10, 10, 0 , 0, imagesx($watermark), imagesy($watermark), 30); // Add watermark to the original image
imagettftext($src_image, 30, 0, 200, 200, imagecolorallocate($src_image, 255, 255 , 255), 'font.ttf', 'My watermark'); // Add text watermark
imagepng($src_image, 'watermarked_image.png'); // Output watermarked image
and above The code will add the watermark.png image file to the upper left corner of the image.png image and add a watermark text of "My watermark".
You can use the imagefilter() function to change the image color. The following is a sample code:
$src_image = imagecreatefrompng('image .png'); // Set the original image
imagefilter($src_image, IMG_FILTER_GRAYSCALE); // Convert the image to grayscale
imagepng($src_image, 'grayscale_image.png'); // Output gray Degree image
The above code will convert the image.png image into a grayscale image and output it as a grayscale_image.png file.
Summary
Through the above introduction, we can see some problems and solutions that need to be paid attention to when processing and uploading image files in PHP. If you need to use image files in your website, these methods can help you implement the functionality quickly. Of course, the above introduction is only the basics, and more complex image processing operations require developers to adjust themselves according to the actual situation.
The above is the detailed content of Process and upload image files using PHP. For more information, please follow other related articles on the PHP Chinese website!