PocketBookのデゞタルラむブラリ自動凊理

おそらく、すべおの電子リヌダヌは、曞籍のコレクション党䜓を電子曞籍リヌダヌ䞊に眮いおおき、同時に、デバむスの党般的な速床䜎䞋にもかかわらず、䟿利なナビゲヌションを備えたいず考えおいたす。

電子曞籍に䜕癟、䜕千ずいう本を保管するこずはしばしば問題です。デバむスが長い間銬鹿であるか、各本に関する情報を内臓から読み取るか、ディレクトリごずにコレクションを手動で維持するこずもhemoです。





前文



゜ニヌの電子曞籍の初期版ではこのような問題があったこずを芚えおいたすそこに数癟冊の本をアップロヌドし、デバむスの電源を入れるず長時間ハングし、ダりンロヌドしたファむルのリストを䜜成したす。 その埌、コレクションに察するサポヌトはただなく、Sonyaは長い間カヌド党䜓を走り回り、アップロヌドされた本に関する情報を収集したした。 倚くの人が䞍満を蚀いたした。

PocketBookの本を䜿甚する方が䟿利でした。ファむルシステムでのナビゲヌションをサポヌトしおいたため、手動で本をフォルダヌに分散させるこずができ、デバむスは入ったフォルダヌの本だけを読み䞊げたした。

コンピュヌタヌから手動で䜕かを圢成し、䜕らかの圢でラむブにするこずはすでに可胜でした。



それから私はLibRusEkを玹介されたしたFlibustの関連性が高たりたした。 そしお、ある時点でアむデアが思い぀いたのですが、このプロセスを少し自動化しお、ラむブラリ党䜓を電子曞籍にしようずはしたせんでしたか



そしお今、重芁なこず この蚘事ではおそらく圹に立たない残念ながらありたす人の泚意を無駄にしないために、フィルタリングむンストヌルを行いたす。

PocketBook e-リヌダヌを所有しおいお、 できるだけ倚くの本をできるだけ䟿利にデバむスに移動しおドラむブするずいうアむデアに興味がある堎合は、間違いなくここにいたす。 あなたがFB2圢匏ずディレクトリナビゲヌションをサポヌトしおいる別の電子曞籍の所有者であれば、おそらくあなたもここにいるでしょう。蚘事の終わり近くにある$ no_leased_storage蚭定の説明を参照しおください。 残念ながら、この蚘事はほずんど圹に立ちたせん。 ごめんなさい




PocketBookの機胜を少し掘り䞋げおみるず、興味深い機胜が1぀芋぀かりたした。それはリンクファむルをサポヌトする機胜です。 WindowsのショヌトカットやUnixのシンボリックリンクのようなもの。 埌でそれらが必芁な理由ずこの機胜の魅力に぀いおは埌で説明したすが、珟時点では、お気に入りセクションの機胜のためにPocketbookで定期的に䜿甚されおいるずだけ蚀いたす。 そこに本を配眮するず、実際の本ファむルぞのリンクのみがデバむスの特別なフォルダヌに配眮されたす。 本自䜓はお気に入りにコピヌされたせん。

たた、開発者ず話をした埌、その時点で最倧32Gbの容量を持぀SDHCが既にサポヌトされおいるこずがわかりたした。 䞀般に、microSDスロットを備えた最新のモデルでは、同じ32GbがTTXに衚瀺されたすが、これはやや残念です。 しかし、それほどではありたせん。 はい、仕様ず仕様を確認する必芁がありたすが、実際にはさらにサポヌトできたす。 䞍圓な小切手のために64Gbのカヌドだけが賌入するために壊れおいたす。

たあ、玠晎らしい機胜もありたす-.fb2.zipのサポヌト。これは、fb2圢匏の各本が独自のzipアヌカむブにパックされるずきです。 PocketBookは、そのような本を透過的に、぀たり、開封された本ず同じように芋たす。



急ぎの質問を予想しお、すぐに1぀のポむントを明確にする䟡倀がありたす。誰も数十䞇冊の本を読む぀もりはありたせん私たちはそのような量に぀いお話しおいる。 このようなコレクションをすべお読み続けるこずを期埅しお、デバむスに保存するのはおかしいです。

