PHPスクリプトをアップしようと思う
最近スマフォ用の画面に凝っているのです
でコレ
スマートフォン用(というかXperiaArcの画面で調整した)
コミック管理システム-dandarian-
dandarian.zip
…
…ほら、書架デショ
機能
icomicの機能としてあるらしいサーバーからのダウンロード機能をandroidで実現する為に
ブラウザからサーバー上のzipファイルをDLできるようなサイトを簡易に構築する
…漫画をローカルメディアに溜め込むとあっという間にSDがパンクするので、読み終わったものは
サーバー上に置いてSDのパンクを防ぎつつ、再度読みたいときはDLして読もうというコンセプト
オンライン上の個人用本棚という訳です。
使用方法
圧縮ファイルをDLして設置するだけです
全て同一のディレクトリに展開してください
configファイルにIDとパスワードを設定してください、デフォルトはadmin/passwordです
DL対象のzipファイルは展開したphpファイルと同一ディレクトリ~2階層下までのディレクトリ
に配置してください
ディレクトリ構成
フォルダ1、及びフォルダ2がそれぞれ下の階層へのリンク、xxxx.zipがダウンロードのリンクになります
dandarian / index.php
| config.php
| index001.php
| login001.php
| login002.php
| .htaccess
|
+-- フォルダ1 /aaaaa.zip
|
|
+-- フォルダ2/ フォルダ2-1 / bbbb.zip
注意事項
このプログラムは、Windowsサーバー上で確認しているので、Linuxサーバー等のUNIX系で動かすと
index001.phpがうまく動かない可能性があります。
OpenDirの引数のフォルダ名の文字コードをSJISからEUC-JPにするとうまく行くかもしれません
PG等は基本UTF-8で動かしてます
androidの標準ブラウザでzipファイルをDLしようとすると必ず失敗します
firefoxを使用するか、zipファイルをDLできるPG等を仕込んでください
ユーザー名とパスワードは変更しておいた方がいいと思う。
あとzipファイルを直で指定されると、セキュリティがかからないのでbasic認証は仕掛けておいた方がよいと思われます
そんな感じ
画面スクリーンショットは追記に
こんなのやってたのか
しらんかった
やるきがでない
というかとてつもなく眠い
そんな感じ
頭痛が痛い
どうでもいいが、予約するかどうか
あぶないあぶない
予約しとくの忘れてた
サーバー
サーバー上に漫画のzipファイルを置いて、必要に応じてDLすればいんじゃね
そうすれば、ローカルのSDがパンクするという懸念も解消できる
読んだらサーバー上に移動して、ローカルは消していくのです
という考えの下に新型のWebアプリを作成した。
コンセプトは
フォルダを配置するだけで、階層構造が掘れる
日本語フォルダ可能
DBを使わないので設定がちょろい&更新が面倒じゃない(フォルダとファイルを追加するのみ)
で問題点がいくつか出てきた
まずandroidの標準ブラウザがzipファイルをダウンロードすることができない
この問題は2つの解決方法があった
①ブラウザをFirefoxに変える。
②Download All Filesという支援ソフトを入れる
①の案はうまく行ったが、ブラウザ変えるのがめんどくさい上にFirefox動かしたらXperiaArcの挙動が怪しくなったのでちょっとどうしようかなと思ってる
②の案はうまく行かなかった、支援ソフトが反応もしないのはどういったことだろうという感じ
もう一個ファイル名に半角スペースがあるとDLできない問題だが、
これは流石に回避しようがないので、ファイル名を一括置換て、半角スペースを半角アンダーバーに置き換えた
あと最後のが致命的で、うちの回線はADSLなんで、上りがのろいのよ
そんな訳で、1ファイルが小さくしているとはいえ30M~40MあるのでDLが非常にのろい
確か下りは12Mだが上りは1Mだった筈
通信速度のMはビットなのでバイト単位に直すと1/8になる
つまり上りは128kB/sしかないのだ、理論値で
理論値で40MをDLするのに5分ちょいもかかるのは流石にしんどいな
このフォルダを自動的に掘って、htmlを生成する技術は、動画管理システムを改良する為に研究していたのだがこっちの方が簡単そうだったので、あっという間に出来上がった件
動画管理システムはサムネイル画像や、解説等があるので、ここまで単純にはいかない感じ
DBを完全になくすわけにもいかんしねー
動画管理システムとメールシステムの名前がかぶってたので動画管理システムを変えるかな
RubyBulletにしとこう
