10/10/2018, 10:28
scan thư mục bằng php
Chào các pro!
Mình đăng gặp vấn đề mà không biết phải làm như thế nào.
Số là ông sếp có đưa một công việc cho mình là scan tất cả các thư mục từ một url cho trước và lưu vào database.
Mình đã scan vào lưu vào datbase được nhưng mình không biết làm cách nào mà có thể lưu các thư mục ấy vào database dạng đa cấp giống như cấu trúc thư mục bên ngoài win(lưu như dạng menu đa cấp).
Pro nào biết thì chỉ mình với.
Thank các pro
Mình đăng gặp vấn đề mà không biết phải làm như thế nào.
Số là ông sếp có đưa một công việc cho mình là scan tất cả các thư mục từ một url cho trước và lưu vào database.
Mình đã scan vào lưu vào datbase được nhưng mình không biết làm cách nào mà có thể lưu các thư mục ấy vào database dạng đa cấp giống như cấu trúc thư mục bên ngoài win(lưu như dạng menu đa cấp).
Pro nào biết thì chỉ mình với.
Thank các pro
Bài liên quan
PARENT đánh index
ID(int, auto-increase, primary); NAME (varchar(225)); PARENT (int)
Vậy ví dụ: khi mình có ở trên ổ C, một thư mục "Phim Khieu Dam" và trong đó có 2 folder "phim chau au" và "phim nhat ban"
thì lưu như vầy:
-test 1
---testa
------test 5
------test 5
---------test a1
---------test a2
------test 5
---testb
---testc
- test2
nếu cấu trúc như vậy thì làm sao mà lấy id được. Mình không thể xác định được PARENT cho thư mục testb.
Mong giúp đỡ
---testa
------test 5
------test 5
---------test a1
---------test a2
------test 5
---testb
---testc
- test2
Theo ví du trên, thư mục test 1 không có cha, giả sử cho nó giá trị AA thì thư mục testa sẽ có id là AA01, testb là AA02, testc là AA03,... Tương tự, test 5 sẽ là AA0101, AA0102, AA0103,... test a1 là AA010201, test a2 là AA010202...
Như vậy, nhìn vào 1 ID bạn s4 biết "độ sâu" của nó (dựa vào độ dài ID) và đường dẫn của nó
Bảng ID =>
Nếu có code thì hay quá.
Code của mình nhu sau:
//scan thu mục
function listdir($path)
{
if ($handle=opendir($path))
{
$parrentid = 0;
while (false!==($file=readdir($handle)))
{
if ($file<>"." AND $file<>"..")
{
if (is_dir($path.'/'.$file))
{
if(getIDDir("mathumuc","thumuc") != "")
$parrentid = getIDDir("mathumuc","thumuc");
saveDir($file,$parrentid,getIDDir("idroot","h_root dir"));
listdir($path.'/'.$file);
}
}
}
}
}
//Luu thong tin thu muc vao bang thumuc
function saveDir($tenthumuc,$parrentid,$idroot)
{
global $data;
$sql = "INSERT INTO thumuc(tenthumuc,parrentid,idroot) VALUES('".$tenthumuc."','".$parrentid."','".$idroo t."')" ;
$data->query($sql);
}
//Ham lay thông tin id sau cung
function getIDDir($id,$table)
{
global $data;
$sql= "SELECT $id FROM $table ORDER BY $id DESC LIMIT 0,1";
$result=$data->query($sql);
$display = "";
while($result_news = $data->fetch_array($result))
{
$display = $result_news[$id];
}
return $display ;
}
idroot chì là url mà mình chọn.
ai có code thì chỉ luôn cho nhanh, chứ nói không thì khó làm quá.
http://ddth.com/showthread.php?t=357067
Mình cần là code khi scan thư mục từ win vào và lưu theo dạng menu đa cấp. Cái mình không biết là viết code như thế nào để xác định đúng các cấp của thư mục khi lưu vào database theo cấu trúc trên win.
Còn cách lấy ra thì mình biết.
[=========> Bổ sung bài viết <=========]
Mình đã lànm ra rồi .
Thanks mọi người đã hướng dẫn