このようなカタログ化ボリュヌムの利䟿性はたったく異なりたす。 たずえば、誰かがあなたに特定の本を読むようにアドバむスするず、あなたは芋たすが、あなたはすでにそれを持っおいたす。 たたは、特定の著者など。 あなたはすぐにあなたの本でそれを芋぀け、お気に入りずしおブックマヌクしたす。 はい、䜜成者のディレクトリをお気に入りに入れるこずもできたす。Pocketbooksのディレクトリぞのリンクも機胜したす。

「Read Harrison」、「OK、I read」ず入力し、すぐに圌のshmyakをお気に入りに远加したす。 そうでなければ、それは忘れられ、ノヌトに曞かれたせん。





理論郚



それでは、ビゞネスに取り掛かりたしょう。 PHPで蚘述されたスクリプトは、zip圢匏のアヌカむブを含むfb2ファむルを゜ヌスフォルダヌから取埗し、PocketBookぞのアップロヌドを目的ずしたファむルシステムベヌスの曞籍のコレクションを䜜成したす。

圌は圌女を巧劙に䜜成したす。 ここでは、fb2圢匏のニュアンスに぀いお個別に蚀う必芁がありたす。

たず、本はその名前および著者、ゞャンル、シリヌズに関する情報をそれ自䜓に保存したす。 ここでのファむル名は原則的に重芁ではありたせん。

第二に、本は耇数の著者によっお曞かれ、いく぀かのゞャンルに属し、いく぀かのシリヌズに入るこずができたす。 そしお、著者、ゞャンル、シリヌズの䞡方で怜玢ずカタログを䜜成したいず思いたす。 さらに、2人の著者が曞いた堎合、䞡方のカタログに本が存圚するこずを望みたす。

適切な各ディレクトリに本をコピヌしたすか ネコミルフォ。

そしお、ここでリンクファむルが圹立ちたす。

このスクリプトは、本の本文zip圢匏を別のディレクトリに配眮し、サブディレクトリを内郚に䜜成しお、最終ディレクトリに100本以䞋、䞭間ディレクトリに100本以䞋のサブディレクトリがあるようにしたす。 これは、特定のzipにアクセスするずきに本が愚かでなく、1぀のディレクトリ内の倚くのファむルを゜ヌトするためです。

近く、たずえば、フラッシュドラむブのルヌトにカタログ䜜成者ディレクトリが䜜成されたす。カタログ䜜成者ディレクトリでは、䜜成者、シリヌズ、およびゞャンル内で必芁なすべおのナビゲヌションが行われ、曞籍の代わりに最終ノヌドには、察応するzipを参照する䞊蚘の参照ファむルが含たれたす。 これらのリンクのサむトにある巧劙なポックブックは、本自䜓を衚瀺し、それらがカタログ䜜成者にあるかのように開きたす。



䟋ずしお、最終的に10冊の本がどのように保存されるか、SDカヌドのファむルシステムでどのようになるかを瀺したす。



/_zipstorage_/00000000/00000000/00000001.zip /_zipstorage_/00000000/00000000/00000002.zip /_zipstorage_/00000000/00000000/00000003.zip /_zipstorage_/00000000/00000000/00000004.zip /_zipstorage_/00000000/00000000/00000005.zip /_zipstorage_/00000000/00000000/00000006.zip /_zipstorage_/00000000/00000000/00000007.zip /_zipstorage_/00000000/00000000/00000008.zip /_zipstorage_/00000000/00000000/00000009.zip /_zipstorage_/00000000/00000000/0000000a.zip /// -///  /00000001.flk /// -///  /00000002.flk /// -///  /00000003.flk /// -///  /00000004.flk /// -///  /00000005.flk /// -///  /00000006.flk /// -/// /00000008.flk /// -/// /0000000a.flk /// -///  /00000007.flk /// -///  /00000009.flk //_/ /  / -///  /00000007.flk //_/  // -/// /0000000a.flk //_/, // -///  /00000009.flk //_// / -///  /00000001.flk //_// / -///  /00000002.flk //_// / -///  /00000003.flk //_// / -///  /00000004.flk //_// / -///  /00000005.flk //_// / -///  /00000006.flk //_/// -/// /00000008.flk //_// / -///  /00000001.flk //_/ /  / -///00000007.flk //_/ /  / //00000007.flk //_/  // -///0000000a.flk //_/  // //0000000a.flk /// -///00000007.flk /// -///00000007.flk /// -///0000000a.flk /// //00000007.flk /// //00000007.flk /// //0000000a.flk
      
      







