圧縮ファイル展開型あぷろだを作りたい

このエントリーをはてなブックマークに追加
1nobodyさん:2008/11/12(水) 10:35:13 ID:j29vKJ+C
が、ぐぐっても参考になるサイトが見つからないのでソースや解説サイト教えてください。

愛の手をヽ(;´Д`)ノ
2nobodyさん:2008/11/12(水) 11:42:13 ID:???
>>1
よし、まず何を聞きたい?
何をどこまで作ったんだ?アップしてくれ。
3nobodyさん:2008/11/12(水) 11:53:19 ID:j29vKJ+C
>>2
レスありがとうございます。
すみませんまだPHPアップローダのフリーソースをDLしてレンタル鯖探してるところでして・・・

基本的なところがよくわかっていないのですが、PHPのアップローダにZIPを展開するスクリプト?組み込んで
その結果をサムネイル表示する。という考え方でだいじょうぶでしょうか?

圧縮ファイル展開型アプロダもフリーソースがあるだろうと思って探してみたところ見つけられなかったので
自分で挑戦してみようかと思ってます。
4nobodyさん:2008/11/12(水) 18:04:14 ID:???
http://pc11.2ch.net/test/read.cgi/php/1145941
マルチ乙

レスしてくれてる人にレスかえさへんってどうなん?
5nobodyさん:2008/11/13(木) 01:31:10 ID:Qi0OORAp
>>3
圧縮ファイルならPEARが必要だな
6nobodyさん:2008/11/13(木) 02:09:19 ID:???
まぁ、レン鯖はほとんど無理だろう。
自鯖建てられないなら諦めろ。
7nobodyさん:2008/11/14(金) 14:32:19 ID:???
>>5
PEARググってきました。
PHPのアプロダにこれ組み込んだらいけそうですね。
8nobodyさん:2008/11/14(金) 14:33:47 ID:???
>>6
とりあえず作って動作チェックしてOKだったら自鯖建てるつもりです。
レン鯖申し込みしてきたのでPHPとPEARしこしこ弄ってきます!

レスくれてる人ありがとうございます。
あぷろだ完成まで経過報告をさせていただきますので見守ってやってください(o*。_。)oペコッ
9nobodyさん:2008/11/14(金) 15:14:01 ID:Kmy+84ZB
レンタルスペースにPHPのあぷろだ設置してみました。
http://www9.atpages.jp/~pakupaku001/

PHPに関しては知識がないのでこれから勉強していきます。
10nobodyさん:2008/11/14(金) 16:25:23 ID:Kmy+84ZB
サンプルでDLしたのは拡張子がPHPのものだったんですが、例えばページはHTMLで表示して
「upload」のボタンにup.phpへのリンクを指定して処理をさせるということが可能でしょうか?
11nobodyさん:2008/11/14(金) 17:42:00 ID:Kmy+84ZB
http://www.exploader.net/
ここみたいなの作りたいです
12nobodyさん:2008/11/15(土) 00:50:15 ID:???
>>10
upload_iriguchi.html
<form action="./up.php" method="post" enctype="multipart/form-data">
....
</form>
ってこと?
13nobodyさん:2008/11/15(土) 00:53:16 ID:???
あと、Zipファイルの中身を見たりするなら
http://pear.php.net/package/Archive_Zip
ってのがある。これ+PEAR.phpで単体で普通に動くから

[pear archive_zip]とかググりつつ、
http://www.phppro.jp/news/181
とかみてがんばれ。
14nobodyさん:2008/11/15(土) 00:57:14 ID:???
ただ、system()でunzip系が使えるなら素直にシステムコマンドたたいた方が楽だな。
15nobodyさん:2008/11/15(土) 07:46:42 ID:???
>>12
そんな感じです!
できるんですね〜がんばります
16nobodyさん:2008/11/15(土) 07:48:21 ID:???
>>13
ローカルのテスト用にXAMPPいれてPEAR使ってみたら
require_once(PEAR/Info.php) [function.require-once]: failed to open stream〜
ってエラーがでて先に進めませんorz
ちゃんとインストールできてないんでしょうか?

丁寧なレスありがとうございました。
171:2008/11/15(土) 10:53:07 ID:k8oNRHMF
自決しました。

PEARのライブラリがインストールできてなかったみたいでした。
181:2008/11/15(土) 15:31:44 ID:k8oNRHMF
http://www.exploader.net/
ここみたいな感じにするにはファイル名とか連番とかの情報をテキストで読み書きするのではなくMYSQLとかでDB管理しないとだめでしょうか?
19nobodyさん:2008/11/15(土) 21:21:27 ID:???
全く同じものが作りたいの?
拡張の仕方でテーブル構成はだいぶ変わるけど
20nobodyさん:2008/11/15(土) 23:24:30 ID:k8oNRHMF
>>19
レスありがとうございます。
配置とかレイアウトまで全く一緒じゃなくてもいいです。
圧縮ファイルをうp→展開してサムネイル表示→一枚選んでトップにリンク表示
ここの機能を真似したいです。
211:2008/11/16(日) 00:11:40 ID:bd9Qfzm9
xamppを使ってローカルで試行錯誤しているのですがまたかう゛ぇにぶつかってしまいましたorz

アップロードの動作自体はできたのですが、日本語のファイルを指定するとファイルの名前を格納させている変数が空っぽの状態になってしまいます。
日本語ファイルに対応させるにはどうしたらいいでしょうか?

//アップロードファイルの条件
$max_file_size="104,857,600";
$permit_ext=array("zip","lzh","rar");
$upload_dir="upfiles/";

$uploaded_file_tmp=$_FILES["upfile"]["tmp_name"];
$uploaded_file_name=$_FILES["upfile"]["name"];
$uploaded_file_size=$_FILES["upfile"]["size"];
$uploaded_file_ext=pathinfo($_FILES["upfile"]["name"],PATHINFO_EXTENSION);
$uploaded_file_pass=$_POST["pass"];

//チェック
if (!is_uploaded_file($uploaded_file_tmp) == true) {
echo "ファイルを選択してください。";
exit;
} elseif(!$uploaded_file_pass) {
echo "削除Passを入力してください。";
exit;
} elseif($max_file_size > $uploaded_file_size) {
echo "100MBを超えるファイルはアップロードできません。";
exit;
} elseif(!in_array($uploaded_file_ext,$permit_ext)) {
echo "ZIP、RAR、LZH形式のファイルを指定してください。";
exit;
}
22nobodyさん:2008/11/16(日) 00:13:01 ID:bd9Qfzm9
連投すみません。

ファイルの名前を格納させている変数が空なだけではなくアップロード自体がされていないみたいですorz
23nobodyさん:2008/11/16(日) 00:30:59 ID:???
>>20
それだけだとしたら別にDBはいらない
管理がしたいなら使ったほうがいい
241:2008/11/16(日) 03:49:53 ID:bd9Qfzm9
>>21が分かりづらいかなと思ったんで再度。

//アップロードファイルの条件
$max_file_size="104,857,600";
$permit_ext=array("zip","lzh","rar");
$upload_dir="upfiles/";

$uploaded_file_tmp=$_FILES["upfile"]["tmp_name"];
$uploaded_file_name=$_FILES["upfile"]["name"];
$uploaded_file_size=$_FILES["upfile"]["size"];
$uploaded_file_ext=pathinfo($_FILES["upfile"]["name"],PATHINFO_EXTENSION);
$uploaded_file_pass=$_POST["pass"];

//チェック
if (!is_uploaded_file($uploaded_file_tmp) == true) { ←日本語ファイルを指定したらここでtrueになっちゃうんです。
echo "ファイルを選択してください。";
exit;
} elseif(!$uploaded_file_pass) {
echo "削除Passを入力してください。";
exit;
} elseif($max_file_size > $uploaded_file_size) {
echo "100MBを超えるファイルはアップロードできません。";
exit;
} elseif(!in_array($uploaded_file_ext,$permit_ext)) {
echo "ZIP、RAR、LZH形式のファイルを指定してください。";
exit;
}
25nobodyさん:2008/11/16(日) 10:58:11 ID:???
>>24
ファイルのアップロードに関して、ファイル名をそのまま使いたい
とかないなら日本語ファイル名とかあんま関係ない。
実態はtmp_nameになってるから。

それを使いたいなら、SJISだからエンコード変換する必要は有る。

ファイルそのものがアップされないって言ってるから
<form>に >>12 で示したenctypeが入ってないんじゃないか?
261:2008/11/16(日) 11:39:14 ID:bd9Qfzm9
>>25
レスありがとうございます。
<form>のソースですが、

<form action="action.php" method="post" enctype="multipart/form-data">
<p>アップロードするファイルを選択してください。
<input type="file" name="upfile" /></p>
<p>
削除パスワードを入力してください。
<input type="password" name="pass" /></p>
<p><input type="submit" value="実行" /></p>
<p><input type="reset" value="リセット" /></p>
</form>

でenctypeは指定してあります。

>>それを使いたいなら、SJISだからエンコード変換する必要は有る。
これですが、mb_convert_encoding(***,"SJIS")を使っても結果が同じでしたorz
271:2008/11/16(日) 11:40:59 ID:bd9Qfzm9
>>25
SJISへのエンコードですが、

$_FILES["upfile"]["tmp_name"]と$_FILES["upfile"]["name"]のどちらに使うのが正しいのでしょうか?
tmpが一時的に保存されたファイルでnameの方が指定されたファイル名と認識しているのですが
281:2008/11/16(日) 13:45:22 ID:bd9Qfzm9
経過報告です。
どうやら日本語がだめなんじゃなくてファイルによってうまくいくときといかないときがあるみたいです・・・

まだ原因がわからないのでいろいろ検証してまた報告します
291:2008/11/16(日) 15:13:35 ID:bd9Qfzm9
http://www9.atpages.jp/~pakupaku001/log/002.zip

どうしても原因がわかりません。
作成したファイルをアップしますのでチェックしていただけないでしょうか?

日本語の書庫ファイルの場合のみうまくいったりいかなかったりします。
うまくいかないときは$_FILES["upfile"]["tmp_name"]がからっぽという状態です
30nobodyさん:2008/11/17(月) 04:15:56 ID:???
>>29
あぁ、自分で$max_file_sizeを制限してるつもりだろうけど、
そもそもPHPで設定されたサイズ以上はアップできんよ。

phpinfo()でupload_max_filesizeって項目を探してみ。
デフォだと2Mになってるとおもう。
http://jp.php.net/manual/ja/ini.core.php#ini.upload-max-filesize

これ解除するには.htaccessが使えて、php_valueを設定できる
とかじゃないとダメで、まぁそれができるかどうかはレンサバによる。
31nobodyさん:2008/11/17(月) 12:47:27 ID:zq7HbAGh
>>30
レスありがとうございました。

ご指摘の通りでPHP自体にアップロードできるファイル容量制限があることを知りませんでしたorz
そこを変更したら大丈夫になりました。
321:2008/11/17(月) 12:51:29 ID:zq7HbAGh
日本語でファイルのアップロード(容量、拡張子、パス制限あり)に加え、
後々の管理のためにMysqlにファイルの名前などの情報を格納する仕様にしようと思っています。

SQLに取得した情報を保存するところまでは成功しているのですが、管理をする上でsqlに必要なフィールドはどんなものがあるでしょうか?
自動付番のID、ファイル名(日本語)、日時、削除passぐらいしか思いつかなくて・・・

あとDBにファイル自体を格納することは可能でしょうか?

初心者なのでお手数をおかけしてすみませんがよろしくお願いします。
33nobodyさん:2008/11/17(月) 13:43:18 ID:???
少しは自分の頭で考えろ
34nobodyさん:2008/11/17(月) 20:48:02 ID:???
初心者関係ねーだろそれ
35nobodyさん:2008/11/17(月) 23:18:54 ID:???
blob
36nobodyさん:2008/11/18(火) 00:54:37 ID:???
>>32
>SQLに取得した情報を保存するところまでは成功しているのですが、管理をする上でsqlに必要なフィールドはどんなものがあるでしょうか?
>自動付番のID、ファイル名(日本語)、日時、削除passぐらいしか思いつかなくて・・・

とりあえずそれでOK。作ってみて足りなかったらALTERかけて
フィールド増やせば良い。初心者なんだからとりあえず動くもの作ってから悩め。

>あとDBにファイル自体を格納することは可能でしょうか?
できるが、まだそのレベルには達してない。
それより先にやることがいっぱいあるでしょ。
37nobodyさん:2008/11/18(火) 10:07:54 ID:???
>>36
ありがとうございます。

とりあえず今思いつく限りの機能を順番に加えながら悩んでやってみます(o*。_。)oペコッ
38nobodyさん:2008/11/19(水) 21:18:58 ID:???
これくらいちゃっちゃかと自分で作れないようでは
コッポラたんがいても気づくことができないから危ないGス
39Perl仙人 ◆M5ZWRnXOj6 :2010/08/23(月) 19:20:57 ID:3hx9uhRe
こんなの簡単につくれるっすね シュッシュッシュ
systemつかえばできんだろきも
Perlつかえば?

レベルひくすぎ
40nobodyさん:2010/08/26(木) 02:57:35 ID:???
perlだと負荷が高いよ
Cで作るだろ・・・
レベルひくすぎ
41Perl忍者 ◆M5ZWRnXOj6 :2010/08/31(火) 23:47:44 ID:NL5nyoqM
Cで作れないのによくほざくよねwwwwwwwwwwwwww


どうせお前Cとか速いってしってて ほざいてるだけ
実際Cでかけないかすw
42nobodyさん:2010/09/01(水) 00:17:26 ID:???
かけるよ^^
お前はCできないのかwwww
43nobodyさん:2010/09/10(金) 03:31:08 ID:???
>>41
Cにコンプレックスかよww
44 忍法帖【Lv=40,xxxPT】(4+0:8) 【43.9m】 電脳プリオン ◆3YKmpu7JR7Ic
作れた?