Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: прочитать содержимое и построить дерево из очень большого файла
 
 автор: elenaki   (17.02.2010 в 20:09)   письмо автору
 
 

клиенту срочно понадобилось (не могу понять, зачем), выложить на сайте дерево каталога его жесткого диска (там у него музыка разная). причем, сама музыка не выкладывается, только названия композиций. проблема в том, что файл с каталогом весит аж 60Мб! я ему сначала сказала, что РНР может прочитать файл, разложить его и построить дерево. но когда увидела размер, ужаснулась. ладно, допустим, РНР прочитает его частями, сохранит, но как потом выводить дерево, ведь с тэгами может получиться и все 100Мб! а он хочет еще и обновления заливать время от времени...

откуда только берутся такие заказчики... один просит нас сделать сайт, чтоб работал как его настольное приложение (там у него выпадающие списки на 12 тысяч строк!)...

  Ответить  
 
 автор: heed   (17.02.2010 в 20:27)   письмо автору
 
   для: elenaki   (17.02.2010 в 20:09)
 

заставьте его ,) выполнить пару комманд
>cd /d X:\MUZON
>dir /S > X:\mp3list.txt

можно ему bat-файл отправить
и пусть шлёт такие файлы.txt
, только формат файла не очень компактный, надо-бы посмотреть чего в справке dir /?

//upd
dir /S/B >X:\list.txt вроде ничего, но с лишними буквами и без размеров

  Ответить  
 
 автор: elenaki   (17.02.2010 в 20:53)   письмо автору
 
   для: heed   (17.02.2010 в 20:27)
 

мы ему послали программу для составления списка, но ему не нужен список (он нам его прислал обратно, весит 60 Мб, txt), ему нужно дерево на сайте. зла не хватает! они думают, что если на хостинге есть гигабайт места, то можно гигабайтные архивы в интернет выкладывать...

  Ответить  
 
 автор: heed   (17.02.2010 в 21:03)   письмо автору
 
   для: elenaki   (17.02.2010 в 20:53)
 

я обычно скриптом разбиваю , если в редакторе нужно поредактировать,
а так можно и выводить сразу из этого файла, только без списка позиций начал списков отдельных дирректорий наверное каждый раз искать в файле с какого по какое выводить будет медленно работать.

Или там настолько всё запущено что выводить содержимое одной дирректории на страницу тоже не вариант ?
И было-бы интересно увидеть примерно какого формата там записи.

  Ответить  
 
 автор: elenaki   (17.02.2010 в 21:26)   письмо автору
 
   для: heed   (17.02.2010 в 21:03)
 

сам файл на работе остался. разобрать-то я его разберу. меня пугает его объем. и хочу все-таки еще раз уточнить у клиента, что именно он хочет увидеть на сайте... может, проще будет в базу все это распихать и выводить частями...

  Ответить  
 
 автор: TrianoN   (17.02.2010 в 22:15)   письмо автору
 
   для: elenaki   (17.02.2010 в 21:26)
 

В базу и положите.
Нужно только правильно выбрать метод хранения.
Если частые именения дерева будут - лучше хранить в Adjacency list
Если изменения редкие - лучше в Nested sets.

  Ответить  
 
 автор: heed   (17.02.2010 в 22:25)   письмо автору
 
   для: TrianoN   (17.02.2010 в 22:15)
 

всё-таки структуру папок лучше всегда перезаписывать полностью,и обычно это сравнительно немного данных

  Ответить  
 
 автор: heed   (17.02.2010 в 22:20)   письмо автору
 
   для: elenaki   (17.02.2010 в 21:26)
 

> в базу все это
самый наверное лучший вариант,
только вряд-ли получится сделать так-же как при считывании живой папки
у меня папка в таком виде считывается в таблицы,

содержащиеся в ней папки
 id     level     enc     vlo     addr     name     dscr 
 1    cp1251    1    APACHE/    APACHE     
 2    2    cp1251    0    APACHE/MAN/    MAN     
 3    2    cp1251    1    APACHE/mods/    mods     
 4    3    cp1251    1    APACHE/mods/Auth/    Auth     
 5    3    cp1251    1    APACHE/mods/Expires/    Expires 

level (уровень вложенности для динамического меню) высчитывается скриптом обходящим папки
enc и vlo ( кодировки и указатель искать/включать-ли в список вложенные папки ) наследуется, или переопределяется если там найден файл, в котором это прописано ( vlo ещё пригождается местами при считывании другим скриптом уже самих файлов)
, а сами имена файлов в
      id  p_id     addr     dscr    cnts
38    2    license.html    The Apache License, Version 2.0 - Apache HTTP Serv...    ........
39    2    logs.html    Log Files - Apache HTTP Server    ...............
40    2    misc/index.html    Apache Miscellaneous Documentation - Apache HTTP S...    .........
41    2    misc/password_encryptions.html    Password Formats - Apache HTTP Server    ..............

только для полнотекстового поиска впринципе туда записывал слегка подчищенный текст.(не умещается правда заполнение второй таблицы ни в какие time_limit :))