_zipstorage_ディレクトリの各zipファむル内には、zipファむルず同じ名前の.fb2圢匏の本がありたす。

各flkファむル内には、ブックに察応するzipファむルぞのパスがありたす。

デバむスの.flkファむルの代わりに、察応するブックが衚瀺され、それらは.flkファむルの代わりに暪たわっおいるかのように正確に動䜜したす。 ぀たり、ナヌザヌには「00000007.flk」、「00000007.zip」、「00000007.fb2」は衚瀺されたせん。

ご芧のずおり、.flkリンクなしで、各ファむルを存圚する堎所にコピヌする必芁がある堎合、10個のファむルはフラッシュドラむブ䞊で同じサむズの31個のファむルになりたす。

しかし、リンクでこのフェンカを䜿甚したおかげで、これは起こりたせんでした。



_zipstorage_ディレクトリに移動する必芁はありたせん-これがリポゞトリです。

「ラむブラリ」ずいうカタログ䜜成ツヌルに移動する必芁がありたす。

そこにビゞタヌのカヌドが枡され、リク゚ストに応じお叞曞が店に行き、そこからあなたを連れお行きたす...



このラむブラリ内で、「/䜜家/ AZ / S / Sem /セメノノァ・マリア・ノァシリ゚ノナ」ずいう長い道のりで「赀いプラスチックの立方䜓」ずいう本にたどり着く必芁がある理由をすぐに理解できないかもしれたせん。

しかし、これは玄12個のファむルではなく、玄数十䞇個のファむルであるこずを思い出しおください。 ディレクトリ「Letters A-Z」、「C」、「Sem」に順番に移動しお、そこに「Semenova Maria Vasilievna」を芋぀けるず、衚瀺するのに長い時間埅機しおから、著者の完党なリストを長時間スクロヌルするよりもはるかに高速になりたす文字「C」。

同様に、ハリヌ・ハリ゜ンのすべおの本を芋぀ける必芁がある堎合、パスが「/ Authors / Letters AZ / G / Gar / Garrison Harry」であるず仮定するこずは非垞に論理的です。 たずえば、dofigisの䜜者の文字「G」から、姓の最初の3文字でディレクトリの远加レベルを導入する必芁がありたした。 これは、get_splitten_dirsの呌び出しに察するスクリプト「process.php」パラメヌタヌで偶然rulitsyaしたす。

ずりわけ、ハリ゜ンの次の本を読み始めるために毎回「図曞通」に行く必芁はありたせん-あなたは䞀床だけそこに着く必芁がありたす。 そしお、䞊で曞いたように、ハリ゜ンのすべおをお気に入りに攟り蟌み、垞に手元に眮いおいたす。 本圓に䟿利です。



そしお、私はこれをほが「1人で」既補の「塗り぀ぶし」を取り蟌んだ、たたは単にSDカヌドを耇補した数人の友人を陀いおほが3幎間䜿甚しおいたす。 混乱はおそらく共有する時間です。





実甚郚



さお、理論に぀いおは十分だず思いたす。 察象者は誰でも、䞀床にすべおを理解したす。 必芁な「原材料」を手に入れるために手際よく、誰が察象に含たれおおらず、興味のない人は、この堎所たで読むこずはたずありたせん。

それでは、スクリプト自䜓の説明、蚘事の最埌にあるzipアヌカむブぞのリンクに移りたしょう。

私が経隓しなければならなかった問題ず解決策に぀いおは説明したせん。 これは、おそらくPHPセクションの別の蚘事のトピックです。

スクリプトの䞀般的なスキヌムずその蚭定のみを説明したす。





たず、スクリプトがそれ自䜓の倖で行うこず



゜ヌスディレクトリの校正ずカタログ䜜成プログラムの䜜成に加えお、スクリプトは各fb2ファむルを自身に枡したす。 ぀たり、構造を解析し、ファむルを再床保存したす-解析したす。

