Hatena quick Bookmarkというのを作った
Public Nomination
いつ承認されるのか分からんので、とりあえずこっちで公開。
”はてなブックマークボタンが設置されていないページ”のブックマーク登録は面倒くさいんで、こんなん作ってみた。
頻繁に利用する人にとっては便利かなと。
ステータスバーにボタンを表示するため非常にコンパクト。
ダウンロード v1.1
保存してFirefoxに投げて下さい。Version 2.0.0.*まで対応。
アイコンの画像は無断で使用してるので、問題があれば対応します。
今後も改良予定。
不具合があったら教えてください。
使い方
表示しているサイトをブックマークしたいと思ったら、アイコンをクリック。
はてなのブックマーク登録ページに飛びます。
ライセンスは
オープンソース・ライセンスに依存(別にどうでもいい?)。
アップロードファイル(ZIP)を展開して保存 - PHP
興味があったので作ってみた。
pear使ってます。
HTTP_Uploadの拡張情報がtmpファイルに対応してないようなので、
アップロード→zipファイル保存→解凍
という流れ。
この例だとzipファイルを永久に溜め込んでしまうので、必要であれば某かの処理が必要。
HTTP_Uploadに頼らなければ、下のソースでいうUpload先は必要なくなる。
色々と面倒くさい部分は放置してますが、とりあえずこんな感じで。
<?php require_once "HTTP/Upload.php"; require_once "phing/lib/Zip.php"; function zip_unpack($file,$zip_dir,$unpack_dir) { $zip_url = $zip_dir.$file; $zip_obj = new Archive_Zip($zip_url); $files_list_array = $zip_obj->listContent(); $add_path_array = array('add_path' => $unpack_dir); $unpack = $zip_obj->extract($add_path_array); return $unpack; /* echo "<pre>"; print_r($files_list_array); echo "</pre>"; */ } // Upload先 $zip_dir = "./uploads/"; // 解凍先 $unpack_dir = "./zip/unpack/"; $upload = new HTTP_Upload("jp"); $file = $upload->getFiles("f"); if ($file->isValid()) { $moved = $file->moveTo("uploads/"); if (!PEAR::isError($moved)) { echo "<p>ファイル ({$file->getProp('name')}) が uploads/ に移動されました。</p>"; $zip_unpack = zip_unpack($file->getProp('name'),$zip_dir,$unpack_dir); if ($zip_unpack) { echo "<p>{$unpack_dir} に解凍されました。</p>"; } } else { echo $moved->getMessage(); } } elseif ($file->isMissing()) { echo "ファイルがありません。"; } elseif ($file->isError()) { echo $file->errorMsg(); } ?> <html> <head> <title>Untitled</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <form name="fileuploadexample" method="POST" enctype="multipart/form-data" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']) ?>"> <input type="file" name="f" /> <input type="submit" name="submit" value="Submit" /> </form> <?php $dir = dir($unpack_dir); while($file = $dir->read()) { $filename[] = $file; } $dir->close(); echo $unpack_dir." のファイルリスト:<br><hr>"; $count = count($filename); for($i = 2;$i < $count;$i++) { print $filename[$i] . "<br>"; } ?> </body> </html>
かなり楽〜。
アップローダーに拡張したら便利でしょうね。
Viploaderに導入してほしい。
追記
ちなみに書庫が
Directory->File1,File2,File3
という構造だった場合、当然ながらディレクトリも生成されます。
格納するファイルによってはアップロードが失敗することがあります。原因は不明。
Fedora->Ubuntu
Ubuntuインスコ時にgrubを書き換えてくれないらしい。
Fedoraインストール→Ubuntuインストール→Fedora削除→grubエラー→Fedora再インスコ
という典型例に陥った。
Fixmbrが効かないんで、Fedoraを一度インストールしたら絶対に削除できないっていう。
grubでのOS選択時にインストールしたUbuntuが表示されないので、
(grubの設定ファイルはFedoraのbootディレクトリに存在してるから当然か)
泣く泣くUbuntuのgrub設定ファイル(/boot/grub/menu.lst)からFedoraの設定ファイル(/boot/grub/grub.conf)にコピペ。
Fedora8不具合多すぎ
JPProjectも落ちてるし。
デスク用途ならUbuntuにしたほうが無難かもしれん。
Zend_Pdfって日本語対応してないのね
gmm...