• ベストアンサー

pdfファイルの管理システム

pdfファイルの管理システムを作っています。 ファイルの置き場をきめて、ファイル名を任意に置き換え、 ファイルの情報だけDBに登録したいのですが、簡単にサンプルphpスクリプトを書いてもらえませんか?

  • MySQL
  • 回答数4
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

まずデータベースをつくります、仮にmydb 次に管理用テーブルをつくります create table t_pdf_manage( id int not null auto_increment primary key ,name varchar(20) unique key ,size int ,upload_time datetime ,modify_time datetime ,flg tinyint default 1 ); 以下、サンプルプログラム <form enctype="multipart/form-data" method="post"> <input type="file" name="myfile" size="30"> <input type="submit" value="アップロード"> <?PHP $uploads_dir = '/uploads'; $link = mysql_connect('localhost', 'username', 'password'); mysql_select_db("mydb"); if(isset($_FILES["myfile"]) and $_FILES["myfile"]["type"]="application/pdf" and $_FILES["myfile"]["error"] == UPLOAD_ERR_OK) { $tmp_name = $_FILES["myfile"]["tmp_name"]; $name = mysql_real_escape_string($_FILES["myfile"]["name"]); $size = $_FILES["myfile"]["size"]; $sql ="insert into t_pdf_manage(name,size,upload_time,modify_time,flg)"; $sql.=" values('$name',$size,now(),now(),1)"; $sql.=" on duplicate key update size=$size,modify_time=now(),flg=1"; $res=mysql_query($sql); $sql ="select id from t_pdf_manage where name='$name'"; $res=mysql_query($sql); $row=mysql_fetch_row($res); $up_name=$row[0]; move_uploaded_file($tmp_name, "$uploads_dir/$up_name"); } if(isset($_POST["del"]) and is_array($_POST["del"])){ $sql ="update t_pdf_manage set flg=0 where id in("; $flg=true; foreach($_POST["del"] as $val){ if($flg){ $flg=false;}else{$sql.=",";} $sql.="'".mysql_real_escape_string($val)."'"; } $sql.=")"; $res=mysql_query($sql); } $sql ="select id,name,size,upload_time,modify_time from t_pdf_manage where flg=1"; $res=mysql_query($sql); print "<table border=1>\n"; print "<tr>\n"; print "<th>名前</th>\n"; print "<th>サイズ</th>\n"; print "<th>アップロード</th>\n"; print "<th>更新</th>\n"; print "<th>削除</th>\n"; print "</tr>\n"; while($row=mysql_fetch_array($res,MYSQL_ASSOC)){ print "<tr>\n"; print "<td>".htmlspecialchars($row["name"])."</td>\n"; print "<td>".$row["size"]."</td>\n"; print "<td>".$row["upload_time"]."</td>\n"; print "<td>".$row["modify_time"]."</td>\n"; print "<td><input type=\"checkbox\" name=\"del[]\" value=\"".$row["id"]."\"></td>\n"; print "</tr>\n"; } print "</table>\n"; mysql_close($link); ?> <input type="submit" value="削除"> </form>

egawa0812
質問者

お礼

yambejp さん、ありがとうございます。 作っていただいたものでじっくり勉強して、身に付けられるように頑張りマス! また、教えてください。

その他の回答 (3)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.4

>$uploads_dir = '/uploads';はどこかに作らないとダメですよね? この例だとルートに/uploads を作った前提ですね これは設定次第なので公開ディレクトリにしてもいいし、 非公開でプログラムから参照するのでもいいと思います

egawa0812
質問者

お礼

yambejpさん、いつもありがとうございます。 今度は必要なPDFファイル検索してを表示できるようにしようと思います。キーワードで検索したいんですが、ファイルのアップロード時にタグをつけるにはどうすればできますか? よろしくお願いします。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

修正 ×and $_FILES["myfile"]["type"]="application/pdf" ○and $_FILES["myfile"]["type"]=="application/pdf"

egawa0812
質問者

お礼

yambejpさん、ありがとうございます。 一つ質問ですが、$uploads_dir = '/uploads';はどこかに作らないとダメですよね?

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

ファイルのアップロードはinput type="file"でよいのでしょうか? ファイル名が競合するときは上書きでよいのでしょうか? 不要になったファイルは消すのでしょうか? それともファイルは消さずにファイル情報だけ消すのでしょうか?

egawa0812
質問者

お礼

yambejpさん、ありがとうございます。 ファイルのアップロードはinput type="file"です。 ファイル名が競合するときは上書きでいいです。 不要になったファイルは消さずにファイル情報だけ消すようにしたいです。 よろしくお願いします。

egawa0812
質問者

補足

yambejpさん、ありがとうございます。 ファイルのアップロードはinput type="file"です。 ファイル名が競合するときは上書きでいいです。 不要になったファイルは消さずにファイル情報だけ消すようにしたいです。 よろしくお願いします。

