現在、PostgreSQL+PHPでPDFファイル管理DBを作成したいと思っています。
開発環境は、
Solaris8
Apache1.3.12
PostgreSQL7.1.3
PHP-4.1.0
で行っています。

今、PostgreSQLのラージオブジェクトを使用してPDFファイルをDBに登録したいと考えております。
ここで、質問なのですがPDFファイルをDB登録するときにライブラリ等必要なものがありますでしょうか?
また、PHP+PostgreSQLの環境で、PDF管理DBのサンプルがあったら教えていただけないでしょうか?
よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

単にpdfファイルをアップロードし、DBに格納、後に表示/ダウンロードさせるだけであれば特殊なライブラリは必要ありません。


現在の開発環境で十分作る事が出来ます。

表示に関しては、あなたの画像の表示についての質問
http://oshiete1.goo.ne.jp/kotaeru.php3?q=194878

に書いた通り、pdfでもContent-typeをpdfである、と明示的に指定してやる必要があります。
確かContent-typeとしてapplication/pdfを返してやれば良かったはずですが・・・
adobeサイトにその辺の情報を昔見たのですが、見当たりませんでした。

サンプルコードについては
http://www.postgresql.jp/projects/php4tettei/
こちらのpdfになっている本に載っていたはずです。
確かsampleで扱っているのは画像だけですが、扱い方はバイナリデータという意味では一緒で、ブラウザに見せる時にContent-typeを変更するだけです。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q「古い圧縮ファイル」の確認方法

Dドライブのディスクのクリーンアップをしたいのですが、実行できるものが、「古い圧縮ファイル」の削除しかありません。

「古い圧縮ファイル」がどのプログラムかを確認する方法を教えてください。

また、圧縮されたファイルの名前は青くなるらしいのですが、見つかりません。どうしてでしょうか
圧縮ファイルは1G弱あります。

Aベストアンサー

http://www.atmarkit.co.jp/fwin2k/win2ktips/106cleanup/106cleanup.html

初期設定では、50日以上アクセスの無かったファイルに対して、圧縮が行われます。
当然、圧縮してからでないと、ファイル名は青色にはなりませんので、ディスク・クリーンアップでの候補段階では、黒色のままです。


尚、設定によっては青色表示にならない場合も有りますけど。

http://121ware.com/qasearch/1007/app/nec.jsp?005084

QPHP5.0.5+postgreSQL8.0.4+apache2.0.55 で質問です。

上記の構成で、PHP単体での動作OK
postgreSQL OK
apache OK
なのですが、apacheを再起動すると下記の警告が出ます。

PHP Warning: PHP Startup: Invalid library (maybe not a PHP library) 'pgsql.so' in Unknown on line 0

いろいろ調べたのですが、さっぱり分かりません。
また、当然かも知れませんがphp.iniのextension=pgsql.soをコメントアウトすると警告は出ません。

どこを見直せばいいのか教えていただけないでしょうか?

宜しくお願いします。

Aベストアンサー

PHP単体での動作は問題ないとのことですが、php -v や php -m の実行結果はどんな感じでしょうか?

あまり詳しくないのですが単純にメッセージを解釈すれば、pgsql.soが怪しいということになります。

Qファイルの圧縮方法

AVIやMPGの画像ファイルを圧縮する方法を教えてください。900mb位のファイルをCD-Rに落とし込める700mbまで圧縮したいんですが。できれば、zipやlzhなどの後で解凍しなくてはいけないような圧縮方法ではなく、多少画像が荒くなってもファイルを単純に縮小させるような方法を教えていただけると有り難いのですが。。
因みに、TMPGEncを試してみたんですが、どうもうまくいかなくて。。ファイルサイズが元のファイルより逆に大きくなってしまうんです。
すいませんが、宜しくお願いします。

Aベストアンサー