これは、フォヌマット゚ラヌを修正するために必芁です。 䞀郚のファむルは最初に砎られたす-その埌、無効な文字はHTMLコヌドに倉換されず、むンタヌネットペヌゞから匕き裂かれたがfb2圢匏では無効であり、その埌タグを開くなどの巊タグが芋぀かりたす。 これらの゚ラヌの倚くが存圚するわけではありたせんが、比范的定期的に発生し、゚レクトロブックはそのようなファむルを開くこずができたせん。



たた、このスクリプトは、ゞャンルをより読みやすい名前に倉換したす。



だから。 zipアヌカむブをダりンロヌドするず、たずえばサブディレクトリに耇数のphpファむルず耇数の曞籍がありたす。

ディレクトリ「out_dir \ src」があり、そこから本を読むこずができたす。 ゞップで。

そしお、カタログ䜜成者ずリポゞトリを远加するディレクトリ「out_dir \ dest」がありたす。 実際、スクリプトの実行埌、このディレクトリにあるすべおのものをSDカヌドのルヌトに転送する必芁がありたす。

さお、USBフラッシュドラむブに盎接曞き蟌むようにスクリプトをすぐに構成できたす。



ここでは、SDカヌドぞの蚘録に関するいく぀かのニュアンスに぀いお予玄する必芁がありたす。 情報量ず断片化を考えるず、このプロセスは高速ではないずいう事実にすぐに備えおください。





スクリプトはWindows䞊のマシン甚に䜜成されたため、PHPはWindowsバヌゞョン5.2.9-2の䞋にむンストヌルされたした。 理論的には、圌はどのシステムを動䜜させるかを気にしたせんが、誰かが䜕かを始めないかもしれたせん。

Windowsが原因で、スクリプトを実行するための.batファむルがアヌカむブにありたす。

以䞋は、スクリプトの䞀郚を切り取ったものです。 完党なものは、2぀の郚分ずInterbaseの䞋のデヌタベヌスで構成され、すべおの曞籍が最初にむンポヌトされ、ダビングが陀倖され、ダビングが削陀され、著者、ゞャンル、シリヌズ、タむトルの誀解が修正されたす「Pushkin A.S。」=>「Pushkin Alexander Sergeevich」など 、MD5ハッシュは、ラむブラリのさらなる補充などのために収集されたす。

PHPを䞊げおスクリプトを実行するこず、デヌタベヌスを構成するこず、すべおのラむブラリをむンストヌルするこずなどのため、これをすべおダンプする理由はありたせん。 あなたの倚くがこれに悩むこずはたずありたせん。 必芁に応じお、誰でも簡単に独自のデヌタベヌス機胜をスクリプトに远加できたす。 したがっお、スクリプトはデヌタベヌスなしでオフラむン操䜜のために切断されたす。 機胜は少し少なくなりたすが、重芁ではありたせん。



゚ラヌのあるログファむル「prc_errors.txt」は、操䜜䞭にスクリプトの暪に䜜成されたす。 これは、起動batファむルで指定されおいたす-STDERRをこのファむルにリダむレクトしたす。 ゚ラヌがなかった堎合、サむズはれロになりたす。





囜内キッチン



実際、メむンスクリプトは「process.php」ファむルにあり、実行する必芁がありたす。

蚭定は最初に保存されたす。 ここにありたす



 $out_file='./out.txt'; //        .    false     . $src_dir='./out_dir/src'; //  .  ,      . $dest_dir='./out_dir/dest'; //  .  ,      SD-. $storagename='_zipstorage_'; //   -.      flk-,         SD-. $libname=''; //   - $compress_storage=true; //     .  ,    fb2.  ,    .   -. $control_genres_export=false; //      (. genres.inc) $no_leased_storage=false; //      -. $dbid=0; //    ID ,        .       ))) $GLOBALS['process_config']=array( 'struct_only'=>false, //    'unknown_tags_processing'=>XMLP_UT_CUT, //    (  fb2 , . 'tags_hash') 'strip_comments'=>false, //   <!-- --> 'tags_hash'=>$GLOBALS['XMLP_FB2_elements'], //    'tags_processing'=>array( //      'name_first_alpha'=>false, 'name_len'=>20, 'content_len'=>512, 'pattern_type'=>XMLP_TPS_STRICT, 'include_comments'=>true, ), );
      
      







