Convert all image formats to jpg ( help me )

136
.
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
.
Senje
NaN is number
Добавлено: 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();
    }
}
Всего: 5