• 26-08-2020, 16:16:39
    #1
    elimde böyle script var bu script resimleri içerden çağırıldığında webp ye dönüştürüp açıyor ama bnm bunu dışarıdan çağırılacak şekilde ayarlamam lazım yani başka bi sitedeki resmi webp olarak ekrana yazdırmam lazım, elimde script kodları

    1.php
    <?php
    if(strpos( $_SERVER['HTTP_ACCEPT'], 'image/webp' ) !== false || strpos( $_SERVER['HTTP_USER_AGENT'], ' Chrome/') !== false) {
    
    $settings_document_root = dirname(__FILE__);
    $file = trim(strip_tags($_GET['file']));
    $dir_name = "webp";
    $sub_dir = dirname($file);
    $sub_dir_path = $dir_name."/".$sub_dir;
    
    if(!is_dir($dir_name)){
    mkdir($dir_name);
    } else {
    if(!is_dir($sub_dir_path)){
    mkdir($sub_dir_path);
    }
    }
    
    if(!is_file($file)){
    echo "original file not found";
    exit;
    }
    
    function convertImageToWebP($source, $destination, $quality = 80) {
    $file_extension = pathinfo($source, PATHINFO_EXTENSION);
    if ($file_extension == 'jpeg' || $file_extension == 'jpg') {
    $image = imagecreatefromjpeg($source);
    } else if ($file_extension == 'gif') {
    $image = imagecreatefromgif($source);
    } else if ($file_extension == 'png') {
    $image = imagecreatefrompng($source);
    } else {
    die("Unsupported format!");
    }
    return imagewebp($image, $destination, $quality);
    }
    
    convertImageToWebP($file, "webp/".$file.".webp", 80);
    
    header("Location: /webp/".$file.".webp?".time());
    exit;
    }
    ?>
    .htaccess kodları
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^webp/(.*)\.webp?$ 1.php?file=$1 [L,QSA]
    bu kodlarla
    sunucuda ana dizinde 1.jpg adında resim olduğu zaman açıyor
    https://www.site.com/webp/1.jpg.webp

    ama bnm istediğim baska sitedeki 1.jpg resmini açması bu yüzden
    .htaccess dosyasında şu değişikliği yapıyorum
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^webp/(.*)\.webp?$ 1.php?file=https://www.baskasite.com/$1 [L,QSA]
    ama 1.php deki kodlar içerden çağırılmaya ayarlı bu yüzden olmuyor 1.php de nasıl bi değişiklik yapmam gerek
  • 16-04-2024, 22:34:33
    #2
    Platin üye
    onurak adlı üyeden alıntı: mesajı görüntüle
    elimde böyle script var bu script resimleri içerden çağırıldığında webp ye dönüştürüp açıyor ama bnm bunu dışarıdan çağırılacak şekilde ayarlamam lazım yani başka bi sitedeki resmi webp olarak ekrana yazdırmam lazım, elimde script kodları

    1.php
    <?php
    if(strpos( $_SERVER['HTTP_ACCEPT'], 'image/webp' ) !== false || strpos( $_SERVER['HTTP_USER_AGENT'], ' Chrome/') !== false) {
    
    $settings_document_root = dirname(__FILE__);
    $file = trim(strip_tags($_GET['file']));
    $dir_name = "webp";
    $sub_dir = dirname($file);
    $sub_dir_path = $dir_name."/".$sub_dir;
    
    if(!is_dir($dir_name)){
    mkdir($dir_name);
    } else {
    if(!is_dir($sub_dir_path)){
    mkdir($sub_dir_path);
    }
    }
    
    if(!is_file($file)){
    echo "original file not found";
    exit;
    }
    
    function convertImageToWebP($source, $destination, $quality = 80) {
    $file_extension = pathinfo($source, PATHINFO_EXTENSION);
    if ($file_extension == 'jpeg' || $file_extension == 'jpg') {
    $image = imagecreatefromjpeg($source);
    } else if ($file_extension == 'gif') {
    $image = imagecreatefromgif($source);
    } else if ($file_extension == 'png') {
    $image = imagecreatefrompng($source);
    } else {
    die("Unsupported format!");
    }
    return imagewebp($image, $destination, $quality);
    }
    
    convertImageToWebP($file, "webp/".$file.".webp", 80);
    
    header("Location: /webp/".$file.".webp?".time());
    exit;
    }
    ?>
    .htaccess kodları
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^webp/(.*)\.webp?$ 1.php?file=$1 [L,QSA]
    bu kodlarla
    sunucuda ana dizinde 1.jpg adında resim olduğu zaman açıyor
    https://www.site.com/webp/1.jpg.webp

    ama bnm istediğim baska sitedeki 1.jpg resmini açması bu yüzden
    .htaccess dosyasında şu değişikliği yapıyorum
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^webp/(.*)\.webp?$ 1.php?file=https://www.baskasite.com/$1 [L,QSA]
    ama 1.php deki kodlar içerden çağırılmaya ayarlı bu yüzden olmuyor 1.php de nasıl bi değişiklik yapmam gerek
    Tam olarak mantıgını anlayamadım bunun ya