トップページ⇒php
986コメント361KB

【PHP】質問スレッドpart27【php】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん05/03/03 22:41:23ID:???
・PHP全般の質問スレです。
・新規質問の方は上げてください。age進行でお願いします。
・質問する際には環境も明記。
・正しい日本語で分かりやすく。
・レスがつかないからって逆切れする厨お断り。
・解決しなくてもこたえてもらったら礼を。
■本家
 http://www.php.net/
■日本 PHP ユーザ会
 http://www.php.gr.jp/
■PHP マニュアル
 http://www.php.net/manual/ja/
■PEAR マニュアル
 http://pear.php.net/manual/ja/
過去スレ, 関連スレ等>>2-10辺り
0331nobodyさん2005/03/25(金) 18:48:52ID:???
>>329
もう一度、きちんとした質問として書き直す気は無いんだな?
03322942005/03/25(金) 18:57:30ID:???
4に該当してましたでしょうか。
>>331
いえ、そうしていいならそうさせてください。上手くかけるかどうかわかりませんが。
今夜もう一度書きます。お目汚しすみません。
0333nobodyさん2005/03/25(金) 21:07:00ID:???
>>328
アタタタタター!
お前はもう氏んでいる。
03342942005/03/25(金) 21:57:21ID:???
>>330
あの、すみません。本当に4のどこに該当したでしょうか。
再度書こうとしているのですが、うまくまとまりません。
あと、他の方からのご指摘ですが文系っぽい文章もよくわかりません。
自覚がないのは手に負えないとは思うのですが…。
なんだか簡潔に書こうとすると省略が増えて、「最初から言えよ」と
言われそうです。コードを中心に助詞とかはぶいて書くと(理系っぽい?)
傲慢な感じです。(「コード見てわかれよ」というような)
結局typo部分を修正する程度になってしまうかもしれません。
といいつつもうすぐイラン戦なので、明日になるかもです。
typoについてご指摘いただいた方には、感謝してます。少なくとも
わかりづらい文章を読んでいただいたので。
>>333
もっと意表を衝かれました。
0335nobodyさん2005/03/25(金) 22:00:57ID:???
>>294
どっかにうpした方がよくなくって?
フレームワークスレ(Phrameと銘打ってあるが多分mojaviでも良かったかと)もあるけど、
あの書き方だとレス付かない希ガス
0336nobodyさん2005/03/25(金) 22:19:34ID:???
お嬢様口調キター
0337nobodyさん2005/03/25(金) 22:30:53ID:???
>>334
> コードを中心に助詞とかはぶいて書くと(理系っぽい?)
> 傲慢な感じです。(「コード見てわかれよ」というような)

「コード見ずにわかれよ」よりはマシ。
ソースをまるまるうpして、「動きません」だけ言われた方が解決出来る。
0338nobodyさん2005/03/25(金) 22:37:42ID:???
なぁみんな。
元理系で文系卒業したオレに一言言わせてくれ!

