folder Tahribat.com Forumları
linefolder Asp - Php - Cgi - Perl
linefolder Php Hakkında Bir Kaç Soru.



Php Hakkında Bir Kaç Soru.

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    WildWamqire
    WildWamqire's avatar
    Kayıt Tarihi: 06/Mart/2011
    Erkek

    Selam arkdaşlar php hakkında merak ettiğim 2 şey var..

    Şimdi php de fonksiyon oluşturuyoruz:

     

    function p($parametre){

       return trim(mysql_real_escape_string(strip_tags($_POST[$parametre])));

    }


    gibisinden. peki bu fonksiyonu  hiç kullanmasak bu şekilde sunucuyu etki edermi yani php bu fonksyonu kullanmadıkça işler mi?


    2. olarak birde css compress olayı var  site optimize olayında  görmüştüm. 

    Peki mysql den veri olarak çektiğim herhangi bir html veya css kodunu php yardımıyla compress edilmiş şekilde bastırabilirmiyiz?

     

    bunun için herhangi bir sınıf vs varmı?


    Abure cubure subure dubure re re re tey tey tey
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Retro
    by_Tet
    by_Tet's avatar
    Kayıt Tarihi: 22/Mayıs/2012
    Erkek
    WildWamqire bunu yazdı

    Selam arkdaşlar php hakkında merak ettiğim 2 şey var..

    Şimdi php de fonksiyon oluşturuyoruz:

     

    function p($parametre){

       return trim(mysql_real_escape_string(strip_tags($_POST[$parametre])));

    }


    gibisinden. peki bu fonksiyonu  hiç kullanmasak bu şekilde sunucuyu etki edermi yani php bu fonksyonu kullanmadıkça işler mi?


    2. olarak birde css compress olayı var  site optimize olayında  görmüştüm. 

    Peki mysql den veri olarak çektiğim herhangi bir html veya css kodunu php yardımıyla compress edilmiş şekilde bastırabilirmiyiz?

     

    bunun için herhangi bir sınıf vs varmı?

    1. Sorunun Cevabı: Kesinlikle işlemez. Sanıyorum hiç bi yazılımda da işlemez. Deneme için function turan(){lsşadjoasşkjfsakmf} gibi hatalı bir fonksiyon yazabilirsin. Hata almayacaksın (belki böyle hata verir ama denemedim yani :D ama mesela bağlantı hatası verilmeyecektir vs.)

    2. Sorunun Cevabı: Tabiki mümkün

    Kodlarınen başına ob_start() koyuyorsun. Tüm işlemlerin en sonunda örneğin $html_çıktı şeklinde değişkene ob_get_contents(); atıyorsun

    $html_çıktı = ob_get_contents();

    Daha sonra ob_end_clean(); ile görüntüyü siliyorsun. Sonra echo $html_çıktı diyerek bastırıyorsun.

    Yani


    /* bir takım kodlar tüm genel çıktı*/

    $html_çıktı = ob_get_contents();

    ob_end_clean();

    echo $html_çıktı;?>

    Peki  bunun neresinde sıkıştırma?

    Html sıkıştırma fonksiyonu

    function html_sıkıştır($buffer) {
        $search = array(
            '/\>[^\S ]+/s',  // strip whitespaces after tags, except space
            '/[^\S ]+\        '/(\s)+/s'       // shorten multiple whitespace sequences
        );
        $replace = array(
            '>',
            '<',
            '\\1'
        );
        $buffer = preg_replace($search, $replace, $buffer);
        return preg_replace(array('//Uis',"/[[:blank:]]+/"),array('',' '),str_replace(array("\n","\r","\t"),'',$buffer));
    }

    Çıktıyı yazdırırken bu fonksiyondan süzdür.

    ----------------------------------------------------

        function css_sıkıştır($buffer) {
            $buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);
            $buffer = str_replace(array("\r\n","\r","\n","\t",'  ','    ','     '), '', $buffer);
            $buffer = str_replace('../img', '_tema/klasik/img', $buffer);
            $buffer = str_replace('../', '', $buffer);
            $buffer = preg_replace(array('(( )+{)','({( )+)'), '{', $buffer);
            $buffer = preg_replace(array('(( )+})','(}( )+)','(;( )*})'), '}', $buffer);
            $buffer = preg_replace(array('(;( )+)','(( )+;)'), ';', $buffer);
            return $buffer;
        }

    Yukarıdaki aynı şekilde css sıkıştırma. Yalnız salt .css dosyalarında kullanmalısın

    ------------------------------------------------------

        function js_sıkıştır($buffer) {
            $buffer = str_replace(array("\r","\n\n","\t"), ' ', $buffer);
            return $buffer;
        }

    Yukarıdaki de js sıkıştırma.Koddan da anlayacağın üzere pek bi başarısı yok. Çünkü js sıkıştırmak zulüm bunun için yahoo js compress felan kullanmalısın. Yine bunda da .js dosyalarında kullanmalısın

    --------------------------------------------------------

    Başka sorun varsa cevaplayabilirim canım sıkılmıştı da hocam

    by_Tet tarafından 10/Eyl/13 19:36 tarihinde düzenlenmiştir

    iyibu! yeniden..
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    WildWamqire
    WildWamqire's avatar
    Kayıt Tarihi: 06/Mart/2011
    Erkek

    Eyw hocamm.

    ben  mysqlden 2 tablodan hem css hem js hem html çekiyorum oldugu gibi. şimdi  üç tane örnek gördüm aklım karıstı :))


    Kod yapısı aynen bu sayfanın

    <?php ob_start(); 
    define("Direkerisim",true);
    require 'vt.php';
    require 'fonk.php';
    /*
    $aPAr 0=sitedurum 1=fare 2=bayrak 3=kar 
    */
    $git = g('fm');
    if (!$git){ require '../404.php'; exit();}
    $eksBul = mysql_query("select sahip,sahip_ayarlar,site_hit from ayarlar where sahip='$git'");
    $eksGoster = mysql_fetch_array($eksBul);
    $aPar = explode(',',$eksGoster['sahip_ayarlar']);
    require 'fcs_js.php';
    $iso_bul = mysql_query("select tasarim,stil_kodlari from tasarim where sahip='$git'");
    $tasGoster = mysql_fetch_assoc($iso_bul);
    $tas = yasak(serverislem(stripslashes(trim($tasGoster['tasarim']))));
    $stil = yasak(serverislem(stripslashes(trim($tasGoster['stil_kodlari']))));
    
     Switch ($git) {
        case "".f($eksGoster['sahip'])."";
            if ($aPar[0] == 1) {
                require 'html/share_bar.php';
               echo $stil.$tas ;
            } else {
                require 'bakim.php';
            }
            break;
        default:
    require '../404.php';
            break;
    }
     ob_end_flush();
    ?>

    Abure cubure subure dubure re re re tey tey tey
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Retro
    by_Tet
    by_Tet's avatar
    Kayıt Tarihi: 22/Mayıs/2012
    Erkek
    WildWamqire bunu yazdı

    Eyw hocamm.

    ben  mysqlden 2 tablodan hem css hem js hem html çekiyorum oldugu gibi. şimdi  üç tane örnek gördüm aklım karıstı :))


    Kod yapısı aynen bu sayfanın

     

    Hocam stil kodlarını css_sıkıştır fonksiyonundan geçir.

    Js kodlarını js_sıkıştır fonksiyonundan geçir

    Tüm html kodlarını da dediğim yöntemle html_sıkıştır fonkisyonundan geçir


    iyibu! yeniden..
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    WildWamqire
    WildWamqire's avatar
    Kayıt Tarihi: 06/Mart/2011
    Erkek
    by_Tet bunu yazdı
    WildWamqire bunu yazdı

    Eyw hocamm.

    ben  mysqlden 2 tablodan hem css hem js hem html çekiyorum oldugu gibi. şimdi  üç tane örnek gördüm aklım karıstı :))


    Kod yapısı aynen bu sayfanın

     

    Hocam stil kodlarını css_sıkıştır fonksiyonundan geçir.

    Js kodlarını js_sıkıştır fonksiyonundan geçir

    Tüm html kodlarını da dediğim yöntemle html_sıkıştır fonkisyonundan geçir

     

    function sanitize_output($buffer) {

    $search = array(
    '/\>[^\S ]+/s', // strip whitespaces after tags, except space
    '/[^\S ]+\</s', // strip whitespaces before tags, except space
    '/(\s)+/s' // shorten multiple whitespace sequences
    );

    $replace = array(
    '>',
    '<',
    '\\1'
    );

    $buffer = preg_replace($search, $replace, $buffer);

    return $buffer;
    }

    ob_start('sanitize_output');


    skıştırma için aynen  üsttekini yaptım işe yaradı..


    Abure cubure subure dubure re re re tey tey tey
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Retro
    by_Tet
    by_Tet's avatar
    Kayıt Tarihi: 22/Mayıs/2012
    Erkek
    WildWamqire bunu yazdı
    by_Tet bunu yazdı
    WildWamqire bunu yazdı

    Eyw hocamm.

    ben  mysqlden 2 tablodan hem css hem js hem html çekiyorum oldugu gibi. şimdi  üç tane örnek gördüm aklım karıstı :))


    Kod yapısı aynen bu sayfanın

     

    Hocam stil kodlarını css_sıkıştır fonksiyonundan geçir.

    Js kodlarını js_sıkıştır fonksiyonundan geçir

    Tüm html kodlarını da dediğim yöntemle html_sıkıştır fonkisyonundan geçir

     

    function sanitize_output($buffer) {

    $search = array(
    '/\>[^\S ]+/s', // strip whitespaces after tags, except space
    '/[^\S ]+\ '/(\s)+/s' // shorten multiple whitespace sequences
    );

    $replace = array(
    '>',
    '<',
    '\\1'
    );

    $buffer = preg_replace($search, $replace, $buffer);

    return $buffer;
    }

    ob_start('sanitize_output');


    skıştırma için aynen  üsttekini yaptım işe yaradı..

    Ahah :D Tabiki haklısın hocam doğru bu da.

    Ben mesela çoklu veri çektiğinde felan isteğe bağlı aktarım için söylediğim yöntemle kullanıyordum yazdığım template enginede :) Orjinali senin dediğindir fonksiyonu da ordan almıştım :)


    iyibu! yeniden..
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hybris
    Hybris's avatar
    Kayıt Tarihi: 12/Haziran/2007
    Erkek

    mod_deflate,etag,cdn bunları önce bi araştır.

    js ve css dosya sayını minimum tut. birleştir.

    görselleri metasız kaydet.

    htmlde ilk önce style dosyanı çağır. mümkün olduğunca az inline style kullan. tarayıcı daha çabuk render eder.

    http://tools.pingdom.com/fpt/

    sonra bu şeker toolu kullan yönergelerini harfiyen uygula.

    ilk soruna cevaben; fonksiyonlar çağrılmadıkları sürece çalışmazlar. lakin include ettiğin her satır kod ara bellekte yerini alır.

    blala(); /// direk çağırdım.

    $a = blabla(); /// çağırdım bi de değişkene atadım ara belleğin amına koydum.

    mecbur kalmadıkça değişken kullanmamaya özen göster.


    agile isn’t how fast you can go, it’s how fast you can turn.
Toplam Hit: 839 Toplam Mesaj: 7