パラメヌタヌ$ GLOBALS ['process_config'] ['unknown_tags_processing']に぀いお説明したす。 パヌサヌを操䜜したす。぀たり、fb2圢匏FictionBook 2.0では無効なタグが怜出された堎合にパヌサヌが行うこずを行いたす。





明らかに、゚ラヌの修正には2぀のオプションが最適ですXMLP_UT_CONVERTずXMLP_UT_CUT。 ほずんどの堎合、ナヌザヌはこれらのタグにたったく関心がないため、これらはゎミです。私の意芋では、XMLP_UT_CUTオプションを䜿甚しお単玔にカットするこずが最も正しいず考えおいたす。



FictionBook圢匏のタグ自䜓は、 $ GLOBALS ['process_config'] ['tags_hash']パラメヌタヌでパヌサヌに枡されたす 。 $ GLOBALS ['XMLP_FB2_elements']配列は、xmlp.incファむルの先頭に事前定矩されおいたす。



$ GLOBALS ['process_config'] ['tags_processing']パラメヌタヌは 、テキスト内のタグの通垞の認識の生成を制埡したす。 過剰に觊れないほうがいいです。デフォルトでは正垞です。 パラメヌタヌ'name_first_alpha'のみをtrueに蚭定できたす -この堎合、゚ンゞンはタグ名の先頭にアルファシンボルを必芁ずしたす。たずえば、この<>は䞍明なタグずしおではなく、テキスト内のゎミずしお認識されたす。 XMLP_UT_CUTオプションを䜿甚するず、このようなタグは切り取られたせんが、html゚ンティティに倉換され、本の最終的な読者に衚瀺されたす。



ここで「include_comments」オプションを無効にするず、より単玔な芏則性が生成され、その結果、スクリプトのパフォヌマンスが少なくずも2倍向䞊したすが、同時に<-->タグ内のコメントは難読化されたおridgeに倉わり、衚瀺されたす本の最埌の読者に。 コメントが曞籍のテキスト領域にある堎合、それはただ䜕もありたせんが、タむトル領域にある堎合、おそらくデバむス䞊で曞籍がたったく開かないでしょう。 ドキュメントのXML構造XMLタグ間の任意のテキストの違反になりたす。



$ no_leased_storageを蚭定したす。 trueに蚭定されおいる堎合、曞籍甚の別のストレヌゞは䜿甚されたせん。 ぀たり、 '_ zipstorage_'およびflkファむルはありたせん。 ラむブラリ内のflkファむルの代わりに、fb2たたはzipが該圓したす $ compress_storageパラメヌタヌに応じお。 これにより、同じ本の耇数のコピヌが原因でSDカヌドのスペヌスがより倚く消費されたす䞊蚘の問題の説明を参照が、本がfb2圢匏ずUSBフラッシュドラむブ䞊のディレクトリのナビゲヌションをサポヌトしおいる堎合、他の電子曞籍PocketBookではないの所有者が蚱可されたす。同じスクリプトを䜿甚しお、ラむブラリを自動的にカタログしたす。



別の蚭定は$ control_genres_exportです。 その芏則はgenres.incファむルにありたす。

ゞャンルのトランスクリプトの配列がありたす、それはこのように芋えたす

  ''=>array('_ _','_ _', true), 'biography'=>array('','', true), 'biogr_historical'=>array('  ','', true), 'biogr_sports'=>array(' ','', true), 'biogr_arts'=>array(' ','', true), 'banking'=>array(' ',' ', true), 'accounting'=>array(', , ',' ', true), 'design'=>array('  ',' ', true), 'org_behavior'=>array(' ',' ', true),
      
      





各配列の最埌にtrueの倀を持぀芁玠がありたすか したがっお、 $ control_genres_exportオプションをオンにするず、スクリプトは、この最埌の芁玠に圓おはたる反察のゞャンルのみを流し出したす。 単䞀のゞャンルではない本が「genres.inc」ずしおtrueずしおマヌクされおいる本は無芖され、それらの本文もメモリカヌドに保存されたせん。

これは、コレクションのサむズがSDカヌドのスペヌスよりも倧きいこずを理解しおいる堎合に非垞に䟿利です。

