トップページ⇒php
44コメント17KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2008/11/12(水) 10:35:13ID:j29vKJ+C
が、ぐぐっても参考になるサイトが見つからないのでソースや解説サイト教えてください。

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

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

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

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

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

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

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

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

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

ファイルの名前を格納させている変数が空なだけではなくアップロード自体がされていないみたいですorz
0023nobodyさん2008/11/16(日) 00:30:59ID:???
>>20
それだけだとしたら別にDBはいらない
管理がしたいなら使ったほうがいい
002412008/11/16(日) 03:49:53ID: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;
}
0025nobodyさん2008/11/16(日) 10:58:11ID:???
>>24
ファイルのアップロードに関して、ファイル名をそのまま使いたい
とかないなら日本語ファイル名とかあんま関係ない。
実態はtmp_nameになってるから。

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

ファイルそのものがアップされないって言ってるから
<form>に >>12 で示したenctypeが入ってないんじゃないか?
002612008/11/16(日) 11:39:14ID: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
002712008/11/16(日) 11:40:59ID:bd9Qfzm9
>>25
SJISへのエンコードですが、

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

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

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

日本語の書庫ファイルの場合のみうまくいったりいかなかったりします。
うまくいかないときは$_FILES["upfile"]["tmp_name"]がからっぽという状態です
■ このスレッドは過去ログ倉庫に格納されています