I need to convert all image formats including HEIC to jpg by johncms 6.2.2
when?
on file upload or alredy uploaded files?
Chifty, Once the upload process starts, switch to it
Добавлено: 31.07.2024 / 03:38
https://github.com/MaestroErro ... o-jpg
While upload call:
Maestroerror\HeicToJpg::convert("file.heic")->saveAs("file.jpg");
Example for forum:
1. Open forum/index.php
2. Find array $ext_pic[] and add .heic format
3. Open forum/includes/addfile.php
4. At 97 line where is "move_uploaded_file"
5. In the condition add code
if (strtolower($ext[1]) == "heic") {
Maestroerror\HeicToJpg::convert("../files/forum/attach/".$fname)->saveAs("../files/forum/attach/".$ext[0].".jpg");
$fname = $ext[0].".jpg";
}
6. Done
Dont forget to include library at top of the file
Добавлено: 31.07.2024 / 03:43
In this example original .heic file have saved. If you want to delete him use unlink after convert:
unlink("../files/forum/attach/".$fname)
Добавлено: 31.07.2024 / 13:14
Senje, thank
Добавлено: 31.07.2024 / 13:16
// Kiểm tra nếu form đã được gửi
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['image'])) {
$outputDir = 'files/users/photo/';
$uploadedFile = $_FILES['image']['tmp_name'];
$uploadedFileName = $_FILES['image']['name'];
$file_up_name = time().$uploadedFile; //making file name dynamic by adding time before file name
move_uploaded_file($uploadedFile, "files/users/photo/".$file_up_name); //moving file to the specified folder with dynamic name
// Tạo tên file mới dựa trên thời gian hiện tại
$currentTime = date('YmdHis'); // Thời gian hiện tại theo định dạng YYYYMMDDHHMMSS
$outputFileName = $currentTime . '.jpg';
$outputFilePath = $outputDir . $outputFileName; // Cập nhật đường dẫn file để bao gồm thư mục đích
// Tạo thư mục nếu không tồn tại
if (!is_dir($outputDir)) {
mkdir($outputDir, 0777, true);
}
// Xử lý ảnh trực tiếp từ file tải lên
try {
$imagick = new Imagick();
$imagick->readImageFile(fopen($uploadedFile, 'rb'));
// Chuyển đổi định dạng thành JPEG
$imagick->setImageFormat('jpeg');
// Thay đổi kích thước ảnh
$imagick->resizeImage(480, 640, Imagick::FILTER_LANCZOS, 1);
// Nén ảnh
$imagick->setImageCompressionQuality(85); // Thay đổi chất lượng nén nếu cần
// Lưu ảnh đã xử lý
$imagick->writeImage($outputFilePath);
$imagick->clear();
$imagick->destroy();
// Kết nối đến cơ sở dữ liệu
$servername = "localhost";
$username = "";
$password = "";
$dbname = "";
// Kết nối đến cơ sở dữ liệu bằng MySQL
$conn = mysql_connect($servername, $username, $password);
if (!$conn) {
die("Kết nối thất bại: " . mysql_error());
}
// Chọn cơ sở dữ liệu
mysql_select_db($dbname, $conn);
// Chuẩn bị câu lệnh SQL để cập nhật
$idToUpdate = 10;
$outputFilePath = mysql_real_escape_string($outputFilePath); // Bảo vệ các ký tự đặc biệt trong chuỗi
$query = "UPDATE 5sweek_cham SET hand1 = '$outputFilePath' WHERE id = $idToUpdate";
// Thực thi câu lệnh SQL
if (mysql_query($query, $conn)) {
echo "Dữ liệu đã được cập nhật thành công: [url=$outputFilePath]Tải xuống[/url]";
} else {
echo "Lỗi: " . mysql_error();
}
// Đóng kết nối
mysql_close($conn);
} catch (Exception $e) {
echo "Lỗi: " . $e->getMessage();
}
}