この堎合、ゞャンルのリストを線集し、䞍芁なものを陀倖したす。 これにより、興味のあるゞャンルのみを䜿甚しお、ラむブラリを郚分的にマップに泚ぐこずができたす。 たずえば、あなたは空想科孊小説が奜きで、詩、ロマンス小説、ビゞネス文孊は原則ずしおあなたには興味がありたせん。

このメカニズムを䜿甚するず、ラむブラリを耇数の異なるメモリカヌドのゞャンルのセットに分割する必芁がなくなりたす。



ゞャンルのリストには、再割り圓おずいう別のメカニズムがありたす。

以䞋の同じファむルおよび同じ配列に、同様のものがありたす。

  ''=>array('sci_psychology','r', true), 'science_history_philosophy'=>array('sci_philosophy','r', true), ''=>array('sci_linguistic','r', true), 'adv_history_avant'=>array('adv_history','r', true), ''=>array('adventure','r', true), ' '=>array('prose_history','r', true),
      
      





メタタグの最埌から2番目の倀に、孀独な文字「r」が衚瀺されおいたすか

スクリプトの堎合、これは、たずえば、「冒険」ずいうゞャンルのコヌドが本で芋぀かった堎合、「冒険」ずいうコヌド同じ配列でゞャンルの蚘録を調べる必芁があるこずを意味したす。 そしお、カタログ䜜成者の本、圌は結果ずしお正しいゞャンルを参照したす。 ただし、fb2ファむル自䜓は線集されたせん。





実装されおいたせん



曞籍の実際の名前によるカタログ化は行われおいたせん。 正盎なずころ、私はこれがどのように芋えるのか、クむックナビゲヌションのために䟿利なディレクトリレむアりトを䜜成する方法がわかりたせん。 抂しお、名前以倖に䜕も知らない堎合は、むンタヌネットの電話からでも簡単に著者を突砎し、デバむスですでに本を芋぀けるこずができたす。 怜玢に費やした時間ず、その埌の読み物であるIMHOに費やした時間ずを比范すれば、たったく気にする必芁はありたせん。



進捗状況の衚瀺はあたりよくできおいたせん。 ゜ヌスディレクトリには、単玔なfb2ファむルだけでなく、それらを含むzipファむル、および同じセットのサブディレクトリを含めるこずができたす。

zipファむルの堎合、進行状況はランダムに蚈算され、サブディレクトリごずに進行状況が衚瀺されたす。 幞いなこずに、スクリプトの冒頭で、個別の文章であるすべおをスキャンしおから、実行の䞀般的な進行状況を衚瀺する必芁がありたす。



パヌサヌモゞュヌル「xmlp.inc」のみが培底的にシャベル化されたす。 残りの゜ヌスには、倉数の名前に混乱があり、䜙分な倉数もありたす。



さお、ただささいなこずでは、別の重芁でないものは䜜られおいたせん。





構造゚ラヌ修正の䟋



凊理する前に

  <p><:>   <tag></tag>    <  >,  </b>>  &lt; .<:></p> <p>—   ! —  <a>  .</p> <p>    </a>     . .</p>
      
      





埌XMLP_UT_CONVERTの蚭定

  <p>&lt;:&gt;   &lt;tag&gt;&lt;/tag&gt;    &lt;  &gt;,  &lt;/b&gt;&gt;  &lt; .&lt;:&gt;</p> <p>—   ! —  <a>  .</a></p> <p>         . .</p>
      
      





埌XMLP_UT_CUTの蚭定

  <p>       &lt;  &gt;,  &gt;  &lt; .</p> <p>—   ! —  <a>  .</a></p> <p>         . .</p>
      
      









この資料はどこで入手できたすか



そしおここに 。



すべおの消防士でさえ、Windows甚のPHP蚭定でhemoをしたくない人は、 ここでパッケヌゞをダンプしたした 。 抂しお 、最新バヌゞョンをphp.netからダりンロヌドするこずをお勧めしたすが、スクラップしおすぐに苊劎せずに詊しおみたい堎合は、すぐに砎棄し、フォルダヌc\ php䞀般的には、この堎合、パスは短く、スペヌスを入れないこずが望たしい、このディレクトリをシステム環境倉数パスに曞き蟌みたす。 すべおがすぐに動䜜するようになりたす。





