トップページ⇒php
1001コメント331KB

【PHP】下らねぇ質問はここに書き込みやがれ 32

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/11/06(月) 22:07:16ID:???
PHPに関するくだらねぇ質問用スレです。ここならお前の下らない質問に回答があるかも知れません。

まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

【前スレ】
 【PHP】下らねぇ質問はここに書き込みやがれ 31
 http://pc8.2ch.net/test/read.cgi/php/1161733546/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しない)
・ サーバーのOS、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
0594nobodyさん2006/11/15(水) 16:42:00ID:???
自問自答乙w
0595nobodyさん 2006/11/15(水) 16:48:00ID:???
>>594
きたきた。お前みたいな奴のことを言うのだよ。
0596nobodyさん2006/11/15(水) 16:50:27ID:???
>>595
煽ってる時点でお前も同類だろ
基地外は>>581,>>583で十分だ
ウザイからレスすんなよ

05975952006/11/15(水) 16:53:18ID:???
>>596
おれを煽ってるからお前も同類だな。
0598nobodyさん2006/11/15(水) 16:55:02ID:???
また変なの沸いたよ。
こういう奴に限って四六時中パソコンにべったりで、他人の非難や中傷しかしない暗い奴なんだよな。
こんな事やってて楽しいか?
0599nobodyさん2006/11/15(水) 16:58:53ID:???
>>598
それに加わったお前も仲間入りだな。おめでとう。
0600nobodyさん2006/11/15(水) 16:59:35ID:???
>>593のように他人を卑下して快楽を得ることに呵責を感じないタイプの
人間はいる、というか自分がそうなんだから、楽しいか?なんて聞く必要は
ないと思うけど?
0601nobodyさん2006/11/15(水) 17:02:33ID:???
今日は池沼が多いですね。
0602nobodyさん2006/11/15(水) 17:04:34ID:???
>>597
お前さ、何がしたいの?
真面目に回答をしようとしている奴だっているのに、そんな人に対して失礼じゃないのか?
0603nobodyさん2006/11/15(水) 17:05:19ID:???
手取り足取り教えて欲しいんだよ。察してやれ
0604nobodyさん2006/11/15(水) 17:07:29ID:???
>>593
多くないけど?
同類とか言ってることから、お前が「四六時中パソコンにべったりで、他人の非難や中傷
をする奴」だってことは真であるとして、それがどうしたの?
0605nobodyさん2006/11/15(水) 17:08:12ID:???
子供の喧嘩ではあるまいし
0606nobodyさん2006/11/15(水) 17:11:03ID:???
>>581も>>593も同じ様な変な改行の仕方をしていますね。

