PHP nasıl dosya uzantıları gizleyebilirsiniz?

2 Cevap php

Ben bir dizinin içeriğini göstermek için (biraz dizinleri tek tek sınıfları vermek için modifiye) PHP konnektörü ile jquery eklentisi jqueryFileTree kullanıyorum. Ben, ancak, tüm dosya uzantılarını gizlemek istiyorum. Herkes benzer bir şey yaptı mı? Bunu uygulayan bir veya iki şekilde düşünebilirsiniz ancak aşırı karmaşık görünüyor ...

PHP bunu yapmanın nispeten basit bir yolu var mı?

2 Cevap

PHP bağlayıcı koduna baktığımızda, bunu değiştirmek istiyorum:

// All files
foreach( $files as $file ) {
    if( file_exists($root . $_POST['dir'] . $file) && $file != '.' && $file != '..' && !is_dir($root . $_POST['dir'] . $file) ) {
        $ext = preg_replace('/^.*\./', '', $file);
        echo "<li class=\"file ext_$ext\"><a href=\"#\" rel=\"" . htmlentities($_POST['dir'] . $file) . "\">" . htmlentities($file) . "</a></li>";
    }
}

Bu grubu:

// All files
foreach( $files as $file ) {
    if( file_exists($root . $_POST['dir'] . $file) && $file != '.' && $file != '..' && !is_dir($root . $_POST['dir'] . $file) ) {
        $parts = explode(".", $file);
        $ext = array_pop($parts);
        $name = implode(".", $parts);
        echo "<li class=\"file ext_$ext\"><a href=\"#\" rel=\"" . htmlentities($_POST['dir'] . $file) . "\">" . htmlentities($name) . "</a></li>";
    }
}

Bu sağlanan bağlayıcı komut kod tüm bu güvenli değildir ve bu hassas klasörlere erişmek için kötüye kullanıcıları engellemek için adımlar atması gerektiğini unutmayın.

directoryIterator sınıf ve pathinfo() işlevi bakmak.