PSはい、コレクションを保存できるデスクトッププログラムがあるこずは知っおいたす。 しかし...

たず、このようなプログラムが存圚しなかったずきにこれがすべお行われたした。

第二に、圌らは私が自分でできるこずをすぐに自分でできるようにするこずはできたせんコヌド内の䜕かを完成させるため。

第䞉に、これらのプログラムが曞籍の重倧な゚ラヌを修正できる可胜性は䜎いです。 組み蟌みPHPラむブラリを䜿甚するスクリプトでは、゚ラヌが発生するため、意図的に高速のXML解析を䜿甚したせんでした。 ゚ラヌ時にスクリプトのクラッシュを無効にするこずはできたすが、通垞、ファむルを解析しお自動的に修正するこずはできたせん。

このスクリプトはネむティブPHPで蚘述されおいたすが、それでも凊理速床が最適化されおいたす。

そしお、はるかに。

ずころで、誰も䞀方ず他方の䞡方を結合するこずを気にしたせん。 デスクトッププログラムから、条件に応じお必芁な曞籍を遞択したす結局、GIUでは、すべおの皮類の条件を蚭定し、フィルタヌですべお出力する方がはるかに䟿利です。次に、このスクリプトをフィヌドし、メモリカヌドにディレクトリを䜜成したす。





UPD 新しいポケットブックず新しいファヌムりェアで埅ち䌏せが発芋されたした。 叀い本棚機胜を削陀し、.flkファむルをサポヌトしたす。 問題の議論は、ナヌザヌKlu4nikずの私の通信文のコメントで芋るこずができたす。 .flkファむルの機胜は、ストアの工堎出荷時ファヌムりェアE912.2.1.2 20110727_154845の912th Pocketで機胜したす。 新しいファヌムりェアでは動䜜しなくなりたした。

Pocketbooksのサポヌトぞの呌び出しは䜕も有甚ではなく、氎だけを䞎えたした。

その埌、 Klu4nikの助けを借りお、公匏フォヌラムでAntuanずいうニックネヌムでナヌザヌフォヌラムにアクセスしたしたが、その助けを借りお同じ解決策を芋぀けたした。 解決策ずしお、少なくずも䞀時的な束葉杖がありたす。

以䞋で構成されおいたす。

Pocketbookファヌムりェアは、ネむティブアプリケヌションずサヌドパヌティアプリケヌションをサポヌトしおいたす。メむンメニュヌから同じ名前のフォルダヌに移動するず、それらを確認できたす。

ずりわけ、これらのアプリケヌションはシェルスクリプトにするこずができ、単に.app拡匵子を付けるだけです

テスト埌、「/ ebrmain / bin / fbreader.app /mnt/ext2/_zipstorage_/00000000/00000000/00000001.zip」ずいう圢匏の単玔なシェルコマンドで本を開くこずができるこずがわかりたした。

さらに、デバむス䞊のアプリケヌションフォルダヌにいる堎合は、䞊のディレクトリシェルフのメむンメニュヌにアクセスしない「..」ディレクトリに移動するだけで、手垳のメモリずメモリカヌドの䞡方が衚瀺され、どこにでも簡単に起動できたす。 .appファむル。ラむブラリ-メむンメニュヌから.appファむルを入力するず、ファむルが衚瀺されたせん。そしお、「アプリケヌション」を介しおできたす。

゜ヌスを曎新したしたが、別の構成オプション$ app_instead_of_flkがファむル "process.php"に远加されたした。有効にするずtrue、. flkファむルの代わりに、「戊争ず平和.app」ずいう圢匏の.appファむルがカタログ䜜成者に配眮され、およそ次の内容が含たれたす。

 #!/bin/sh /ebrmain/bin/fbreader.app /mnt/ext2/_zipstorage_/00000000/00000000/00000001.zip
      
      





匷打で動䜜し、本を開きたす。 PocketBook Pro 912を確認したずころ、すべお正垞に動䜜しおいるようです。

しかし、いく぀かのマむナス点がありたす。

本棚ではなく、「アプリケヌション」セクションから入力するず、単玔なファむルマネヌゞャヌが機胜したす。圌は衚玙や矎しい本棚を衚瀺したせん。お気に入りに远加する方法もありたせん。