sageを覚えた感想はいかがですか、根暗の人
0607nobodyさん2006/11/15(水) 17:11:06ID:???
どうして欲しいのかよく分からんやつだな。恐らくは自分でも分かってないんだろう。
0608nobodyさん2006/11/15(水) 17:11:17ID:???
子供の喧嘩だよ。スルーできない時点でみんなガキだ。
0609nobodyさん2006/11/15(水) 17:12:48ID:???
どこがどういう風に喧嘩なんだろう
>>608が一方的にわけのわからないことを喚いてて
まわりは理解に苦しむという展開だが
0610nobodyさん2006/11/15(水) 17:16:10ID:???
情けない奴
0611nobodyさん2006/11/15(水) 17:18:11ID:???
>>608
つーことはスルーしたほうがいいって思ってるんじゃん
なんで突如煽り始めたの?
0612nobodyさん2006/11/15(水) 17:18:16ID:???
>>609
同意。
喫茶店で雑談してたら、横からDQNの一行が大声ではしゃぎだして迷惑してる感じだな。
0613nobodyさん2006/11/15(水) 17:19:10ID:???
大人になったほうがいいと思ってるなら何故煽る?
0614nobodyさん2006/11/15(水) 17:20:39ID:???
>>613
だから喋りかけるとまた何か言い出すから(ry
0615nobodyさん2006/11/15(水) 17:32:36ID:N4vSt0D0
みんな必死だなあ
0616nobodyさん2006/11/15(水) 17:41:02ID:???
>>593から「他人を非難すること」に不満をもっていることが分かるが、なぜ
この流れでそんな主張が飛び出したのか?

質問スレで「非難・中傷」を否定するということは、その逆のことを要求している、
つまり「丁寧に回答するのが当然だ、煽りなど許せない」と思っているということになる

期待する回答がえられず、逆切れして荒らしたり捨て台詞吐いたりする質問者の類と
見るのが合理的だろう。わざわざIDを隠す必要があったのもそのためだ
0617nobodyさん2006/11/15(水) 17:43:09ID:???
>>615
ついさっきまで必死だった奴が何言ってんだか?wwwwwww
0618nobodyさん2006/11/15(水) 17:44:35ID:???
うぜえよゴミッカス
0619nobodyさん2006/11/15(水) 17:46:13ID:???
なぜ「みんな必死だ」なんて感想を、しかも感嘆文で書く必要があったのか
「みんな」は必死だが、自分はそうではないよ、とアピールしなきゃいけないものかね
書き込みは状況と照らすと意外に多くのことが分かるものだ
0620nobodyさん2006/11/15(水) 20:28:41ID:???
>>616

俺は>>593ではないんだけどさ、
よく分からんが、あんた見たいにネチネチ相手がいかにダメなやつか
説明するやつに、普通なやつはいないってことは確か

韓国ではもっと深刻的な問題になってるぞ

所詮2chだからな、まともか、能力ある人間は毎日チェックして
人を中傷するようなこといわないだろうな
0621nobodyさん2006/11/15(水) 21:09:54ID:???
なんだこの馬鹿w
0622nobodyさん2006/11/15(水) 21:12:24ID:???
能力あって、人付き合いがヘタなやつが、けっこう2chに多数いるわけ
だがw
0623nobodyさん2006/11/15(水) 21:13:08ID:???
>>620が言いたいことをもっとストレートに書いてやろうw

ここにいる連中は四六時中パソコンにべったりで、他人の非難や中傷
をする奴が多いな。そんな暗いことやってて楽しいのか?

0624nobodyさん2006/11/15(水) 21:14:55ID:???
ワロタ
0625nobodyさん2006/11/15(水) 21:48:28ID:???
ここまで読んだ

つもりになって全部読み飛ばした
0626nobodyさん2006/11/15(水) 22:06:05ID:???
ボランティアで回答できるおまえらは偉いよ。
IE7も無料でデバッグしてたらさらに偉いよ(笑)
0627nobodyさん2006/11/15(水) 22:49:38ID:kZ4689iH
WEB開発において、PHPの関数を全部使えるようにする意味はありますか?
0628nobodyさん2006/11/15(水) 23:01:53ID:???
あります。
0629nobodyさん2006/11/15(水) 23:03:50ID:???
>>627
ない。

反例
http://www.php.net/manual/ja/ref.ncurses.php
http://www.php.net/manual/ja/ref.printer.php
06306272006/11/15(水) 23:10:30ID:kZ4689iH
>>628さんと>>629さんのどちらのレスが有力なのかがわかりません。
0631nobodyさん2006/11/15(水) 23:12:28ID:kZ4689iH
男ならPHPのマニュアルを暗記するべきですか?
0632nobodyさん2006/11/15(水) 23:13:23ID:???
>>630
Ncurses 端末画面制御関数を使ったWebアプリがあるというなら、
どういうものなのかぜひとも聞きたい。
0633nobodyさん2006/11/15(水) 23:33:57ID:???
鯖ローカルで動かす管理ツールとか普通にあるだろ
0634nobodyさん2006/11/15(水) 23:39:58ID:???
HTTPD作るのもWEB開発といえばそうかもしれないけど
そう偏屈じーさんになる理由もないんじゃないの
0635nobodyさん2006/11/15(水) 23:44:39ID:???
>>634
管理ツールだからhttpd.confの編集をするCUIツール(curses使用)をWebアプリと呼ぶ、みたいな喩えのほう適当だな
0636nobodyさん2006/11/16(木) 00:05:25ID:???
関数を覚えるのはナンセンスとしても、どんなモジュールがあるのかマニュアルに目を通しとくのは
いいんじゃないかなあ
文字列処理や配列関数なんかは皆一通り知ってると思う
実際全体の何割くらい使ってるんだろうね
0637nobodyさん2006/11/16(木) 00:37:28ID:???
ちょっとお馬鹿な質問にお付き合いください。
EXCELのデータを取り込みたいんですが、検索したところEXCELにODBCで
接続して云々・・というページを見たのでPHPのODBC関数で接続を
試みています。
EXCELが入っているマシンだとドライバも一緒に入るので、以下のような
スクリプトを書いてみるとエラーは返りませんでした。

<?php
$conn = odbc_connect( "DRIVER={Microsoft Excel Driver (*.xls)}; DBQ=hoge.xls;", "", "");
if (odbc_error()) {
echo odbc_errormsg($conn);
}
?>

ktkrと思い、以下のコードを加えて見ましたが、エラーが発生してしまいます。

$sql = "select count(*) from Sheet1";  // Sheet1のデータ件数が取れるかな?
$rst = odbc_exec($conn, $sql);
if (odbc_error()) {
echo odbc_errormsg($rst);
}

恐らくシートの指定方法が間違っていると思うのですが。

そもそもこのようなことはできるのか?
できる場合は簡単なサンプルを見せていただけませんでしょうか。

よろしくお願いします。
0638nobodyさん2006/11/16(木) 00:48:39ID:???
Windows XP に Zend Studio をインストールしてみました。
mb_language(); を呼ぶと Fatal error: Call to undefined function mb_language() in ...
となってしまいます。
mb_string.dll はパッケージ内には見当たりません。
追加でコンポーネントをインストールしなければいけないのでしょうか?
それとも設定でしょうか?

0639nobodyさん2006/11/16(木) 00:55:37ID:???
>>637
http://pc8.2ch.net/test/read.cgi/php/1150088761/928
0640nobodyさん2006/11/16(木) 01:03:29ID:???
エクセル側でSheet1がテーブル名として設定されてないとか?
0641nobodyさん2006/11/16(木) 01:07:15ID:???
>>638
入ってるはずだけどねえ
まあ普通にオフィシャルから落としてきてextフォルダに放り込んでphp.iniの該当個所を
コメントアウトすれば動くんじゃないかしら
06426372006/11/16(木) 01:09:34ID:???
>>639
すみません。
今手元に再現できる環境が無いので。
明日ちゃんとしたエラーメッセージを張ります。

>>640
うーん。よく分かりません。
EXCEL側でテーブル名としてSheet1を登録する必要があるのですか?
ちょっと調べてみます。
0643nobodyさん2006/11/16(木) 01:12:41ID:???
dll非表示とか
0644nobodyさん2006/11/16(木) 01:28:09ID:???
>>637
ADOだとワーキングシートは[sheet1$:]?だっけ?
ODBCはしらんけどPHPよりM$のマニュアルに相談したほうがいいかもよ。
0645nobodyさん2006/11/16(木) 01:30:33ID:???
Zendってお布施してもサポートないのか
06466372006/11/16(木) 01:38:25ID:???
>>644
そうなんです。
まさにM$のVBとかC#での作法が分かっていないための質問でした。
AccessのサンプルはPHPのマニュアルにもあるのですが・・・。
明日もうちょっと気合を入れてググッてみます。
0647nobodyさん2006/11/16(木) 04:08:47ID:???
http://jp-typo3.com/
欧州大人気の超高機能CMS TYPO3はついに日本に公開

TYPO3はPHP、MySQLによって実装されているLAMPアプリケーションです。
大規模サイトを構築することを想定した高機能CMSで、リッチテキストエディタに
よるコンテンツのWISIWYG編集、キャッシング、サイト内検索、静的HTMLの
出力など対応です。

# 2000個以上の自由に使える機能拡張モジュール
# 文書・プロジェクト管理・オンラインショップなど他多数
# サイト分析、アドミンツール、ワークフロー
0648nobodyさん2006/11/16(木) 06:49:55ID:???
なんでLAMPと言い切れるのかが謎いな。
0649nobodyさん2006/11/16(木) 09:28:38ID:???
いまどき、リッチテキストエディタ
ってのがいいなw
0650nobodyさん2006/11/16(木) 12:39:04ID:GG+ftSx9
現在ディレクトリ内のファイルの更新日時一覧を↓のように
ファイルを読み込んだ順に表示しているのですが、

foreach($allfile as $temp){
print "$temp -";
echo date("m/d H:i:s",filemtime($temp));
}

これを更新日時が新しい順に表示するようにするには
どのようにしたらよいのでしょうか?

PHP4です。
0651nobodyさん2006/11/16(木) 12:43:01ID:73q/908c
各要素を
$arr[] = filemtime($temp);
に入れてソートしてからforeachすればいいのでは?
0652nobodyさん2006/11/16(木) 12:45:03ID:???
$tempが数値なんだろうからそれをソートしてからまわせば良いだろ
0653nobodyさん2006/11/16(木) 12:46:16ID:???

sort($allfile);
foreach($allfile as $temp){
print "$temp -";
echo date("m/d H:i:s",filemtime($temp));
}
0654nobodyさん2006/11/16(木) 12:59:03ID:73q/908c
filemtime();
してるからファイル名じゃね?
0655nobodyさん2006/11/16(木) 13:03:45ID:???
あ、ほんまやw
06566502006/11/16(木) 13:15:24ID:GG+ftSx9
$tempはファイル名です。
まだてこずってます・・・

みなさんありがとうございます
0657nobodyさん2006/11/16(木) 13:19:17ID:???

foreach($allfile as $temp){
$t = filemtime($temp);
$in[$t.$temp] = "$temp -".date("m/d H:i:s",$t);
}
sort($in);

とでもしといたら
06586502006/11/16(木) 13:22:12ID:GG+ftSx9
みなさん、ありがとうございます。

結局usortを使い
function new_sort($xx , $yy){
$xx1 = date("mdHis",filemtime($xx));
$yy2 = date("mdHis",filemtime($yy));
if($xx1 > $yy2){ return -1;}
elseif($xx1 == $yy2){ return 0;}
else{ return 1;}
}

usort($allfile ,"new_sort");
foreachでまわす前に
としてみたのですが、効率わるいですかね?
0659nobodyさん2006/11/16(木) 13:45:14ID:73q/908c
foreach($allfile as $key => $temp){
$arr[$key] = filemtime($temp);
}
$arrを値でソート
foreach($arr as $k => $v){
$arr2[] = $allfile[$key];
}
print_r($arr2);

とか?適当に書いたから間違ってるかも。
0660nobodyさん2006/11/16(木) 13:57:57ID:0z6MBXcS
ここで聞いていいのかな?

現在テキストファイルに出力したテーブルをCOPYコマンドでテーブルに入れるという処理をやっているのですが、
その方法は、VBからOBDCを使用してADODB.ConnectionのExecuteコマンドで
テーブルを更新するという方法です。

コマンドは、
COPY TABLE FROM '/apache/...../test.txt';
です。


この方法でとあるテキストファイルをDBに落とし込もうとしたところ、

ERROR: invalid byte sequence for encoding "UTF8" : 0x95

という文字コードに関するエラーが出て失敗してしまいます。


しかし、psqlから手動でCOPYコマンドを打つと普通にコピーに成功してしまいます。
両方失敗するのなら分かるのですが、何故VBからの処理が失敗するのでしょうか?
何が原因として考えられますか?
ちなみに開発環境はWin2k+PostgreSQL8.1(Windows)+VB6.0SP5です。
0661nobodyさん2006/11/16(木) 14:00:02ID:0z6MBXcS
ごめん、Postgresの質問だこれは。無視してください・・・
0662nobodyさん2006/11/16(木) 14:33:40ID:7s9N5dRH
呼び出されたスクリプト自身のURLを取得する方法ってありますか?
例えば、
https://example.com/index.php/hoge
こんなURLで呼び出された場合に、このURL自身を取得したいんですが。

もしかして、こいつら↓使って自分で組み立てるしかない?
$_SERVER['HTTPS']
$_SERVER["HTTP_HOST"]
$_SERVER["REQUEST_URI"]
エクセレントな方法ってある?
0663nobodyさん2006/11/16(木) 14:49:18ID:???
>>658
echo `ls -tr`;

>>662
http://jp2.php.net/manual/ja/reserved.variables.php
それだと要求されたURLで、呼び出されたスクリプトのURLじゃないね
0664nobodyさん2006/11/16(木) 14:53:57ID:???
降順だった
`ls -t`
どうでもいいけど
06656622006/11/16(木) 15:06:02ID:???
>663
あ、ブラウザのURLに表示されてるのと同じものを取得したいのです。
こんな感じでいいのかな。
$url = (isset($_SERVER['HTTPS']) ? "https" : "http") . "://{$_SERVER['HTTP_HOST']}{$_SERVER["REQUEST_URI"]}";
他に良い方法ないですか?

一度別ページに飛ばして
$_SERVER["HTTP_REFERER"]
だと値なんてあてにならないし。
0666nobodyさん2006/11/16(木) 15:30:42ID:???
>>665
多分それしか無いと思う。
他に手があるなら俺も知りたい。
06676602006/11/16(木) 15:57:58ID:???
誤爆スレで返答するのもなんですが、解決しました。
COPYコマンド自体止めて、テキストファイル直読みしてINSERT文にしたら
あっさりコマンド通りました。

何故にCOPYコマンドでは駄目なんだ?よく分からん・・・。
0668nobodyさん2006/11/16(木) 16:01:51ID:???
馬鹿はサイレンで泣くしエラーメッセージは見なかったことにする
0669nobodyさん2006/11/16(木) 16:15:48ID:???
日付とFilterで5.2とはマイナーバージョンの水増しではないか。
0670nobodyさん2006/11/16(木) 16:22:44ID:???
>>669
日付関数はバージョンで処理分けないと互換性保てないとか何とか。
というか水増しって何?
0671nobodyさん2006/11/16(木) 16:37:58ID:???
フィルタはまだexperimentalだったと思うが・・・
0672nobodyさん2006/11/16(木) 16:50:26ID:OjN5tFoy
FC6でファイルのアップロードが設定上10ギガはアップロードできるはずなのにできないんですがなぜでしょうか

ポストファイルサイズ
アップロードファイルサイズとか実行時間も十分にしたのですが・・・・
スワップ領域以上はできないんですか?
1ギガなんですがそれより上ができません
perlならできるんですがアップロード速度がだいぶ違うので
0673nobodyさん2006/11/16(木) 17:17:13ID:???
>>672
/tmpのサイズとかは?
0674nobodyさん2006/11/16(木) 17:23:21ID:???
PHPのアップロードってメモリに読み込まないんだっけ?
0675nobodyさん2006/11/16(木) 17:43:22ID:???
ログにSwap不足って出たのかね。考えにくいが
0676nobodyさん2006/11/16(木) 22:18:24ID:???
できなかったら、エラーが出るだろ?
それになんて出たんよ。
0677nobodyさん2006/11/17(金) 00:49:47ID:RSjPLNDu
多次元配列をキーでソートする方法について質問させてください。

$hairetu['A'][1] $hairetu['A'][5] $hairetu['A'][7] $hairetu['A'][9]
$hairetu['B'][3] $hairetu['B'][4] $hairetu['A'][6] $hairetu['A'][12]

このような多次元配列(キーは一つ目が文字列で、二つ目が数字)が仮にあったとして、
数字が入ったキー「だけ」に注目してソートして、若いキーから順にn個を取得したいです。
この例で言うと、数値キーで昇順ソートして3つだけ取り出す場合、
$hairetu['A'][1]、$hairetu['B'][3]、$hairetu['B'][4]・・・の要素を取得したいです。

このようなことをやるにはどういう手法を使ったら良いのでしょうか?
0678nobodyさん2006/11/17(金) 01:05:48ID:???
>>677
$hairetu['A'][1] = 'A1';
$hairetu['A'][5] = 'A5';
$hairetu['A'][7] = 'A7';
$hairetu['A'][9] = 'A9';
$hairetu['B'][3] = 'B3';
$hairetu['B'][4] = 'B4';
$hairetu['A'][6] = 'A6';
$hairetu['A'][12]= 'A12';

$list = array();
foreach($hairetu as $dat) {
foreach($dat as $k => $v) {
$list[$k] = $v;
}
}
ksort($list);
$list = array_slice($list, 0, 3);

var_dump($list);
とか
0679nobodyさん2006/11/17(金) 01:16:03ID:???
>>677
アルゴリズムに適したデータ構造を持たせることもまた重要な設計だと思う。
0680nobodyさん2006/11/17(金) 01:52:49ID:???
Vine3.2 PHP5 で
http://www.php.net/manual/ja/features.file-upload.php
の 例38-1,例38-2を試したところ、極めて小さいファイルはアップ出来るのですが、
1196byte以上のファイルだとタイムアウトを起こすのか、まともに動きません。
(FireFoxだと「接続がリセットされました」が出ます。)
メモリは free -mt で見た範囲で200MB以上空いています。

最終的には120MB程度のファイルがアップ出来るような仕組みを作りたいのですが
1MB程度で躓いてしまっています。(´・ω・`)ショボーン

「陥りやすい落とし穴」に書いてある
memory_limitには150M post_max_sizeには128M upload_max_filesizeには120Mを
設定し、phpinfo()でちゃんと適用されているか確認しました。

他に何か確認すべき所はあるでしょうか?
0681nobodyさん2006/11/17(金) 02:00:14ID:???
> タイムアウトを起こすのか

30秒で停止する設定になってるとか?
0682nobodyさん2006/11/17(金) 02:11:12ID:???
>>680
エラーコードは何になってるの?
06836802006/11/17(金) 02:29:47ID:gKQvCF/I

>681
30秒というと、どこの設定の事でしょうか?

>682
ブラウザ上では
FireFoxだと>680に書いたとおりブラウザが出すエラー画面で「接続がリセットされました」
IE6だと「ページを表示できません。」「サーバーが見つからないか、DNS エラーです。」
が出ます。

Apacheのエラーログには関係ありそうなエラーは見当たりません。
0684nobodyさん2006/11/17(金) 02:31:35ID:???
>>683
いや、アップロード処理のとこでPHPでエラーがチェックできるでしょう。
['error']に入ってる値。
0685nobodyさん2006/11/17(金) 02:35:28ID:???
>>683
ttp://www.php.net/manual/ja/ref.info.php#ini.max-execution-time
06866802006/11/17(金) 02:41:12ID:???
>684
動きを見ていると、
OKの時
例38-1からPOST → Apache PHP → 例38-2で処理&結果表示
NGの時
例38-1からPOST → Apache? PHP? → 行方不明・無反応 → ブラウザがエラー表示
になっているようです。

ソースの中でなおした部分は、
例38-1の__URL__を例38-2を保存したphpのファイル名に変更
例38-1を<html><head></head><body>〜</body></html>の〜部分に記述
例38-2の$uploaddir =を実態にあったパスに変更
です。
0687nobodyさん2006/11/17(金) 02:41:34ID:???
PHPのエラーをApacheに吐いてるの?
デバグには向かないよ
0688nobodyさん2006/11/17(金) 02:48:07ID:???
>>678
foreach($hairetu as $dat) {
・・・
}

この外側のforeachって意味あるか? 不要じゃネ??
06896802006/11/17(金) 02:51:44ID:???
>685
max_execution_timeを120に、 max_input_timeを120にしてもダメでした。

>687
実はPerlベースでデータをアップする仕組みを実装してあるんですが、
段々データ容量が増えて来たせいでエラーに遭遇する事が多くなったんです。
そこで、色々調べたところ、
http://xxx.upken.jp/report/foradmin/

>Perl CGIは受信サイズの3倍強の空きメモリを使用します。
- 略 -
>なお、PHPの場合は、ファイルの1.1倍程度ですのでPerlよりも効率が良いのですが、仕様上2GB以上のファイルを受信できません。

という記述を見つけ、急遽PHPを学びがてら実装しているところなので、
デバグ向きの環境がどういうものなのかとか、PHPがどんなものなのかとか
まだよくわかっていない状態なのです。

0690nobodyさん2006/11/17(金) 03:07:20ID:???
>>686
処理の頭に
echo "error=".$_FILES['userfile']['error']."\n";
flush();
ob_flush();
って入れて画面上にerror=○って出てくるか確認。
途中で強制終了されてると>>683みたいなエラーになる。
0691nobodyさん2006/11/17(金) 03:08:00ID:???
>>688
じゃあお前の実装を見せてみろよ。
06926802006/11/17(金) 03:17:48ID:???
>>690
やってみましたが、同じ現象です。
ソースを載せます。
-------
<?php
echo "error=".$_FILES['userfile']['error']."\n";
flush();
ob_flush();
$uploaddir = '/home/foo/data/upload/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n";
} else {
echo "Possible file upload attack!\n";
}

echo 'Here is some more debugging info:';
print_r($_FILES);

print "</pre>";

?>
-------
Apacheの設定が悪いのでしょうか・・・orz
0693nobodyさん2006/11/17(金) 03:21:23ID:???
>>692
プログラム先頭でflushしても何も出力できないんなら
リクエスト時点でApacheがタイムアウト起こしてる可能性は高いな。
httpd.confまたは.htaccessのTimeout設定をいじってみては?
0694nobodyさん2006/11/17(金) 03:25:24ID:???
けどローカルで100MB程度そんな時間かかんないよね
Apacehからなら408が返るだろうし
■ このスレッドは過去ログ倉庫に格納されています