理系とか文系とかいう問題では無い!
人の問題なのですよ。
0339nobodyさん2005/03/25(金) 22:57:02ID:???
>>294はネタにレスしなくていいので。うざいから
0340山田2005/03/26(土) 01:05:40ID:FsI5PzWC
メールを送信するプログラムが動きません。
プログラム自体は他のPCで動いたので大丈夫だと思います。
動かないPCはサーバ機として使っているものでwindows server 2003を使っています。
PHPを動かすと
Warning: mb_send_mail(): Failed to connect to mailserver at "192.168.1.100" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in・・・
というようなエラーが出ます。
同じようにphp.iniでSMTPをプロバイダのSMTPにしてもエラーメッセージが
192.168.1.100の部分がプロバイダのSMTPサーバ名に変わるだけでした。
何か問題があるとしたらどこがいけないのでしょうか?
0341nobodyさん2005/03/26(土) 01:31:23ID:???
Windows版phpは、メール送信にSMTP接続を使います。
逆に言うと、SMTP接続を受け付ける鯖がなければメールを送信できません。
192.168.1.100にメール鯖が無ければ当然そのようなエラーが起きます。
プロバイダのメール鯖を使うとしても、最近はPOP before SMTP等色々な制約があります。
そのWeb鯖が本番環境なら管理者に相談してみましょう。
0342nobodyさん2005/03/26(土) 01:32:57ID:???
> php4.2.3,mojavi2を使ってデータ加工をするプログラムを作っているのです
> が、オブジェクトの受け渡しが上手くいきません。
> 画面推移は A->B->C->D
> オブジェクトをAからDまで持ち回したいのですが、B->Cへデータが渡りません。
> 状況は以下のとおりです。
> A
> $request->setAttribute['datalist', $datalist];
> B
> print_r($request->getAttribute['datalist']);
> 出力されます。
> Bでは受け渡しは何もしていません。
> C
> $datalist = $request->getAttribute['datalist'];
> print_r($datalist)
> 出力されません。
> $requestの利用をやめて単純にセッションで持ち回してみると
> A
> $_SESSION['datalist'] = $datalist;
> B
> print_r($_SESSION['datalist'])
> 出力されます。
> C
> print_r($_SESSION['datalist']);
> __PHP_Incomplete_Class Object( [__PHP_Incomplete_Class_Name]
> が出力されます。
> 何か、怪しいところ、解決のヒントをいただけないでしょうか。
> よろしくお願いいたします。

Bでも受け渡ししろ。ってことか?
0343nobodyさん2005/03/26(土) 01:39:14ID:???
>>340
そのWinServerの設定で、25番ポートからの通信が遮断されてる。
0344山田2005/03/26(土) 01:42:05ID:FsI5PzWC
>>341
他のPC(windowsXP home)では同じプロバイダのSMTPサーバを指定したところ動きました。
そのためどこか設定がおかしいのかなと思ったんですが・・・
他には考えられる問題というのはないでしょうか?
0345山田2005/03/26(土) 01:57:41ID:VYgvgifg
>>343
どこかの設定のせいで25番ポートが遮断されているんですか?!
可能性としてどこがありえますか?
0346nobodyさん2005/03/26(土) 02:00:01ID:???
>>342
翻訳thx.

>>294
それみると、$datalistの型が気になってくるわけだが。
classだとしたら、ABでは定義されていて、Cでは定義されていない。とか。
クラスの定義はセッション開始前になければならない。requireなりincludeなりするのも前。
mojaviは使ったことないから知らん。

というか、「__PHP_Incomplete_Class Object」でぐぐれば答えがあるんだがな。

んで、何が見にくいかって、コードが本文中にメリ込んでるあたり。
どこがコードでどこが本文かわからん。
一旦左脳つかってから右脳に渡すとか面倒だ。
03473462005/03/26(土) 02:01:11ID:???
>346
>classだとしたら
クラスだろうな。 寝ぼけたこといってすまん。
0348nobodyさん2005/03/26(土) 06:11:57ID:???
>>346
> 翻訳thx.

シヤ−プの翻訳機だ。
脳内厨−>エスパー変換機能バンドル版
めいどいんシナ(海賊版)
入手困難。
0349nobodyさん2005/03/26(土) 07:50:30ID:t6rEtfl2
php4のoopはオーバーロード出来ないですか?
試したんですが出来ないみたいで。。
php5は出来ますか?
0350山田2005/03/26(土) 08:02:13ID:VYgvgifg
>>343
25番ポートは開放されています。
しかし設定によって遮断されているというのはありえるのでしょうか?
0351nobodyさん2005/03/26(土) 08:26:24ID:???
>>350
エラーメッセージでググッてみた?いろいろ出たよ。例えばこれ。
マルチバイト関数を使う場合以下の設定をします。
まずPHP.iniを開き編集します。
include_pathを探し自分の環境に合わせます
include_path = ".;c:/php/includes"
※例はPHPをc:\phpにインストールした場合
;extension_dirを探し;を外しコメントアウトを解除します。
さらにパスを自分の環境に合わせます
extension_dir ="c:/php/extensions"
※例はPHPをc:\phpにインストールした場合
マルチバイト関数モジュールを組み込みます。
;extension=php_mbstring.dllをさがし
;を外しコメントアウトを解除します。
PHP.iniを保存しApacheを再起動します。
※モジュール組み込みの場合
有効になったか確認する
phpinfo();
と記述したphpを開きmbstringの設定が表示されることを確認してください。
なければ設定が間違っています。
PHP.iniでデフォルト言語とデフォルト文字コードを設定しておくことができます。
;; デフォルトの言語を日本語にする
;mbstring.language = Japanese
;; 内部エンコーディングをEUC-JPに設定
;mbstring.internal_encoding = EUC-JP
それぞれ;mbstringから;を外してコメントアウトを解除し保存します。
mbstring.internal_encodingはPHPの文字コードを指定しています。
Shift-JISで記述されたPHPでマルチバイト関数を使うなど
設定した文字コード以外の文字コードや設定した言語以外の言語を利用する場合
PHP内で以下の関数を使い指定しておきます。
mb_language("Japanese");//言語指定
mb_internal_encoding("SJIS");//文字コード指定
0352nobodyさん2005/03/26(土) 08:35:51ID:???
>349
試したコードを晒してみ。話はそれからだ。
0353山田2005/03/26(土) 09:07:31ID:VYgvgifg
>>351
ぐぐってみてその設定はすでに完了しています。
php.iniファイルは他のPC(メール送信PHPが動いたPC)で使っていたものを
持ってきて環境設定したので大丈夫だと思うんですが・・・
03542942005/03/26(土) 10:08:37ID:???
>>342
ありがとうございます。すごくわかりやすいです。
Bでの受け渡しも試してみましたがCには渡りませんでした。mojaviを使われている方が
居ないようなので、フレームワークスレへ行きます。
342さんの文章使わせていただきます。
>>346
オブジェクトの受け渡しに宣言が必要でしょうか。
session_start()等はmojaviが行ってる部分で何とも言えませんが
データの引き渡しを確認するためのものです。
アドバイスありがとうございました。


>>349
PHP4はオーバーライドはできますが、オーバーロードはできません。
PHP5は使ってないのでしりませんが、ぐぐれば情報出そうに思います。
>>353
動作したPCと動作しないPCと同じネットワーク環境でしょうか。
(内と外それぞれのIPアドレスとかHOST名とか…)
環境が変われば、SMTPサーバの設定が変わる可能性がありますよ。
(同じ設定ファイルでは動作しなくなるということです。)

では、もう50以上前の番号294はこれにて潜行します。
別スレでもひとつ穏便によろしくお願いしますね。
ありがとうございました。
0355nobodyさん2005/03/26(土) 10:18:14ID:???
>>354
サンクスです。
PHP4のoopはあんまり使えないですねorz
0356PATH_INFO2005/03/26(土) 10:44:38ID:RieTtHlG
自サイトのトップを index.php にしています。
http://www.example.com/index.php
ディレクトリインデックスのファイルを index.php に指定しているので
http://www.example.com/ でもアクセスできます。

このスクリプトで PATH_INFO を使って様々なページを提供しています。
http://www.example.com/index.php/Page1
http://www.example.com/index.php/Page2 などなど

が、index.php が必ず見えるのは不細工なので
http://www.example.com/Page1
http://www.example.com/Page2
のようなURLでアクセスできるようにしたいと思っています。

Apache 2 を使っているのですが、どのように設定すればいいのでしょうか?
0357nobodyさん2005/03/26(土) 11:01:27ID:???
(´-`).。oO(それはApacheの話な気がするけど・・・)
0358nobodyさん2005/03/26(土) 11:08:00ID:qY7QRnsD
質問です。

http://tools.live365.com/cgi-bin/api_station_status.cgi?member_name=bcname&password=bcpassword&action=listeners

上記記CGIにアクセスすると下記ようにテキストでのXML形式のデータが出力されます。

<?xml version="1.0" encoding="ISO-8859-1" ?>
- <LIVE365_API_STATION_STATUS_CGI>
<Code>0</Code>
<Reason>Success</Reason>
<Stream_status>OK</Stream_status>
<Current_listeners_reg>35</Current_listeners_reg>
<Current_listeners_pm>2</Current_listeners_pm>
<Current_listeners>37</Current_listeners>
<Rating>8.73</Rating>
</LIVE365_API_STATION_STATUS_CGI>

そしてこれをPHPから読み取り、<Current_listeners>37</Current_listeners> の値だけPHPに出力したいのですがどのようにすればいいのでしょうか?
0359nobodyさん2005/03/26(土) 11:15:24ID:???
>>358
・対象URLからXMLデータを取得
・XMLをパース
・<Current_listeners>のValueを出力

_以上_
03603592005/03/26(土) 11:18:38ID:???
ちなみに実際のやり方については、PHPマニュアルから
・「file」で
・「xml」で
・「echo」で
幸れ。

_以上_
0361nobodyさん2005/03/26(土) 11:20:04ID:qY7QRnsD

>>538-539

thanks a lot!!
0362nobodyさん2005/03/26(土) 12:35:36ID:???
>>356
PHPの話ではないようなんですが、この方法は私も気になります。
どなたか知ってる方いれば・・・と思うんですが。


いないようならこちらに誘導しときます・・・。
人頼りマンセー

【俺たちゃ裸が】Apache質問スレ【ユニホーム♪】
http://pc8.2ch.net/test/read.cgi/mysv/1103367974/
0363nobodyさん2005/03/26(土) 12:43:53ID:???
document rootでやったことないのとpath_infoではないけど、
たぶんmod_rewriteなら出来るとおもうよ。
03643582005/03/26(土) 12:53:31ID:qY7QRnsD
>>359
エラーが出てしまいます。
ファイルの指定がおかしいみたいなのですが
function characters ($parser, $text) {
global $tmp;
$tmp = $text;
}
function startElement ($parser, $name, $attrib) {
}
function endElement ($parser, $name) {
global $tmp, $Current_listeners;
switch ($name) {
case "Current_listeners":
$Current_listeners= $tmp;
break;
default:
break;
}
}

$xml_parser = xml_parser_create ();
xml_parser_set_option ($xml_parser, XML_OPTION_CASE_FOLDING, false);
xml_set_element_handler ($xml_parser, "startElement", "endElement");
xml_set_character_data_handler ($xml_parser, "characters");
$fp = file (http://tools.live365.com/cgi-bin/api_station_status.cgi?member_name=*****&password=*****&action=listeners, 'r');
while ($filedat=fread($fp, 4096)) {
if (!xml_parse($xml_parser, $filedat, feof($fp))) {
}
}
fclose ($fp);
xml_parser_free ($xml_parser);
echo "$Current_listeners";
03653582005/03/26(土) 13:07:15ID:qY7QRnsD

CGIのアドレスに無理やり拡張子 &.xml と入れても問題なかったので

下記のようにFILEだけならちゃんと動きました

バースがおかしいようです

<?php

$lines = file ('http://tools.live365.com/cgi-bin/api_station_status.cgi?member_name=****&password=****&action=listeners&.xml');

// 配列をループしてHTMLをHTMLソースとして表示し、行番号もつけます。
foreach ($lines as $line_num => $line) {
echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br>\n";
}

// 他の例として、Webページを文字列に取り込みます。file_get_contents()も参照してください。
$html = implode ('', file ('http://tools.live365.com/cgi-bin/api_station_status.cgi?member_name=eurobeat&password=07075710&action=listeners&.xml'));
?>
03663582005/03/26(土) 13:44:52ID:qY7QRnsD
'で囲むのをやっていなかったみたいです。
以下で出来ました
<?php
function characters ($parser, $text) {
global $tmp;
$tmp = $text;
}
function startElement ($parser, $name, $attrib) {
}
function endElement ($parser, $name) {
global $tmp, $Current_listeners;
switch ($name) {
case "Current_listeners":
$Current_listeners= $tmp;
break;
default:
break;
}
}
$xml_parser = xml_parser_create ();
xml_parser_set_option ($xml_parser, XML_OPTION_CASE_FOLDING, false);
xml_set_element_handler ($xml_parser, "startElement", "endElement");
xml_set_character_data_handler ($xml_parser, "characters");
$fp = fopen ('http://tools.live365.com/cgi-bin/api_station_status.cgi?member_name=****&password=****&action=listeners&.xml', 'r');
while ($filedat=fread($fp, 4096)) {
if (!xml_parse($xml_parser, $filedat, feof($fp))) {
}
}
fclose ($fp);
xml_parser_free ($xml_parser);
echo "$Current_listeners";
?>
0367nobodyさん2005/03/26(土) 14:31:21ID:???
>>364-366
ここはチラシの裏じゃねぇよ。
0368nobodyさん2005/03/26(土) 16:53:02ID:???
>>350
>25番ポートは開放されています。
実際に開放されてることはどうやって確認したの?

>しかし設定によって遮断されているというのはありえるのでしょうか?
自分はWindowsは良く知らないので、思わぬところに設定があったりして
はまることは良くある。あと今回はNATかなんかで外のISPのSMTPに繋ぐから
関係ないんだろうけど、外のSMTPサーバ側で接続規制してることも稀にあるからね。
0369nobodyさん2005/03/26(土) 17:22:24ID:???
このperlの命令をPHPで同じことをするにはどうしたらいいのでしょうか?
unpack 'B133',substr($data,8,17);
0370nobodyさん2005/03/27(日) 01:12:17ID:KQq1VVe4
Apache+PHPはどんな実行環境なんでしょうか?
一回のGetに対してphp.iniで設定されているmemory_limit分のメモリが
割り当てられて複数のGetに複数の処理系が動くのでしょうか?
0371nobodyさん2005/03/27(日) 01:15:25ID:???
>>370
Apacheのモジュールの場合は、Apacheのプロセスで動作する。
0372nobodyさん2005/03/27(日) 08:15:29ID:x1LbwUGs
execがうまく動かないんだけど、なんでだろう
セーフモードとか全オフなのになー
0373nobodyさん2005/03/27(日) 17:14:47ID:???
>>372
独り言は日記帳に
0374nobodyさん2005/03/28(月) 08:16:30ID:???
PHP のスクリプトを CUI で起動してるんですが、
php in malloc(): error: allocation failed
って出て、Core を吐きます。内容としては、データベースにアクセスして、
データをメモリにじゃんじゃんぶち込んでるんですけど…
PHP だとどのくらいまで耐えられるんでしょうねぇ?
Machine は FreeBSD 5.2.1-R で確かに物理メモリで 512MB しかつんでないけど、
top で見てみても PHP がぶっちぎってる感じはしないし、swap は 4GB ちかくあります。
ちなみに core の容量はだいたい…500MB くらい。
03753742005/03/28(月) 08:19:01ID:???
書き忘れました。
PHP 4.3.10 (cli)
です。 >> 374 の s/CUI/cli/g ですね。。
0376nobodyさん2005/03/28(月) 09:23:27ID:???
PHPの設定のmemory_limitを-1に
メモリ食いつぶしても俺のせいにしないでね
0377nobodyさん2005/03/28(月) 10:02:33ID:YyD4GvIT
たとえば2chのスレをスレタイのキーワードで絞って表示するようなスクリプトがあったとして、
$keyword = 'きーわーど';となってて、キーワード指定しないで全て表示したいときは
$keyword = '*';でOKでしょうか?
0378nobodyさん2005/03/28(月) 10:12:58ID:???
>>377
いまいちわからん。
0379nobodyさん2005/03/28(月) 10:48:41ID:8BD5QTo3
if文でチェキラしといて、スルーしとけばいくね?
どんな感じか解んねーけど、取りあえずチェキッとけとって。
0380nobodyさん2005/03/28(月) 11:45:09ID:Z3hOsg+9
ログを保存するとき日付の項目を、
「05/03/28(月)」という形式にしているのですが、
保存するときはタイムスタンプで保存して、
出力時に日付に変換するほうがいいのですか?
0381nobodyさん2005/03/28(月) 11:54:19ID:???
そうすると処理は増える。
どっちが良いのかは、必要があるか無いかで判断すれ。
0382nobodyさん2005/03/28(月) 13:08:42ID:1BLl4/4M
アニメーションGIFってイメージ関数では作れませんよね?
だとすると、バイナリデータを操作して作るしかないのでしょうか?
0383nobodyさん2005/03/28(月) 13:27:12ID:???
>>377
2chのスレをスレタイのキーワードで絞って表示するようなスクリプト次第
0384nobodyさん2005/03/28(月) 15:22:19ID:???
>>382
PHPを使ってということならその通り
自分でライブラリを作って公開したらどう
03853822005/03/28(月) 16:02:00ID:???
そうですか。では自分で作ってみることにします。
ありがとうございました。
0386nobodyさん2005/03/28(月) 17:48:52ID:0by1676F
【種別】 掲示板
【言語】 問いません
【備考】
ttp://pc5.2ch.net/test/read.cgi/hp/1106947416/
上のような感じのものがいいのですが
0387nobodyさん2005/03/28(月) 17:49:40ID:???
>>386
誤爆しました
0388nobodyさん2005/03/28(月) 18:11:52ID:???
(・∀・)ニヤニヤ
0389nobodyさん2005/03/28(月) 20:16:03ID:YyD4GvIT
>>378 >>383
実は人様(今連絡とれませんorz)に作って頂いたスクリプトなので、
その部分を公開したいのですがちょっと気が引けます。。

でもそれじゃあ相談できませんよねorz
うーん。。。
0390nobodyさん2005/03/28(月) 23:32:54ID:IX4olP0V
質問です。
SSHでルート権限でログインして du $dir とした場合と
phpで shell_exec( 'du $dir') を実行した場合(ブラウザからアクセス)では
なぜかSSHからのサイズのほぼ2倍になってしまいます。

ディレクトリのリストは同じように表示されるのですがそれぞれのサイズがほぼ2倍になっています。(サイズが1の場合は1のままでトータルでほぼ2倍)

念のため:容量計算対象のディレクトリ内ファイル・サブディレクトリ等は全てphpで作成されてます

これは何が原因なのでしょうか?

【環境】
レンタル鯖のVPS
FreeBSD 4.7
PHP4.3.9(apacheのモジュールとして動作)
Apache/1.3.33
0391nobodyさん2005/03/29(火) 03:08:23ID:sh3sT6Yb
質問お願いします。
classのメンバ変数に他のクラスのインスタンスを置いたとき、
そのメンバ変数のメソッドを実行する時は
$this->hoge->proc();
では駄目なんでしょうか?
Call to a member function on a non-objectとエラーが出てしまいます。
何かヒントでもあればお願いします。
0392nobodyさん2005/03/29(火) 03:23:49ID:???
>>391
ヒントも何も普通に使えるよ。

03933912005/03/29(火) 04:01:37ID:???
>>392
え?まぢっすか。
見直してみます。
どうもありがとうございます。
0394nobodyさん2005/03/29(火) 10:58:39ID:ChFumad5
ローカルフォルダにある.htmlと.phpファイルを
ブラウザでFTPの様にディレクトリ表示させリンクでファイルを開きたいのですが

良いスクリプトがあれば教えてください。
0395nobodyさん2005/03/29(火) 11:08:40ID:???
あきらかにすれ違い  死ね
03963942005/03/29(火) 13:04:39ID:???
自己解決しました。
0397nobodyさん2005/03/30(水) 19:06:28ID:???
2次元配列$hogeを関数に送って関数内で例えば$hoge[0][0]なら(0,0,$hoge[0][0])と
2次元配列全部の要素をループで取得したいのですけど、どのようにすればいいのでしょうか?
宜しくお願いします。
0398nobodyさん2005/03/30(水) 19:12:55ID:???
2度ループ処理すれば良いと思うよ。
0399nobodyさん2005/03/30(水) 19:45:47ID:???
>>398
サンクスです。
2次元配列の添字ってどうやって取得するのですか?
0400nobodyさん2005/03/30(水) 20:24:10ID:???
>>399
マニュアル読め。
$hoge[0][0]とかで出来るけど。
0401nobodyさん2005/03/30(水) 20:26:55ID:???
foreach($hoge as $out_key => $out_value){
foreach ($out_value as $in_key => $in_value) {
//ここで好きに処理汁。
}
}

array関連の関数を見るのも吉
0402nobodyさん2005/03/30(水) 20:27:14ID:???
>>399
foreach($array1 as $key1=>$value1){
 // 1. foreach ver.
 foreach($value1 as $key2=>$value2){ /* 処理内容 */ }
 // 2. for ver.
 for($i=0; $i<count($value1); $i++){ /* 処理内容 */ } // forの2重ループでも当然可
}
実際のコードを書く時には、配列要素のチェック等が必要。
0403nobodyさん2005/03/30(水) 20:45:00ID:???
PHPでMySQLの操作に関するのはこのスレで良い?
0404nobodyさん2005/03/30(水) 20:54:57ID:???
>>403
とりあえず、書いてみ。
話はそれからだ。
0405nobodyさん2005/03/30(水) 21:12:44ID:???
linuxでアップロードしたファイルがupload_tmp_dirに作成されないのですが
原因として何が考えられるでしょうか?
sleep()で止めてファイルを確認しても作られません。
file_uploadsOn
0406nobodyさん2005/03/30(水) 21:16:14ID:???
んじゃとりあえず聞いてみる。
table1に(テーブル名vendor_info)
vendor_name vendor_url
Abit http://abit.....
ASUS http://asus....

table2に(テーブル名mb_info)
mb_name mb_url vendor_kind その他諸々
AV8 http:// Abit
A8V http:// ASUS

から、リストを
Abit(リンクvendor_url) AV8(リンクmb_url) その他諸々データ
という風にmb_infoのベンダー名からvendor_infoのvendor_urlのデータを
持ってきたいんだけど、試行錯誤した結果思ったとおりに出力できたソースが
(続く)
04074062005/03/30(水) 21:19:08ID:???
$SQL = "SELECT * FROM mb_info GROUP BY mb_name ORDER BY vendor_kind";
$res = $conn->query($SQL);
if (! DB::isError($res)) {
// レコードの取得
while ($row = $res->fetchRow(DB_FETCHMODE_ASSOC)) {
vendorurl ();
echo "<a href=\"" . $row['mb_url'] . "\">" .$row['mb_name'] . "</a> |\n";
echo "<br>\n";
}
}
echo $res->numRows();

// データベースの切断
$conn->disconnect();


function vendorurl(){
global $conn;
global $row;
$sqlurl = "SELECT vendor_url FROM vendor_info WHERE vendor_name='" . $row['vendor_kind'] . " '";
$resurl = $conn->query($sqlurl);
if (! DB::isError($resurl)) {
while ($rowurl = $resurl->fetchRow(DB_FETCHMODE_ASSOC)) {
echo "<a href=\"" . $rowurl['vendor_url'] . "\">" . $row['vendor_kind'] . "</a> |\n";
}
}
}//function vendorurl
こうなった。んで思ったとおりに表示されてるんだけど、リレーショナルデータベース
の使い方としてこれで良いのか、もっとスマートなやり方があるのかお聞きしたい。
04084052005/03/30(水) 21:36:19ID:???
自己解決・・切腹物だった・・・
0409nobodyさん2005/03/30(水) 22:23:17ID:???
>>406
SELECT * FROM mb_info,vendor_info
WHERE mb_info.vendor_kind = vendor_info.vendor_name
GROUP BY mb_info.mb_name
ORDER BY mb_info.vendor_kind;
0410nobodyさん2005/03/30(水) 22:50:33ID:???
>>408
切腹する前に何で悩んでたか教えてくれ
それで笑わせてくれ
0411nobodyさん2005/03/30(水) 23:14:01ID:???
>>409
なるほど、そうやって使うものなのね。
自分で>>407を書いててこれってリレーショナルな使い方じゃないよな・・・
って素人ながらに感じていたんだよ。
完全にSQLスレで聞いたほうが良い内容だったけど、お蔭様で先が見えてきました。
ありがとう。
0412nobodyさん皇紀2665/04/01(金) 00:38:54ID:6CcmQp6c
CGI版のphpで、エラーがでる場合、internal server errorになりますよね。
このエラー内容を、ブラウザに表示できないでしょうか?

Perlだと、
use CGI::Carp qw(carpout fatalsToBrowser);
とか、
Kcatch.pm
っていうものがあるのですが・・・

なんかライブラリなりコードでもいいので、
ご存じの方、教えていただければ幸いです。
0413nobodyさん皇紀2665/04/01(金) 01:25:04ID:???
ブラウザを綴じて一定期間中セッションを残したいんだが
どうすればいい?
0414nobodyさん皇紀2665/04/01(金) 01:33:55ID:???
>>413
マニュアル読めばいい。
0415nobodyさん皇紀2665/04/01(金) 01:55:33ID:???
有難うございます。
何ページですか。
0416nobodyさん皇紀2665/04/01(金) 01:59:08ID:6CcmQp6c
>>415 おいおいそれはたよりすぎ。
www.php.net いって、sessionで検索。
あとはまかせた。

session はある程度の知識がないうちに公開しちゃうと、
いろいろとセキュリティーホールになるので注意
0417nobodyさん皇紀2665/04/01(金) 02:02:03ID:???
SingleHTML版のマニュアルを落としてきて、1ページ目を読む。
0418nobodyさん皇紀2665/04/01(金) 02:02:12ID:???
おいおい
エイプリルフールですyo!
0419nobodyさん皇紀2665/04/01(金) 02:08:52ID:???
なるほど
0420nobodyさん皇紀2665/04/01(金) 08:16:41ID:???
おまいら、PHP 4.3.11と5.0.4がリリースされましたよ。
昨夜PHP4も5もコンパイルしたばっかりだというのに...orz
0421nobodyさん皇紀2665/04/01(金) 08:38:19ID:???
>>420
うそと思いながらも確認してしまった俺
0422nobodyさん皇紀2665/04/01(金) 11:08:27ID:???
だぁ〜っ、ネタかよっ!釣られた!
>>412
error_reporting
0423nobodyさん皇紀2665/04/01(金) 11:16:34ID:???
php4は昨年と変わらず(ナディア)、php5はウサギ(?)だった
0424nobodyさん皇紀2665/04/01(金) 12:21:42ID:???
たぶん>>420はここのネタにつられたんではないかと。
ttp://www.sitepoint.com/blog-post-view.php?id=248887
0425421皇紀2665/04/01(金) 12:41:40ID:???
今見たら本当にリリースされてるし
リリースの日付は3/31だからエイプリルフールじゃないよな
0426nobodyさん皇紀2665/04/01(金) 19:11:43ID:???
PHPのログが犬になってるのはイースターエッグだな
0427nobodyさん皇紀2665/04/01(金) 19:12:12ID:???
ログじゃねー ロゴだ
phpinfo() や公式に確認可
0428nobodyさん皇紀2665/04/02(土) 01:44:36ID:???
ショッピングカートのセッションについて教えてください。
2つのブラウザで同時にアクセスすると同一セッションになりますが、
1つ目のブラウザが決済のページに入ったら2つ目のブラウザは
決済ページを表示できないようにしたいです。
0429nobodyさん皇紀2665/04/02(土) 02:42:07ID:???
>>428
新しいセッション開始すれば?
0430nobodyさん2005/04/02(土) 05:01:43ID:4/Eqlz9k
PHP5はそろそろ乗り換えてもいい感じですかね。
■ このスレッドは過去ログ倉庫に格納されています