Results 1 to 7 of 7
http://idgs.in/67425
  1. #1
    LacusKiraForeve's Avatar
    Join Date
    Sep 2007
    Location
    sanju
    Posts
    3,577
    Points
    4,308.80
    Thanks: 0 / 1 / 1

    Default [Ask] PHP Script

    Bro, ada yg jago PHP script ga disini?

    Gue mo tanya nih, gue lagi coba2 bikin intranet buat upload data dan gue ada bbrp masalah nih:

    1. Apakah kalo pake PHP bisa membuat level di dalam security? Jadi misalkan ada ID admin yg bertugas untuk mengupload semua data2 di dalam web intranet itu. Bbrp user yang sudah diberi akses bisa mengakses data itu, tapi kalo user yang ga dikasih akses ga bisa ngeliat datanya. Jadi levelnya disini ada 3, yaitu admin dan member, dan user biasa.

    2. Bagaimana caranya memberi fitur upload dan memunculkan filenya di web itu? Sementara, gue uda bisa seperti ini:

    Code:
    <?
    //if(trim($namafile)) print "<b> namafile : $namafile</b>";
    
    print "Nama File : $namafile <br>";
    print "Nama file asli : $namafile_name<br>";
    print "Ukuran File : $namafile_size<br>";
    print "Type file : $namafile_type<br>";
    
    ?>
    
    <form action = "upload2.php" method=post ENCTYPE="multipart/form-data">
    <br><B> Nama File :</b><input type=file name=namafile> <br>
    <input type=submit name=submit value=UPLOAD>
    
    
    
    
    </form>
    Oh btw, itu yg upload2.php seharusnya ke echo self, tp gua pake itu soalnya lupa script buat ke self. Skrg, gua bisa upload tapi disimpan di direktori temp, gua maunya lgsg muncul di page itu link buat ke datanya, misalkan data berupa PDF atau word, dll.

    3. Bagaimana caranya di 1 web page, untuk ID yg berlevel admin bisa melihat
    Code:
    <form action = "upload2.php" method=post ENCTYPE="multipart/form-data">
    <br><B> Nama File :</b><input type=file name=namafile> <br>
    <input type=submit name=submit value=UPLOAD>
    
    
    
    
    </form>
    sedangkan yang lain tidak bisa melihatnya?


    Mohon dibantu

    P.S.: Untuk database penyimpanan ID dan password, gue pake phpMyAdmin
    ...Love Sanju Always...

  2. Hot Ad
  3. #2
    trogdor's Avatar
    Join Date
    Nov 2006
    Location
    Lake Tit-i-Caca
    Posts
    434
    Points
    506.90
    Thanks: 0 / 0 / 0

    Default

    1. Apakah kalo pake PHP bisa membuat level di dalam security? Jadi misalkan ada ID admin yg bertugas untuk mengupload semua data2 di dalam web intranet itu. Bbrp user yang sudah diberi akses bisa mengakses data itu, tapi kalo user yang ga dikasih akses ga bisa ngeliat datanya. Jadi levelnya disini ada 3, yaitu admin dan member, dan user biasa.
    Bisa ditambahkan field role di table user.
    Contoh:
    Role 1 (Admin): Bisa baca, tulis dan hapus.
    Role 2 (Member): Cuma bisa baca.
    Role 3 (User): Ga bisa ngapa-ngapain.

    Sebelum menampilkan halamannya, lihat dulu privilegenya, apakah orang tersebut mempunyai hak untuk membuka halaman tersebut.

    2. Bagaimana caranya memberi fitur upload dan memunculkan filenya di web itu? Sementara, gue uda bisa seperti ini:

    Code:
    <?
    //if(trim($namafile)) print "<b> namafile : $namafile</b>";
    
    print "Nama File : $namafile <br>";
    print "Nama file asli : $namafile_name<br>";
    print "Ukuran File : $namafile_size<br>";
    print "Type file : $namafile_type<br>";
    
    ?>
    
    <form action = "upload2.php" method=post ENCTYPE="multipart/form-data">
    <br><B> Nama File :</b><input type=file name=namafile> <br>
    <input type=submit name=submit value=UPLOAD>
    
    
    
    
    </form>
    Oh btw, itu yg upload2.php seharusnya ke echo self, tp gua pake itu soalnya lupa script buat ke self. Skrg, gua bisa upload tapi disimpan di direktori temp, gua maunya lgsg muncul di page itu link buat ke datanya, misalkan data berupa PDF atau word, dll.
    Coba tambahkan kira-kira seperti ini:

    Code:
    <?php
    $dir = 'path/to/file/';
    $file = $dir.basename($_FILES['namafile']['name']);
    
    if (move_uploaded_file($_FILES['namafile']['tmp_name'], $file)) {
        echo "File sudah diupload.\r\n<br/><a href=\"path/to/file/{basename($_FILES['namafile']['name'])}\">File</a>"; 
    } else {
        echo "File tidak berhasil diupload.\r\n";
    }
    ?>
    Pastikan scriptnya bisa menulis ke directory tersebut dan sesuaikan pathnya.
    3. Bagaimana caranya di 1 web page, untuk ID yg berlevel admin bisa melihat
    Code:
    <form action = "upload2.php" method=post ENCTYPE="multipart/form-data">
    <br><B> Nama File :</b><input type=file name=namafile> <br>
    <input type=submit name=submit value=UPLOAD>
    
    
    
    
    </form>
    sedangkan yang lain tidak bisa melihatnya?
    Caranya sama seperti point 1 tadi.
    Last edited by trogdor; 26-03-08 at 19:36.
    DISCLAIMER
    By reading my post, you agree to this disclaimer regardless of anything. You also agree that my views and opinions are always right and you are always wrong. This disclaimer supersedes anything, even if your whatever says it supersedes mine, mine still supersedes yours. Any complain should be sent to trogdor[at]rekrfeht[dot]com which does not exist. Even if it does, I still will not read your mail. Instead, it will be automatically redirected to /dev/null.


    And... following the recent trend:
    http://www.speedtest.net/result/342496256.png

  4. #3
    LacusKiraForeve's Avatar
    Join Date
    Sep 2007
    Location
    sanju
    Posts
    3,577
    Points
    4,308.80
    Thanks: 0 / 1 / 1

    Default

    Tq bro uda dijawab.

    Masih ada pertanyaan lagi nih, maap kl byk tanya...masih nub >.<

    Yg upload sudah bisa dan bisa ditaro di directory yg ditentukan, tapi bagaimana caranya agar yg diupload itu bisa langsung kita munculkan linknya di bawah form upload itu? dan setiap kali di upload akan selalu muncul baru lagi link sesuai dari nama file yang di upload.

    Dan yang tentang field role itu, kalo di codingnya nanti jadi kyk gimana yah? apakah seperti ini?
    Code:
    switch($_SESSION['group'])
    {
        case 'admin':
        break;
        default: die ('Maaf anda tidak boleh mengakses halaman ini!');
    }
    Kalo seperti itu, artinya kan hanya admin yg bisa mengakses halaman tersebut. Apakah bisa dibuat yg form upload hanya bisa dilihat oleh admin, sedangkan member biasa hanya bisa melihat file2 yang sudah diupload?
    ...Love Sanju Always...

  5. #4
    trogdor's Avatar
    Join Date
    Nov 2006
    Location
    Lake Tit-i-Caca
    Posts
    434
    Points
    506.90
    Thanks: 0 / 0 / 0

    Angry

    Yg upload sudah bisa dan bisa ditaro di directory yg ditentukan, tapi bagaimana caranya agar yg diupload itu bisa langsung kita munculkan linknya di bawah form upload itu? dan setiap kali di upload akan selalu muncul baru lagi link sesuai dari nama file yang di upload.
    Bikin loop aja buat nampilin file-filenya. Nama filenya disimpen di DB kan?

    Dan yang tentang field role itu, kalo di codingnya nanti jadi kyk gimana yah? apakah seperti ini?
    Code:
    switch($_SESSION['group'])
    {
        case 'admin':
        break;
        default: die ('Maaf anda tidak boleh mengakses halaman ini!');
    }
    Kalo seperti itu, artinya kan hanya admin yg bisa mengakses halaman tersebut. Apakah bisa dibuat yg form upload hanya bisa dilihat oleh admin, sedangkan member biasa hanya bisa melihat file2 yang sudah diupload?
    Kira-kira kasarnya mungkin seperti ini:

    Code:
    <?php
    $group = $_SESSION['group'];
    
    //Kalo belum login berarti session group kosong kan? Kalo $group = 'user'; Sesuaikan saja. =)
    if (!$group) { 
        header('location:access_violation.php'); //atau redirect ke login form.
    }
    
    if ($group == 'admin') {
        //Bikin form disini.
    }
    
    //Tampilkan file-filenya disini. Yang bisa lihat file-file disini hanya member dan admin karena user sudah diredirect diatas tadi.
    ?>
    DISCLAIMER
    By reading my post, you agree to this disclaimer regardless of anything. You also agree that my views and opinions are always right and you are always wrong. This disclaimer supersedes anything, even if your whatever says it supersedes mine, mine still supersedes yours. Any complain should be sent to trogdor[at]rekrfeht[dot]com which does not exist. Even if it does, I still will not read your mail. Instead, it will be automatically redirected to /dev/null.


    And... following the recent trend:
    http://www.speedtest.net/result/342496256.png

  6. #5
    LacusKiraForeve's Avatar
    Join Date
    Sep 2007
    Location
    sanju
    Posts
    3,577
    Points
    4,308.80
    Thanks: 0 / 1 / 1

    Default

    Nama filenya buat sementara disimpan dalam HDD. Codingnya kira2 gimana yah bro buat nampilinnya file yg uda diupload?
    ...Love Sanju Always...

  7. #6
    trogdor's Avatar
    Join Date
    Nov 2006
    Location
    Lake Tit-i-Caca
    Posts
    434
    Points
    506.90
    Thanks: 0 / 0 / 0

    Default

    Code:
    <?php
    if ($handle = opendir('/path/to/file')) {
    	while (($file = readdir($handle)) !== false) {
    		if (($file != ".") && ($file != "..")) {
    			echo "<a href=\"/path/to/file/$file\">$file</a>";
    		}
    	}
    	closedir($handle);
    }
    ?>
    DISCLAIMER
    By reading my post, you agree to this disclaimer regardless of anything. You also agree that my views and opinions are always right and you are always wrong. This disclaimer supersedes anything, even if your whatever says it supersedes mine, mine still supersedes yours. Any complain should be sent to trogdor[at]rekrfeht[dot]com which does not exist. Even if it does, I still will not read your mail. Instead, it will be automatically redirected to /dev/null.


    And... following the recent trend:
    http://www.speedtest.net/result/342496256.png

  8. #7
    LacusKiraForeve's Avatar
    Join Date
    Sep 2007
    Location
    sanju
    Posts
    3,577
    Points
    4,308.80
    Thanks: 0 / 1 / 1

    Default

    tq bro...coba dulu


    Edit: Uda bisa, tapi kok ga bisa diopen yah?

    Sama gua jg dapet 1 lagi script seperti ini:

    Code:
    $path = "C:/AppServ/www/training/test";
    function getFiles($path) {
       //Function takes a path, and returns a numerically indexed array of associative arrays containing file information,
       //sorted by the file name (case insensitive).  If two files are identical when compared without case, they will sort
       //relative to each other in the order presented by readdir()
       $files = array();
       $fileNames = array();
       $i = 0;
      
       if (is_dir($path)) {
           if ($dh = opendir($path)) {
               while (($file = readdir($dh)) !== false) {
                   if ($file == "." || $file == "..") continue;
                   $fullpath = $path . "/" . $file;
                   $fkey = strtolower($file);
                   while (array_key_exists($fkey,$fileNames)) $fkey .= " ";
                   $a = stat($fullpath);
                   $files[$fkey]['size'] = $a['size'];
                   if ($a['size'] == 0) $files[$fkey]['sizetext'] = "-";
                   else if ($a['size'] > 1024) $files[$fkey]['sizetext'] = (ceil($a['size']/1024*100)/100) . " K";
                   else if ($a['size'] > 1024*1024) $files[$fkey]['sizetext'] = (ceil($a['size']/(1024*1024)*100)/100) . " Mb";
                   else $files[$fkey]['sizetext'] = $a['size'] . " bytes";
                   $files[$fkey]['name'] = $file;
                   $files[$fkey]['type'] = filetype($fullpath);
                   $fileNames[$i++] = $fkey;
               }
               closedir($dh);
           } else die ("Cannot open directory:  $path");
       } else die ("Path is not a directory:  $path");
       sort($fileNames,SORT_STRING);
       $sortedFiles = array();
       $i = 0;
       foreach($fileNames as $f) $sortedFiles[$i++] = $files[$f];
      
       return $sortedFiles;
    }
    
    $files = getFiles("./");
    foreach ($files as $file) print "&nbsp;&nbsp;&nbsp;&nbsp;<b><a href=\"$file[name]\">$file[name]</a></b><br>\n";
    Tp kl disana, kenapa yg dibuka directorynya adalah directory training? Padahal gua uda specify pathnya pake $path = "C:/AppServ/www/training/test";
    Tapi bisa diopen filenya.
    Last edited by LacusKiraForeve; 02-04-08 at 15:58.
    ...Love Sanju Always...

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •