スレッド表示 | フラット表示〕 全トピック 920 件中 528 番目 次≫ ≪前

zipファイルのアップロードについて

created: 2004-11-15 14:23 | modified: 2004-11-15 22:40 | reply: 3

[1895] zipファイルのアップロードについて

user: ゆき | created: 2004-11-15 14:23
はじめて投稿させていただきます、ゆきと申します。
ファイルアップロードについて、どうしても分からないことがあったので、
ご存知の方はぜひ教えていただけますでしょうか?

zipファイルがtmpフォルダにアップされたあと、同フォルダ内で
解凍し、その後配列に解凍されたデータを入れていきたいのですが
うまく解凍できません。

気になっている部分が、tmpフォルダにアップした時に、
['userfile']['tmp_name']で取得できる名前で、tmpフォルダにアップされているので
ひょっとして名前がいけないのかと思い、rename関数を使ってアップしようとしたら、
エラーが表示されて名前が変更できませんでした。

色々自分なりに試してみたのですが、うまくいかず困っている状態です。
ご存知の方がいらっしゃいましたら、ぜひ教えていただけないでしょうか?
よろしくお願いいたします。
reply: 1896 返信 編集 削除

[1896] Re. zipファイルのアップロードについて

user: ゆうじ | created: 2004-11-15 16:11
こんにちは。

■アップロード後は任意のディレクトリへコピー

tmp にあるファイルはいつ何時削除されるかわかりませんので、
アップロード直後 copy関数で任意のディレクトリに
コピーしておく必要がありますがこれは行ってますか。

※参考
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_k10.htm


■ライブラリがインストールされているか

マニュアルのZipファイル関数には次のようにありますが、
このライブラリはインストールされているでしょうか。

http://jp2.php.net/manual/ja/ref.zip.php
このモジュールは、Guido Draheimにより作成された
ライブラリ ZZIPlibの関数を使用します。
ZZIPlibバージョン >= 0.10.6が必要です。

以上考えられそうな原因を2つ。解決のヒントになれば幸いです。
もっと原因を絞り込めるかと思います。がんばってみてください。
Parent: 1895  reply: 1897 返信 編集 削除

[1897] ありがとうございました。もうひとつお聞きしたいのですがよろしいでしょうか

user: ゆき | created: 2004-11-15 17:05
ゆきです。
とても早いご回答ありがとうございました。

先ほどの質問で忘れていたことがあったのですが、
よろしいでしょうか?

 tmpファイルにアップされたzipファイル、または画像,テキストファイルですが、
アップするたびに英字の羅列でファイルが作成されるのですが
この名前で例えば、

system('zip -d ABCDEFG');
などとした場合は解凍されるのでしょうか?

 解凍できなければ、アップしたファイル名(例えば20041115.zipなど)で解凍しなければ、やはり解凍することができないのでしょうか?
同じような質問になってしまって申し訳ありませんが、よろしくお願いします。
Parent: 1896  reply: 1898 返信 編集 削除

[1898] ファイルアップロード

user: ゆうじ | created: 2004-11-15 22:40
> tmpファイルにアップされたzipファイル、 または画像,テキストファイルですが、
> アップするたびに英字の羅列でファイルが作成されるのですが
> この名前で例えば、

> system('zip -d ABCDEFG');
> などとした場合は解凍されるのでしょうか?

残念ながらうちのサーバでは、
system関数が使えないので
system('zip -d ABCDEFG'); を確かめられません。
解凍されるかどうかは、
あらかじめFTPなどでアップロードしたzipファイルを
解凍してみればわかるのではないでしょうか。

なんだか、/tmp にファイルを置いたまま
zip解凍しようとなさってるようですね。
これは無理なのではないでしょうか。

アップロードされたファイルは、
サーバの /tmp ディレクトリに一時ファイルとして保存され
サーバの管理下にあります。
この一時ファイルを任意のディレクトリに保存し直してはじめて
一時ファイルではない普通のファイルとして取り扱えます。

おすすめしませんが、
どうしても /tmp ディレクトリで解凍したいならば
任意の名前で /tmp ディレクトリに保存し直してから
Zip解凍を試みてみては。


◆訂正
先の※参考は情報が古かったようです。(すみません)
現在のPHPマニュアルを元にサンプルコードを書いてみましたので、
ファイルアップロードについては
以下のコードで確かめていただければともいます。

任意のディレクトリに、upload.php という名前でファイルを保存し
そのディレクトリのパミッションを777にします。

ブラウザから upload.php にアクセス、
ファイルを選び、アップロードを実行すると、
そのディレクトリにファイルがアップロードされます。

upload.php
<?php
if (empty($_FILES['userfile'])) {
?>
<form enctype="multipart/form-data" action="<?php echo $PHP_SELF; ?>" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
Send this file: <input name="userfile" type="file">
<input type="submit" value="Send File">
</form>
<?php
}
else {
$uploadFaileName = dirname(__FILE__).'/'.$_FILES['userfile']['name'];
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadFaileName)) {
echo 'OK!';
}
else {
echo 'No!';
}
}
?>

アップロードされれば、'OK!'、
失敗すれば、'No!' と表示されます。

これがOKならばアップロード処理は問題ないということになります。

zip解凍については私のところで確かめられないので
どなたかフォローいただけると助かります。
Parent: 1897  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 528 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