画像圧縮?くす(^^
エンコはTMPGEncやaviutlでやるのがふつーです。
ええ 絶対! 
aviutl
http://ruriruri.zone.ne.jp/aviutl/

zipとかで圧縮しても意味ありません サイズ的に。

で、TMPGEncで元より大きくなるのは問題は
コーデック、画像サイズ、 音声ファイルなど
理由はいっぱいあります。対処は類似質問みて↓
http://oshiete1.goo.ne.jp/kotaeru.php3?q=625581

だから圧縮というか再エンコードが面倒なら
ファイルをテキトーな部分でカットする方向性はどお?
CD-R 2枚に保存 450 450 くらいでカット。
対処は類似質問みて↓
http://oshiete1.goo.ne.jp/kotaeru.php3?q=610331
ではでは!

追伸
カンタンにならrmファイルに変更かなあ
でも画質は落ちますよ
ネット配信 ストリーミング形式でどぞ!
RealplusG2とかRealEncoderで変換
でもaviでもないしmpegでもないですけど、どお?

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=610331

画像圧縮?くす(^^
エンコはTMPGEncやaviutlでやるのがふつーです。
ええ 絶対! 
aviutl
http://ruriruri.zone.ne.jp/aviutl/

zipとかで圧縮しても意味ありません サイズ的に。

で、TMPGEncで元より大きくなるのは問題は
コーデック、画像サイズ、 音声ファイルなど
理由はいっぱいあります。対処は類似質問みて↓
http://oshiete1.goo.ne.jp/kotaeru.php3?q=625581

だから圧縮というか再エンコードが面倒なら
ファイルをテキトーな部分でカットする方向性はどお?
CD-R 2枚に保存 450...続きを読む

Q現在php(php5)とDB(MySQL)の勉強として情報管理システム

現在php(php5)とDB(MySQL)の勉強として情報管理システムを作成しているのですが,
認証機能でつまづいています.


私が認証機能を使いたいのは以下の場面です.

? 利用者がログインする場合
 ただし,利用者側と管理者側を区別できるようにする

? パスワードを変更したい時,パスワード変更画面へログインする場合


?は,PearのAuth_HTTPモジュールを利用して,DBに登録してあるidとパスワードを組み合わせてBasic認証をするところまでできました.(管理者側のみ)

これで出来たと思ったのですが・・・
Basic認証はwebブラウザを閉じるまでログイン状態が続いてしまうので,他に認証を使いたい場面で認証の意味がなくなってしまいました;
(すでにログイン状態なので簡単に入れてしまうんです;)

1度ログインした状態で,さらに認証機能をつけるにはどうすればよいでしょうか?

現状をうまく説明できていなかったらすいません.
php,DBともに初心者なので単純な質問かもしれません;
よろしくお願いします.

現在php(php5)とDB(MySQL)の勉強として情報管理システムを作成しているのですが,
認証機能でつまづいています.


私が認証機能を使いたいのは以下の場面です.

? 利用者がログインする場合
 ただし,利用者側と管理者側を区別できるようにする

? パスワードを変更したい時,パスワード変更画面へログインする場合


?は,PearのAuth_HTTPモジュールを利用して,DBに登録してあるidとパスワードを組み合わせてBasic認証をするところまでできました.(管理者側のみ)

これで出来たと思ったのですが...続きを読む

Aベストアンサー

Basic認証にはログアウトという仕組みがないですからね
セッションを使った認証をしてみてはどうでしょうか?

Qファイルの圧縮方法が解りません

窓の杜やベクター等に置かれている、フリーの圧縮、解凍ソフトをダウンロードしていますが、テキストファイルや、画像ファイルの圧縮方法が解りません。何方か教えて頂けませんか?

Aベストアンサー

ソフトの開発者のサイトで質問することをお奨めします。

ソフトごとに操作方法が異なりますので、使用しているソフト名すらない状態では誰も必要とする回答を出せません。

窓の杜やベクターでは開発者のサイトへのリンクがありますから、そこからアクセスできますよ。

QPHP+MySQL利用でDB登録に不具合が出てしまいます・・・

はじめまして。
PHP+MySQL利用初心者です。
現在、MySQLの「text」属性の項目に「測定不能」とINSERTしようとすると、
↓のようなエラーが発生してしまいます。
【1064: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '005')' at line 1】

どのようなSQLが実行されているか見てみましたら測定不能」と画面で入力したのに「'測定不能\'」となっていました。
「測定不可」と画面入力した場合はSQL文も「測定不可」と流れて正常にINSERT出来ます。

このような現象に詳しい方アドバイスお願い致します。

Aベストアンサー

php.iniでmagic_quotes_gpcがonになっていると、
COOKIE,POST,GETで渡された値の中の
これらの文はは勝手にエスケープされる。

ので、
php.ini でmagic_quotes_gpc = off
にする

ってやつですかね?

Qpsdファイルの圧縮方法

psdファイルの圧縮方法を教えてください。(基本的質問で恐縮ですが)
win98です。なお、ファイルは9MB程度ですが、圧縮したものを解凍する際、鮮明度が落ちずに元通りの画像で開けますでしょうか?

Aベストアンサー

●大きなサイズのファイルを分割して送付

+Lhaca 1.20 デラックス版での分割方法
http://park8.wakwak.com/~app/Lhaca/

 1. インストールは、ダウンロードした Lhaca120.exe を実行する。
 2. デスクトップに作成された +Lhaca のショートカットに、
   対象のファイルをALTキーを押しながらドロップする。
 3. 保存場所を聞いてくるので、望みの場所を指定する。
   (圧縮形式は、相手が解凍できる形式を選ぶ。)
 4. 分割されたファイル群と結合用のバッチファイルが作成される。
   (デフォルトでは 1.2MB を上限として分割される。)
   (このサイズは +Lhaca で変更できる。)
 5. (4)のファイル全てを、容量を超えないようにメールに添付して送信
   する。
   (添付ファイル総数を本文に明記すること。)
 6. 受け取った側は、全ての添付ファイルを一箇所に集めて、バッチファ
   イルを実行する。
   (操作手順は、本文に明記すること。)
 7. 分割されたファイルが結合されるので、結合された圧縮ファイルを解
   凍する。
 8. 9MBのファイルが解凍されるので、作業する。


これでどうかな!?

※他の圧縮ソフトも分割機能が備わっていると思うが・・・

●大きなサイズのファイルを分割して送付

+Lhaca 1.20 デラックス版での分割方法
http://park8.wakwak.com/~app/Lhaca/

 1. インストールは、ダウンロードした Lhaca120.exe を実行する。
 2. デスクトップに作成された +Lhaca のショートカットに、
   対象のファイルをALTキーを押しながらドロップする。
 3. 保存場所を聞いてくるので、望みの場所を指定する。
   (圧縮形式は、相手が解凍できる形式を選ぶ。)
 4. 分割されたファイル群と結合用のバッチファイルが作成される。
   (...続きを読む

QPHPのPEAR:DBでPostgreSQLを使用時、カラム名でデータが取得できない

PHPのPEAR::DBのサンプルを公開しているサイトから以下のソースを引っ張ってきて、試してみました。すると、少しおかしな現象が発生したので、ご質問させていただきます。

------------------------------
$dsn = "pgsql://postgres:pass@localhost/postgres";

$db = DB::connect($dsn);
if (PEAR::isError($db)) {
die($db->getMessage());
}

print('接続に成功しました<br>');

$sql = 'select * from "USER_TBL"';
$res =& $db->query($sql);
if (PEAR::isError($res)) {
die($res->getMessage());
}

while ($row =& $res->fetchRow()) {
print($row['ID']);
print($row['NAME'].'<br>');
}
------------------------------

接続は問題なかったのですが、データベースからデータを取得する「print($row['ID']);」の部分が動かず、<br>だけ出力されてしまいます。IDのカラム名をダブルクォーテーションで囲っても、値が出てきません。ところが、print($row[0]);などのように、数値を指定してやると、その部分が出力されます。

また、カラム名を小文字に変えてみたりもしましたが、やはりそれでもデータは取得できませんでした。

理由がよく判らないのですが、カラム名でデータを引っ張ってきたいと思います。解決方法はありませんでしょうか?

PHPのPEAR::DBのサンプルを公開しているサイトから以下のソースを引っ張ってきて、試してみました。すると、少しおかしな現象が発生したので、ご質問させていただきます。

------------------------------
$dsn = "pgsql://postgres:pass@localhost/postgres";

$db = DB::connect($dsn);
if (PEAR::isError($db)) {
die($db->getMessage());
}

print('接続に成功しました<br>');

$sql = 'select * from "USER_TBL"';
$res =& $db->query($sql);
if (PEAR::isError($res)) {
die($res->getM...続きを読む

Aベストアンサー

参考URLの DB_FETCHMODE_ASSOC を参照しましょう。

参考URL:http://pear.php.net/manual/ja/package.database.db.intro-fetch.php

QNTFS圧縮したファイルを全部まとめて戻す方法

NTFS圧縮したファイルをプロパティからひとつひとつチェックをはずして戻すのではなく、圧縮されたファイルを全部まとめて元に戻す方法ってあるのでしょうか?

Aベストアンサー

圧縮を解除したいファイルを全て選択した状態で
→プロパティ→NTFS圧縮のチェックを外す→OK

それらのファイルがフォルダに入っているなら
フォルダのプロパティからやってもいい。
(サブフォルダにも適用するか尋ねられるからOKにする)

QwindowsPCにもApache+MySQL+PHPの環境を導入

したいのですが、やり方が説明してあるサイトなどがあれば教えてくださいませ.ちなみにOSは98でお願いします.
スペックは400MHz,56MB,8GBしかありません.が大丈夫でしょうか?

Aベストアンサー

WindowsXPを対象に解説されていますが、多くの部分はWin98でも利用できると思います。

参考URL:http://y-kit.jp/saba/


人気Q&Aランキング

おすすめ情報