関連するQ&A

  • PHP+PostgreSQLを使ってPDFファイル管理DBを作成したい。

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

    • 締切済み
    • PHP
  • PDFファイル管理プログラムと表示するプログラムのサンプルを探しています。

    いつもお世話になります。perlにてPDFファイルをアップロード、削除。変更する管理プログラムとこのアップロードしたファイルに見出しを見出しを付けてページに表示するプログラムを作成したいと思います。(こちらはperlでのSSI) たとえば会計.PDFファイルをアップロードすると、ホームページ上でH17年度会計という様に表示されるようにしたいのですが、方法が分かりません。 管理プログラムでアップロードしたファイルの実ファイル名、見出し名(ファイルに対する名前:会計.pdfに対する平成17年度会計)をファイルに書込み、表示プログラムでこの情報を読めばよいと思いますが、まだ初心者なのでperlの書き方がわかりません。ファイルアップロードなどのサンプルはありますが、ファイル名と見出し名の結びつけの処理が特に分かりません。どなたかご教示またはサンプルのご提供をお願いいたします。

    • ベストアンサー
    • Perl
  • phpスクリプトにおいて、PDFファイルを出力

    phpのアプリケーションにおいて、DBから必要項目を取得し、 下記のPDFフォーマットへ落とし込みたいと考えております。 http://shenyang.usconsulate.gov/uploads/images/9RDUpa5a5L_o4AHk0SzO4A/DS-0156.pdf なにか、PHPのスクリプトで、PDFファイルの出力ができるものがあれば教えていただけませんでしょうか?よろしくお願いいたします。

  • ファイル管理システムの構築

    お世話になります。 現在、ファイル管理システムのようなものを構築してみたいと考えています。 具体的には、office(word,excel,powerpoint)などの文章を管理し、Webブラウザ上でファイルを検索することができるようなシステムを考えています。 条件として、個人で試しに構築してみたい程度なので、Linuxをベースにフリーで構築したいです。 Linuxの知識はありますが、漠然とapache+MySQLでWebサーバとDBを構築するのかなぁという程度の想像しかなく、保存したファイルをWebブラウザ上で検索させるには、どういった仕組みがいいのか、はっきりとしたイメージがつかない状況です。 このため、上記システムを構築するには、どういったもので実現することができるのか、また実現すべきなのか、お知恵を貸していただけないでしょうか。 本来の意図は、apacheとDBの知識を身に付けたい。その中で、保存しているファイルが検索でき、管理することができるシステムが作れればいいなということです。 宜しくお願いします。

  • WordをPDFに変換

    現在、PHPであるシステムを開発しています。 そこで、WordファイルをPDFに変換する必要性が出てきたのですが、 PHPの初心者なので、その辺の知識がありません。 どなたか教えていただけませんでしょうか? できれば、サンプルがあると 助かります。

    • 締切済み
    • PHP
  • PDF管理ファイルを部門ごと分ける方法

    いつもお世話になります。 perlでPDFをアップロードするファイルを作成しております。作成したプログラムはファイルをアップロードした時に管理ファイルを作成しアップロードしたファイル名と任意に作成したファイルを記憶するものです。出力プログラムは別にありその記録ファイルを読み込んでHTMLに吐き出しを行います。仕様変更で各部門ごとに記録ファイルを作成する櫃用があるのですが方法がわかりません。何かよいアイディア、ツールのご紹介をお願いいたします。

  • DBの管理について

    たびたびお世話になります。 WEBで顧客情報を登録してもらいDBで管理する場合ACCESSなどのPCソフトで管理するのと、MYSQLなどと、PHP等でフォームを作成して管理するのではどちらがスムーズに管理できるのでしょうか?管理したい内容は 1・登録情報の追加、削除等 2・登録情報から条件を指定して抽出 3・抽出した所へメール送信 4・登録情報の一括登録(数千件) などを主に考えています。基本的に、データーはMYSQLのDBに登録されている内容を管理したいと思っています。宜しくお願いします

  • pdfファイルについて

    こんばんは。 pdfファイルについて教えてください。 A4サイズのpdfファイルの中にある決まった位置に記載されている 文字を判別する方法はありますでしょうか。 何をしたいかといいますと 認識した文字でファイル名を登録したいです 何かヒントでもいただけると助かります。 よろしくお願いいたします。

  • PDFファイルをダウンロードするシステムを作りたいと思っています。

    PDFファイルをダウンロードするシステムを作りたいと思っています。 サイト閲覧者がクリックするとPDFファイルをダウンロードできる方法を教えてください。 PDFファイルは用意できています。 直リンクの方法ではありません。 すでに同じ質問が出ており、やってみたのですが、うまくいきません。 どなたかわかる方、どうぞよろしくお願いします。

    • ベストアンサー
    • HTML
  • ファイルメーカーでPDFを開く

    昨日から始めたファイルメーカーで、PDF書類リストを作っています。 ボタンを押せば、そのPDFが開けるようにしたいのですが、やり方がよく分かりません。 具体的には、まずフィールドの一つに、テキストでそのPDF書類のパスを書きました。(例えば、そのフィールド名を”Path”とします。) この変数”Path”をスクリプトに記述して、そのファイルを開きたいのですが、スクリプト定義で「AppleScript実行」を使うのか「AppleEvent送信」を使うのか、またはそのほかのものを使うのかよく分かりません。 また、記述の仕方がいまいち分かりません。 よろしくお願いします。

    • ベストアンサー
    • Mac