䞀般に、䞊蚘のリンクからスクリプトをダりンロヌドしたす。



圌らはたた、叀い機胜をidea.pocketbook-int.comに返すリク゚ストを远加するこずを勧めたした。

すでにトピックがありたすidea.pocketbook-int.com/pocketbook-pro/idea/161、より倚くの祚を埗る必芁がある堎合、新しいファヌムりェアで叀いシェルフのオプションを遞択する可胜性がありたす。ただし、この機胜の実装に投祚するには登録が必芁です。





UPD 2゜リュヌション番号2。たた、䞀時的なたあ、そのような誰か。

珟圚のファヌムりェア2.1.2および2.1.3では、PocketBook 611から叀いシェルフをむンストヌルできたす。叀いファヌムりェアのようなメむンメニュヌむンタヌフェむスがありたす。同時に、リンクファむル.flk、「お気に入り」、マルチタスク、および新しいファヌムりェア蚭定が機胜したす。

9.7むンチ垂盎および氎平方向のように芋えたす写真はクリック可胜で、スクリヌンショットずプレビュヌに1ピクセルのフレヌムのみを远加しお、画面の端が癜い背景で芋えるようにしたしたこれたでのずころ、わずか2぀の小さな䞍具合に気づきたした















1.メむンメニュヌは党画面衚瀺ではありたせんが、意図したずおりに機胜し、迷惑ではありたせん。メニュヌテンプレヌトは6むンチスクリヌン甚に䜜成されたものです。残りの画面は通垞、それ自䜓をスケヌリングしたす。たた、シェルフの「詳现な」倖芳は、画面の幅党䜓にレンダリングされたせん。スクリヌンショットが衚瀺されたす。

2. [ホヌム]ボタンメむンメニュヌに戻るが機胜したせん。なぜならコンテキストメニュヌからメむンメニュヌぞの切り替えも機胜したせん。明らかにこれはマルチタスク環境によるものです。眮き換えた小さなタスクメニュヌにタスクを切り替えるこずはできたせん。長い間ディレクトリツリヌからメむンメニュヌに移動するのは少し面倒です。



むンストヌルは簡単です。こちらからダりンロヌドしおください。 zip内には1぀の「bookshelf.app」ファむルがありたす。 USBコヌドを接続し、このファむルをデバむスの内郚メモリUSBフラッシュドラむブではなくのディレクトリ「/ system / bin /」に曞き蟌む必芁がありたす。

実際にはすべお。ケヌブルを倖した埌、すぐに機胜したすが、すべおの消防士が再起動しおメむンシェルフをメモリからアンロヌドする方が適切です。

解䜓は非垞に簡単です-コヌドをキャッチし、このファむル「/system/bin/bookshelf.app」を削陀するず、すべおが正方圢に戻りたす。

PocketBook Pro 912でテスト枈み。正垞に動䜜したす。





UPD 3ここで远加の議論がありたす。願いや提案を歓迎したす。





UPD 4 [05/15/2012 20:52 MSK]「genres.inc」、genres_get関数の悪意のあるバグを修正したした。これにより、メモリがルヌプで焌けおしたいたした。愚かな小さなガラスがありたした。コピヌず貌り付けは、すべおを非難するこずです。曎新された゜ヌス、ダりンロヌド。





UPD 5 [05.15.2012 22:03 MSK]UPD3のリンクに関する議論の結果、次の蚭定が远加および倉曎されたした。

 $dest_mount_point='/mnt/ext2/'; $storagename='.zipstorage'; $path_encoding=PATH_ENC_AUTO;
      
      





倉数$ path_encodingは、カタログ䜜成プログラム内のパスが生成される゚ンコヌディングを担圓したす。

デフォルトの自動倀に加えお、PATH_ENC_1251たたはPATH_ENC_UTF8を匷制するこずもできたす。

PATH_ENC_AUTOはpreg_match '/ win / i'、PHP_OSによっお決定されたす。

定数PHP_OSに「win」が含たれる堎合、PATH_ENC_1251が衚瀺され、そうでない堎合はPATH_ENC_UTF8が衚瀺されたす。





UPD 6 [2012 幎5月20日 03:10 MSK]GitHubに移動したした。



All Articles