С просто текстовым файлом я так понял можно тоже что-нибудь добавить повторным его чтением, но уже наверное не с такими ручными регулировками как просто добавление каких-нибудь файликов _dsc.dat в любые папки.
я так думаю :)

  Ответить  
 
 автор: elenaki   (21.02.2010 в 12:08)   письмо автору
 
   для: heed   (17.02.2010 в 22:20)
 


---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
f:\MUSIC\BLUES\Barbara & The Browns\ (0)                         52.214.901 28-01-2010 16:33 -----                                                                                                                  
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
<Can't Find Happiness The Sounds Of Memphis Recordins>                <DIR> 28-01-2010 16:33 -----                                                                                                                  
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
f:\MUSIC\BLUES\Barbara & The Browns\Can't Find Happiness The     52.214.901 28-01-2010 16:33 -----                                                                                                                  
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
01 - Barbara & The Browns - Can't Find No Happiness.mp3           2.196.393 20-12-2007 13:44 -a--- 1   Can't Find No Happiness Barbara and the Browns Can't Find Happiness: the Soun 2007            
02 - Barbara & The Browns - It Hurts Me So Much (To Be Able       2.283.129 20-12-2007 13:44 -a--- 2   It Hurts Me So Much (To Be Abl Barbara and the Browns Can't Find Happiness: the Soun 2007            
03 - Barbara & The Browns - If I Can't Run To You I'll Crawl      2.564.604 20-12-2007 13:45 -a--- 3   If I Can't Run To You I'll Cra Barbara and the Browns Can't Find Happiness: the Soun 2007            
04 - Barbara & The Browns - I Don't Want To Have To Wait.mp3      2.677.611 20-12-2007 13:45 -a--- 4   I Don't Want To Have To Wait Barbara and the Browns Can't Find Happiness: the Soun 2007            
05 - Barbara & The Browns - Pity A Fool.mp3                       2.763.930 20-12-2007 13:45 -a--- 5   Pity A Fool Barbara and the Browns Can't Find Happiness: the Soun 2007            
06 - Barbara & The Browns - Big Party.mp3                         2.600.883 20-12-2007 13:45 -a--- 6   Big Party Barbara and the Browns Can't Find Happiness: the Soun 2007            
07 - Barbara & The Browns - Plenty Of Room.mp3                    2.374.452 20-12-2007 13:45 -a--- 7   Plenty Of Room Barbara and the Browns Can't Find Happiness: the Soun 2007            
08 - Barbara & The Browns - I'm Gonna Start A War.mp3             2.301.894 20-12-2007 13:45 -a--- 8   I'm Gonna Start A War Barbara and the Browns Can't Find Happiness: the Soun 2007            
09 - Barbara & The Browns - Got To Be Somebody.mp3                2.513.730 20-12-2007 13:45 -a--- 9   Got To Be Somebody Barbara and the Browns Can't Find Happiness: the Soun 2007            
10 - Barbara & The Browns - Watch Dog.mp3                         2.282.712 20-12-2007 13:45 -a--- 10  Watch Dog Barbara and the Browns Can't Find Happiness: the Soun 2007            
11 - Barbara & The Browns - Man Around The House.mp3              2.738.076 20-12-2007 13:45 -a--- 11  Man Around The House Barbara and the Browns Can't Find Happiness: the Soun 2007            
12 - Barbara & The Browns - Got To Be Somebody.mp3                2.314.821 20-12-2007 13:46 -a--- 12  Got To Be Somebody Barbara and the Browns Can't Find Happiness: the Soun 2007            
13 - Barbara & The Browns - Things Have Gone To Pieces.mp3        3.994.080 20-12-2007 13:46 -a--- 13  Things Have Gone To Pieces Barbara and the Browns Can't Find Happiness: the Soun 2007            
14 - Barbara & The Browns - Play Thing.mp3                        1.859.040 20-12-2007 13:46 -a--- 14  Play Thing Barbara and the Browns Can't Find Happiness: the Soun 2007            
15 - Barbara & The Browns - Great Big Thing.mp3                   2.668.854 20-12-2007 13:46 -a--- 15  Great Big Thing Barbara and the Browns Can't Find Happiness: the Soun 2007            
16 - Barbara & The Browns - There's A Look On Your Face.mp3       2.715.975 20-12-2007 13:46 -a--- 16  There's A Look On Your Face Barbara and the Browns Can't Find Happiness: the Soun 2007            
17 - Barbara & The Browns - If It's Good To You (It's Good F      2.429.079 20-12-2007 13:46 -a--- 17  If It's Good To You (It's Good Barbara and the Browns Can't Find Happiness: the Soun 2007            
18 - Barbara & The Browns - Watch Dog.mp3                         2.509.143 20-12-2007 13:46 -a--- 18  Watch Dog Barbara and the Browns Can't Find Happiness: the Soun 2007            
19 - Barbara & The Browns - Things Have Gone To Pieces.mp3        4.069.140 20-12-2007 13:46 -a--- 19  Things Have Gone To Pieces Barbara and the Browns Can't Find Happiness: the Soun 2007            
20 - Barbara & The Browns - It Hurts Me So Much (To Be Able       2.357.355 20-12-2007 13:46 -a--- 20  It Hurts Me So Much (To Be Abl Barbara and the Browns Can't Find Happiness: the Soun 2007            
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
f:\MUSIC\BLUES\Big Joe Williams\ (0)                             59.034.156 28-01-2010 16:33 -----                                                                                                                  
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
<Baby Please Dont Go>                                                 <DIR> 28-01-2010 16:33 -----                                                                                                                  
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
f:\MUSIC\BLUES\Big Joe Williams\Baby Please Dont Go\ (21)        59.034.156 28-01-2010 16:33 -----                                                                                                                  
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
01 - Big Joe Williams - Bad And Weakhearted Blues.mp3             2.621.316 06-03-2009 06:46 -a--- 1   Bad And Weakhearted Blues Big Joe Williams Baby Please Dont Go 1947            
02 - Big Joe Williams - I&#180;m Getting Wild About Her.mp3            2.688.870 06-03-2009 06:46 -a--- 2   I/m Getting Wild About Her Big Joe Williams Baby Please Dont Go 1941            
03 - Big Joe Williams - North Wind Blows.mp3                      2.789.784 06-03-2009 06:46 -a--- 3   North Wind Blows Big Joe Williams Baby Please Dont Go 1941            
04 - Big Joe Williams - Baby Please Don&#180;t Go.mp3                  2.679.696 06-03-2009 06:46 -a--- 4   Baby Please Don/t Go Big Joe Williams Baby Please Dont Go 1947            
05 - Big Joe Williams - My Grey Pony.mp3                          3.063.336 06-03-2009 06:46 -a--- 5   My Grey Pony Big Joe Williams Baby Please Dont Go 1935            
06 - Big Joe Williams - Wild Cow Blues.mp3                        3.134.226 06-03-2009 06:46 -a--- 6   Wild Cow Blues Big Joe Williams Baby Please Dont Go 1935            
07 - Big Joe Williams - Vitamin A.mp3                             2.684.700 06-03-2009 06:46 -a--- 7   Vitamin A Big Joe Williams Baby Please Dont Go 1945            
08 - Big Joe Williams - Peach Orchard Mama.mp3                    2.595.462 06-03-2009 06:46 -a--- 8   Peach Orchard Mama Big Joe Williams Baby Please Dont Go 1941            
09 - Big Joe Williams - Jiving Woman.mp3                          2.687.202 06-03-2009 06:46 -a--- 9   Jiving Woman Big Joe Williams Baby Please Dont Go 1949            
10 - Big Joe Williams - Throw A Boogie Woogie.mp3                 2.594.211 06-03-2009 06:46 -a--- 10  Throw A Boogie Woogie Big Joe Williams Baby Please Dont Go 1941            
11 - Big Joe Williams - Little Leg Woman.mp3                      3.004.539 06-03-2009 06:46 -a--- 11  Little Leg Woman Big Joe Williams Baby Please Dont Go 1935            
12 - Big Joe Williams - House Lady Blues.mp3                      2.839.824 06-03-2009 06:47 -a--- 12  House Lady Blues Big Joe Williams Baby Please Dont Go 1947            
13 - Big Joe Williams - Crawling King Snake.mp3                   2.732.238 06-03-2009 06:47 -a--- 13  Crawling King Snake Big Joe Williams Baby Please Dont Go 1941            
14 - Big Joe Williams - She&#180;s A Married Woman.mp3                 2.592.543 06-03-2009 06:47 -a--- 14  She/s A Married Woman Big Joe Williams Baby Please Dont Go 1949            
15 - Big Joe Williams - Stack O Dollars.mp3                       3.072.510 06-03-2009 06:47 -a--- 15  Stack O Dollars Big Joe Williams Baby Please Dont Go 1947            
16 - Big Joe Williams - Break &#180;Em On Down.mp3                     3.082.518 06-03-2009 06:47 -a--- 16  Break /Em On Down Big Joe Williams Baby Please Dont Go 1941            
17 - Big Joe Williams - Providence Help The Poor People.mp3       2.983.689 06-03-2009 06:47 -a--- 17  Providence Help The Poor Peopl Big Joe Williams Baby Please Dont Go 1935            
18 - Big Joe Williams - Someday Baby.mp3                          3.042.486 06-03-2009 06:47 -a--- 18  Someday Baby Big Joe Williams Baby Please Dont Go 1941            
19 - Big Joe Williams - Somebody&#180;s Been Borrowing That Stuff      2.963.256 06-03-2009 06:47 -a--- 19  Somebody&#180;s Been Borrowing That Big Joe Williams Baby Please Dont Go 1935            
20 - Big Joe Williams - Worried Man Blues.mp3                     2.545.005 06-03-2009 06:47 -a--- 20  Worried Man Blues Big Joe Williams Baby Please Dont Go 1935            
21 - Big Joe Williams - His Spirit Lives On.mp3                   2.636.745 06-03-2009 06:47 -a--- 21  His Spirit Lives On Big Joe Williams Baby Please Dont Go 1945            
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
f:\MUSIC\BLUES\Big Mama Thornton\ (0)                            55.410.063 28-01-2010 16:33 -----                                                                                                                  
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
<The Original Hound Dog>                                              <DIR> 28-01-2010 16:33 -----                                                                                                                  
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
f:\MUSIC\BLUES\Big Mama Thornton\The Original Hound Dog\ (22     55.410.063 28-01-2010 16:33 -----                                                                                                                  
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
01 - Big Mama Thornton - Hound Dog.mp3                            2.773.104 27-03-2009 11:24 -a--- 1   Hound Dog Big Mama Thornton The Original Hound Dog 1952            
02 - Big Mama Thornton - Walking Blues.mp3                        2.901.123 27-03-2009 11:24 -a--- 2   Walking Blues Big Mama Thornton The Original Hound Dog 1952            
03 - Big Mama Thornton - My Man Called Me.mp3                     2.556.681 27-03-2009 11:24 -a--- 3   My Man Called Me Big Mama Thornton The Original Hound Dog 1957            
04 - Big Mama Thornton - Cotton Picking Blues.mp3                 2.711.805 27-03-2009 11:24 -a--- 4   Cotton Picking Blues Big Mama Thornton The Original Hound Dog 1953            
05 - Big Mama Thornton - Willie Mae's Trouble.mp3                 2.592.543 27-03-2009 11:24 -a--- 5   Willie Mae's Trouble Big Mama Thornton The Original Hound Dog 1969            
06 - Big Mama Thornton - The Big Change.mp3                       2.622.984 27-03-2009 11:24 -a--- 6   The Big Change Big Mama Thornton The Original Hound Dog 1953            
07 - Big Mama Thornton - I Smell A Rat.mp3                        1.657.212 27-03-2009 11:24 -a--- 7   I Smell A Rat Big Mama Thornton The Original Hound Dog 1954            
08 - Big Mama Thornton - I Just Can't Help Myself.mp3             2.823.978 27-03-2009 11:25 -a--- 8   I Just Can't Help Myself Big Mama Thornton The Original Hound Dog 1969            
09 - Big Mama Thornton - They Call Me Big Mama.mp3                2.004.990 27-03-2009 11:25 -a--- 9   They Call Me Big Mama Big Mama Thornton The Original Hound Dog 1953            
10 - Big Mama Thornton - Hard Times.mp3                           2.145.519 27-03-2009 11:25 -a--- 10  Hard Times Big Mama Thornton The Original Hound Dog 
11 - Big Mama Thornton - I Ain't No Fool Either.mp3               2.278.125 27-03-2009 11:25 -a--- 11  I Ain't No Fool Either Big Mama Thornton The Original Hound Dog 1953            
12 - Big Mama Thornton - You Don't Move Me No More.mp3            2.628.405 27-03-2009 11:25 -a--- 12  You Don't Move Me No More Big Mama Thornton The Original Hound Dog 1955            
13 - Big Mama Thornton - Let Your Tears Fall Baby.mp3             2.675.526 27-03-2009 11:25 -a--- 13  Let Your Tears Fall Baby Big Mama Thornton The Original Hound Dog 1952            
14 - Big Mama Thornton - I've Searched The World Over.mp3         2.527.074 27-03-2009 11:26 -a--- 14  I've Searched The World Over Big Mama Thornton The Original Hound Dog 1954            
15 - Big Mama Thornton - Rock A Bye Baby.mp3                      2.505.807 27-03-2009 11:26 -a--- 15  Rock A Bye Baby Big Mama Thornton The Original Hound Dog 1953            
16 - Big Mama Thornton - How Come.mp3                             2.498.301 27-03-2009 11:26 -a--- 16  How Come Big Mama Thornton The Original Hound Dog 1955            
17 - Big Mama Thornton - Nightmare.mp3                            2.775.606 27-03-2009 11:26 -a--- 17  Nightmare Big Mama Thornton The Original Hound Dog 1952            
18 - Big Mama Thornton - Stop A-Hoppin' On Me.mp3                 2.360.691 27-03-2009 11:26 -a--- 18  Stop A-Hoppin' On Me Big Mama Thornton The Original Hound Dog 1954            
19 - Big Mama Thornton - Laugh Laugh Laugh.mp3                    2.635.077 27-03-2009 11:26 -a--- 19  Laugh, Laugh, Laugh Big Mama Thornton The Original Hound Dog 1955            
20 - Big Mama Thornton - Just Like A Dog (Barking Up The Wro      2.673.024 27-03-2009 11:26 -a--- 20  Just Like A Dog (Barking Up Th Big Mama Thornton The Original Hound Dog 1957            
21 - Big Mama Thornton - The Fish.mp3                             2.606.721 27-03-2009 11:27 -a--- 21  The Fish Big Mama Thornton The Original Hound Dog 1955            
22 - Big Mama Thornton - Mischievous Boogie.mp3                   2.455.767 27-03-2009 11:27 -a--- 22  Mischievous Boogie Big Mama Thornton The Original Hound Dog 1952            
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
f:\MUSIC\BLUES\Bobby 'Blue' Bland & Little Junior Parker\ (0     74.675.370 28-01-2010 16:33 -----                                                                                                                  
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
<The Earls Of Duke>                                                   <DIR> 28-01-2010 16:33 -----                                                                                                                  
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
f:\MUSIC\BLUES\Bobby 'Blue' Bland & Little Junior Parker\The     74.675.370 28-01-2010 16:33 -----                                                                                                                  
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
01 - Bobby 'Blue' Bland & Little Junior Parker - No Blow No       2.844.411 20-12-2007 13:35 -a--- 1   No Blow, No Show Bobby 'blue' Bland and Little  Earls of Duke, The 1958            
02 - Bobby 'Blue' Bland & Little Junior Parker - IOU Blues.m      3.044.988 20-12-2007 13:35 -a--- 2   IOU Blues Bobby 'blue' Bland and Little  Earls of Duke, The 1958            
03 - Bobby 'Blue' Bland & Little Junior Parker - Lovin' Blue      3.145.902 20-12-2007 13:36 -a--- 3   Lovin' Blues Bobby 'blue' Bland and Little  Earls of Duke, The 1958            
04 - Bobby 'Blue' Bland & Little Junior Parker - Wise Man Bl      2.706.801 20-12-2007 13:36 -a--- 4   Wise Man Blues Bobby 'blue' Bland and Little  Earls of Duke, The 1958            
05 - Bobby 'Blue' Bland & Little Junior Parker - Army Blues.      2.544.171 20-12-2007 13:36 -a--- 5   Army Blues Bobby 'blue' Bland and Little  Earls of Duke, The 1958            
06 - Bobby 'Blue' Bland & Little Junior Parker - Please Baby      2.571.276 20-12-2007 13:36 -a--- 6   Please Baby Blues Bobby 'blue' Bland and Little  Earls of Duke, The 1958            
07 - Bobby 'Blue' Bland & Little Junior Parker - Dirty Frien      2.910.714 20-12-2007 13:36 -a--- 7   Dirty Friend Blues Bobby 'blue' Bland and Little  Earls of Duke, The 1958            
08 - Bobby 'Blue' Bland & Little Junior Parker - Can't Under      2.710.971 20-12-2007 13:36 -a--- 8   Can't Understand Bobby 'blue' Bland and Little  Earls of Duke, The 1958            
09 - Bobby 'Blue' Bland & Little Junior Parker - Sittin Drin      2.846.079 20-12-2007 13:36 -a--- 9   Sittin, Drinkin And Thinkin' Bobby 'blue' Bland and Little  Earls of Duke, The 1958            
10 - Bobby 'Blue' Bland & Little Junior Parker - Can't You T      2.742.246 20-12-2007 13:36 -a--- 10  Can't You Tell Me Baby? Bobby 'blue' Bland and Little  Earls of Duke, The 1958            
11 - Bobby 'Blue' Bland & Little Junior Parker - Backtrackin      2.487.042 20-12-2007 13:36 -a--- 11  Backtrackin' Bobby 'blue' Bland and Little  Earls of Duke, The 1958            
12 - Bobby 'Blue' Bland & Little Junior Parker - I Wanna Ram      2.694.708 20-12-2007 13:36 -a--- 12  I Wanna Ramble Bobby 'blue' Bland and Little  Earls of Duke, The 1958            
13 - Bobby 'Blue' Bland & Little Junior Parker - It's My Lif      2.604.219 20-12-2007 13:36 -a--- 13  It's My Life Baby Bobby 'blue' Bland and Little  Earls of Duke, The 1958            
14 - Bobby 'Blue' Bland & Little Junior Parker - Honey Bee.m      2.375.286 20-12-2007 13:36 -a--- 14  Honey Bee Bobby 'blue' Bland and Little  Earls of Duke, The 1958            
15 - Bobby 'Blue' Bland & Little Junior Parker - Time Out.mp      2.697.210 20-12-2007 13:37 -a--- 15  Time Out Bobby 'blue' Bland and Little  Earls of Duke, The 1958            
16 - Bobby 'Blue' Bland & Little Junior Parker - Driving Me       2.728.485 20-12-2007 13:37 -a--- 16  Driving Me Mad Bobby 'blue' Bland and Little  Earls of Duke, The 1958            
17 - Bobby 'Blue' Bland & Little Junior Parker - There Bette      2.402.391 20-12-2007 13:37 -a--- 17  There Better Be No Feet In The Bobby 'blue' Bland and Little  Earls of Duke, The 1958            
18 - Bobby 'Blue' Bland & Little Junior Parker - I'm Tender.      2.620.482 20-12-2007 13:37 -a--- 18  I'm Tender Bobby 'blue' Bland and Little  Earls of Duke, The 1958            
19 - Bobby 'Blue' Bland & Little Junior Parker - Woke Up Scr      2.636.328 20-12-2007 13:37 -a--- 19  Woke Up Screaming Bobby 'blue' Bland and Little  Earls of Duke, The 1958            
20 - Bobby 'Blue' Bland & Little Junior Parker - A Million M      2.720.979 20-12-2007 13:37 -a--- 20  A Million Miles From Nowhere Bobby 'blue' Bland and Little  Earls of Duke, The 1958            
21 - Bobby 'Blue' Bland & Little Junior Parker - You've Got       2.399.472 20-12-2007 13:37 -a--- 21  You've Got Bad Intentions Bobby 'blue' Bland and Little  Earls of Duke, The 1958            
22 - Bobby 'Blue' Bland & Little Junior Parker - I Can't Put      2.492.046 20-12-2007 13:37 -a--- 22  I Can't Put You Dwn Baby Bobby 'blue' Bland and Little  Earls of Duke, The 1958            
23 - Bobby 'Blue' Bland & Little Junior Parker - Mother In L      2.417.403 20-12-2007 13:37 -a--- 23  Mother In Law Blues Bobby 'blue' Bland and Little  Earls of Duke, The 1958            
24 - Bobby 'Blue' Bland & Little Junior Parker - I Don't Bel      2.512.479 20-12-2007 13:37 -a--- 24  I Don't Believe Bobby 'blue' Bland and Little  Earls of Duke, The 1958            
25 - Bobby 'Blue' Bland & Little Junior Parker - I Learned M      2.638.830 20-12-2007 13:37 -a--- 25  I Learned My Lesson Bobby 'blue' Bland and Little  Earls of Duke, The 1958            
26 - Bobby 'Blue' Bland & Little Junior Parker - Next Time Y      2.502.471 20-12-2007 13:37 -a--- 26  Next Time You See Me Bobby 'blue' Bland and Little  Earls of Duke, The 1958            
27 - Bobby 'Blue' Bland & Little Junior Parker - Pretty Baby      2.879.439 20-12-2007 13:38 -a--- 27  Pretty Baby Bobby 'blue' Bland and Little  Earls of Duke, The 1958            
28 - Bobby 'Blue' Bland & Little Junior Parker - That's All       2.798.541 20-12-2007 13:38 -a--- 28  That's All Right Bobby 'blue' Bland and Little  Earls of Duke, The 1958            
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


вот такая структура файла.

  Ответить  
 
 автор: heed   (21.02.2010 в 16:08)   письмо автору
 
   для: elenaki   (21.02.2010 в 12:08)
 

что-нибудь придумать можно,
Но нужно сначала решить заказывать-ли у заказчика такой-же файл но с записями где пути и имена остались в более сохранённом состоянии
, напимер сами файлы mp.3 иногда сокращены так что нет этого самого mp3

, например попробовал пройти этот текст таким циклом
<pre><?php
$pref 
'f:\\MUSIC\\'//префикс пути
$rpref 'f:\\\\MUSIC\\\\'// для выражений
$pos $pos2 $pos3 0;         // позиция в файле

if (!$fp fopen('music.txt''r')) exit("fopen ..........");
if (!
$finp fopen('in.txt''w')) exit("fopen_2 ..........");
 
//файл для списка каталогов и индексов
/*
fseek($fp, 16440);
echo fread($fp, 1024);
exit;
//*/
 
 
//незнаю именно первая-ли строка - разделитель, и переводы строк иногда влияют
fgets($fp2048); // пропуск первой строки из ------------

//дальше просто примитивно всё привязано к такому порядку в файле
 
while (!feof($fp)) {
    echo 
"\n". ($pos ftell($fp)) ."\n"# для того что-бы потом заглянуть в каком месте сбой
//вторая строка я так понял папка в которой найденая папка с mp3
    
if(!preg_match('#^(.+?)\s+\((\d+)\)?\s+([\d.]+)\s+([\d-]+ [\d:]+)[\s-]*$#'
        
fgets($fp2048), $out)) exit("\nсовпадение строка_2");
            
// 2048 можно везде увеличить если строки могут быть длиннее
//\((\d+)\) тоже не везьде сработало, сделал \((\d+)\)?
// но что если и могут быть более укороченные имена этой папки
    
list(,$parent$num$size$datetime) = $out;
// третья пропускается если --------
    
if(!preg_match('#^-{5}#'fgets($fp2048))) exit("\nпропускаемая строка_3");
//четвёртая строка я так понял название альбома, и папки,
// но почему-то не совпадает с путём папки в 6й строке 
    
if(!preg_match('#^<([^>]++)>\s+<DIR>\s+([\d-]+\s+[\d:]+)[\s-]*$#'
        
fgets($fp2048), $out)) exit("\nсовпадение строка_2");
    list(,
$album$datetime2) = $out;
//пятая строка тоже ------ просто проверяется для того чтобы убедиться
    
if(!preg_match('#^-{5}#'fgets($fp2048))) exit("\nпропускаемая строка_5");
// шестая строка
// здесь почему-то (1234567890) иногда отсутствует или не полностью присутствует
// я так понял это колличество  файлов находящихся непосредственно в этой папке
// у 32x-битной виндовс вроде 260 символов MAX_PATH , т.е. полный путь вместе с именем
// здесь в 61 ещё как-будто вставляли эти (1234567890)
    
if(!preg_match('#^'$rpref .'(.+?)\s+([\d.]+)\s+([\d-]+\s+[\d:]+)[\s-]*$#'
        
fgets($fp2048), $out)) exit("\nсовпадение строка_2");
        
// $rpref можно вставлять или не вставлять если нужно сократить длинну подсовпадения
        // и на 7й строке тоже
    
list(,$damagedpath$size2$datetime3) = $out;
    
//седьмая строка тоже ------ просто проверяется для того чтобы убедиться
    
if(!preg_match('#^-{5}#'fgets($fp2048))) exit("\nпропускаемая строка_7");

    
$pos2 ftell($fp);
// позиция начала данных после заголовков

######### цикл внутри цикла после заголовков ###############
 
while (!feof($fp)) {
    
$pos3 ftell($fp);
    
$item fgets($fp2048);
    if ( 
preg_match('#^-{5}#'$item)) break;// конец секции
         
    // просто проверка без действий, например
    // кстати тоже местами урезан текст и нет чётких разделителей
    //если сделать такую проверку, ничего не получится
    /*
    if (! preg_match('#^((?>[^\.]*(?:(?!\.mp3)\.)?)+\.mp3)\s+#i', $item))
        exit("\n$pos3 - NO NAME OF FILE\n$item");
        //*/
 
}
################################################

{{ #здесь обработка этих заголовков
    
echo $pos .'=='$pos2 .'=='.$pos3 ."\n"
    
$parent .'____'$num .'____'$size .'____'$datetime ."\n"
    
$album .'____'$datetime2 ."\n"
    
$damagedpath .'____'$size2 .'____'$datetime3 ."\n<hr/>";

    
fwrite($finpimplode("\n", array($pos2 .' '$pos3$parent$album
            
$datetime$datetime2$datetime3$size2)) ."\n\n");
    
//Сохранение где-нибудь и как-нибудь
    //например в файл с разделителем перенос строки, и разделителем записей пустая строка
}}

}
echo 
ftell($fp) . "\n\n"//feof

fclose($fp);

echo 
'<hr>'. (90000000000 +1);
?>

  Ответить  
 
 автор: elenaki   (22.02.2010 в 17:16)   письмо автору
 
   для: heed   (21.02.2010 в 16:08)
 

не получается :(

  Ответить  
 
 автор: heed   (22.02.2010 в 19:55)   письмо автору
 
   для: elenaki   (22.02.2010 в 17:16)
 

Всмысле обрывается где-то такое прохождение информации о каталогах, или заказать файл с более полными путями к файлам ?
Если первое , то возможно я зря сделал в конце выражений [\s-]* , наверное там были аттрибуты папок, и может быть такие буквы там могли быть [-\sdhasr]*
или всё по той-же причине, по которой мне в выражении вместо (цифры) пришлось зацепиться за (цифры ,потому-что закрывающей скобки в одном из случаев уже не было.
Hужно понять почему,
я просто комментировал /* , там где
/*
fseek($fp, 16440);
echo fread($fp, 1024);
exit;
//*/
, добавлял туда цифры которые получены до того как выполнение прервалось, и рассматривал 1024 байта
но это когда уже хотябы об одном каталоге выводились данные.

с папками возможно просще, если в скобках <> то-же самое что и имя папки.
Хотя если ещё где-то есть сработавшие ограничения длинны строк ,....

Было-бы интересно посмотреть с какой ошибкой и на каком месте обрывается такое чтение файла.Было-бы ещё интереснее скачать этот файл , но мой баланс на сим-карте такого не переживёт :) и к тому-же всётаки я-бы наверное просто заказал-бы новый файл, где не было-бы ошибок в перечислениях,

мне кажется даже просто из коммандной строки должно быть можно получить неплохой список
можно перейти в каталог
cd /d d:\GHOST_DOCS\AUDIO
потом если есть желание поменять кодировку файла можно выполнить например
chcp 1251
и просто например в таком формате создать файл
dir /S/OG/-C > d:\audio.txt
, но я не знаю какие на разных виндовс бывают установлены по умолчанию форматы для вывода комманды dir
или если всё-же остановились на том что нужно делать всё-же с этим файлом, то можно, но это не будет точная копия каталогов
//upd, вообще-то кажется там были id3-теги, таким способом я не знаю как получить ещё и их

  Ответить  
 
 автор: heed   (23.02.2010 в 15:33)   письмо автору
149.1 Кб
 
   для: heed   (22.02.2010 в 19:55)
 

как вариант с id3-тегами есть часть программы (G)enerate (P)lay(l)ists
исходники там http://sourceforge.net/projects/gpl/files/
которая работает на библиотеке id3lib
http://sourceforge.net/projects/id3lib/files/

переделать чтобы на выходе был один файл со всем необходимым лично для меня трудновато.
Если только использовать как дополнение к файлу полученному при помощи dir

, на всякий случай прикрепил консольное tager.exe + id3lib.dll , формат файла полученного при помощи
>tagger.exe --dir d:\GHOST_DOCS\AUDIO > d:\audio.txt
примерно такой

tagger --file "d:\GHOST_DOCS\AUDIO\4.mp3" --artist "The Doors" --album "Morisson Hotel. Hard Rock Cafe" --year "1970" --song "Peace Frog" --track "4" --comment "Jim Morrison - vocals; 
Ray Manzarek - keyboards, marimba;
Robby Krieger - guitar; 
John Densmore - drums."
tagger --file "d:\GHOST_DOCS\AUDIO\deep\Audio\07-Machine Head CD2 [25th Anniversary Edition 1997] (1972)\07-Space Truckin'.mp3" --artist "Deep Purple" --album "Machine Head CD2" --year "1997" --song "Space Truckin'" --track "" --comment "25th Anniversary Edition '97"
tagger --file "d:\GHOST_DOCS\AUDIO\garik\010 Оборотень с Гитарой (Live) (2006)\20 Моя бабушка курит трубку.mp3" --artist "5?@8:0A05<K5 8 !.(=C@>2 ?@8 CG0AB88: 3@."5=8=3@04", .(0E@8=, .53C=>2, !.0;0=8=, !.>@>=>2, .$.!:;O@" --album "1>@>B5=L A 8B0@>9 (Live)" --year "2006" --song ">O 101CH:0 :C@8B B@C1:C" --track "20" --comment ""
tagger --file "d:\GHOST_DOCS\AUDIO\Best\01 Пуля в лоб.mp3" --artist "" --album "" --year "" --song "" --track "" --comment ""
не разбирался пока чего там с кодировкой местами происходит

  Ответить  
 
 автор: elenaki   (24.02.2010 в 18:49)   письмо автору
 
   для: heed   (23.02.2010 в 15:33)
 

я по-другому сделала. весь файл разбить регэкспами не получится, очень неоднородная структура. я занесла в базу структуру (стиль, артист), а название альбома и его песни заношу через форму, копируя строки с названиями файлов... дня за три управлюсь, думаю. спасибо.

  Ответить  
 
 автор: .heed   (24.02.2010 в 19:20)
 
   для: elenaki   (24.02.2010 в 18:49)
 

я не уверен что в этом файле есть все названия песен
, если ещё смириться с тем что например здесь

02 - Barbara & The Browns - It Hurts Me So Much (To Be Able 2.283.129 20-12-2007 13:44 -a--- 2 It Hurts Me So Much
, хоть и урезано имя файла, можно посчитать ято название это то что после -a--- 2 , то там ещё многое может быть не так.
Хотите что-то всётаки сделать из этого файла, там достаточнон просто всё извлекается оттуда где должны быть названия файлов, хотя-бы потому что такие последовательности 2.283.129 20-12-2007 13:44 -a--- 2 будут везде.
например это рохоже на то что должно совпадать
'#(.+?)(\b\d{1,3}(?:\.\d{3})*)\s+(\d{2}-\d{2}-\d{4})\s+(\d{2}:\d{2})\s+([-ar]{5})\s+(\d+)\s+([^\n]+)#'

а с тем что неоднородная структура, для этого нужно знать вообще начинал-ли работать тот цикл, и на каком месте с какой ошибкой он давал сбой. Номера оффсетов и фрагмент файла начинающийся с меньшего из них.
Просто всё что стало известно это то что не получается.

  Ответить  
 
 автор: elenaki   (24.02.2010 в 19:39)   письмо автору
 
   для: .heed   (24.02.2010 в 19:20)
 

строку типа
01 - Barbara & The Browns - Can't Find No Happiness.mp3           2.196.393 20-12-2007 13:44 -a--- 1   Can't Find No Happiness Barbara and the Browns Can't Find Happiness: the Soun 2007         

я разбиваю explodе'ом по "-a--- " в цикле, цепляя в конец счетчик цикла. ну и пусть обрезано имя, клиент в курсе (он два раза переделывал этот файл, но так и не добился, чтоб все имена были целые...). проблема в том, что и это [-a--- 1] тоже не везде одинаково. где-то с нулями впереди, где-то без пробела в конце, где-то не порядку, а вразнобой номера. гораздо больше времени уйдет на приведение этого к общему знаменателю. мне легче перед вставкой изменить патерн и разбивать куски текста по актуальному для этого куска разделителю. поэтому не могу дать эту тупую, вообщем-то, работу (copy+paste) кому-то другому.

  Ответить  
 
 автор: .heed   (24.02.2010 в 19:53)
 
   для: elenaki   (24.02.2010 в 19:39)
 

[непонимающе пожимая плечами]
всмысле наверное вместо explodе по "-a--- "
preg_split('#0*-[ar-]{4}\s*\d+#', $str
, или что-то похожее.

  Ответить  
 
 автор: elenaki   (25.02.2010 в 20:42)   письмо автору
 
   для: .heed   (24.02.2010 в 19:53)
 

тогда уж так...

preg_split('#0*-[ar-]{4}\s*\/?\d?+#', $text)


а чего непонятного - иногда легче (и быстрее) сделать тыщу простых операций, чем терять терять время в поисках решения, подходящего под все возможные варианты. а вариантов много, возможно, найдется еще какой-то способ разделения имени файла и названия песни...

или даже так (бывает, что второй части с названием песни просто нет, тогда надо взять название файла без расширения):

print_r( preg_split('#0*-[ar-]{4}\s*\/?\d?+#', str_replace(".mp3", "", $text)));

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования