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

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

レス数が1000を超えています。これ以上書き込みはできません。
0001 ◆HhTh8Gv36s 2005/10/18(火) 05:53:51ID:???
PHPに関するくだらねぇ質問用スレです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>970あたりが建てて下さい

・過去スレ
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
【PHP】くだらねぇ質問はここに書き込みやがれpart5
http://pc8.2ch.net/test/read.cgi/php/1114787573/
【PHP】くだらねぇ質問はここに書き込みやがれpart6
http://pc8.2ch.net/test/read.cgi/php/1117945031/
【PHP】くだらねぇ質問はここに書き込みやがれpart7
http://pc8.2ch.net/test/read.cgi/php/1121100429/
【PHP】くだらねぇ質問はここに書き込みやがれpart8
http://pc8.2ch.net/test/read.cgi/php/1123431535/
【PHP】くだらねぇ質問はここに書き込みやがれpart9
http://pc8.2ch.net/test/read.cgi/php/1125716012/
【PHP】下らねぇ質問はここに書き込みやがれpart10
http://pc8.2ch.net/test/read.cgi/php/1127581425/
0002nobodyさん2005/10/18(火) 05:54:41ID:???
2GET
0003nobodyさん2005/10/18(火) 05:55:11ID:???
3GET
0004nobodyさん2005/10/18(火) 05:55:41ID:???
4さま
0005nobodyさん2005/10/18(火) 09:01:06ID:???
五月蝿い
0006nobodyさん2005/10/18(火) 09:08:57ID:???
ろくでなしどもめ。
0007nobodyさん2005/10/18(火) 09:42:26ID:???
ななしさま
0008nobodyさん2005/10/18(火) 09:52:55ID:i5K/wskH
PHPってなに?
0009nobodyさん2005/10/18(火) 09:56:43ID:???
魔法の合い言葉
0010nobodyさん2005/10/18(火) 10:04:39ID:???
胃痛の原因
0011nobodyさん2005/10/18(火) 10:18:09ID:???
phpスクリプトでコマンドプロンプトを実行するには
どうすればよいのですか?
0012nobodyさん2005/10/18(火) 10:28:43ID:???
意味不
0013nobodyさん2005/10/18(火) 11:10:25ID:???
>>11
system(), exec()
レンタルサーバ等,セーフモードで運用されている場合は使えない場合がある.
0014nobodyさん2005/10/18(火) 11:14:26ID:???
>>11

ttp://www.zend.co.jp/products/studio/ZendInformationCenter/php_manual/php_function_refrence/commandline.html
0015142005/10/18(火) 11:15:34ID:???
あ、間違えた。コマンドプロンプト「で」実行したいのかと思った。
0016112005/10/18(火) 11:23:10ID:???
>>13-15
みなさんありがとうございます。
system()とchdir()を使うことでできました。
0017nobodyさん2005/10/18(火) 13:36:04ID:BK6jpjuT
すいません、前スレが埋まってしまったのでもう一度質問させてください。

$fp=fopen("*.txt","w"); 
fputs($fp,"*"); 
fclose($fp); 

このようなソースで、PHPをブラウザから普通に呼び出せば問題なくファイルに書き込めるのですが、 
Ajaxを使いたくてXMLHttpRequestから呼び出しを行うとファイルへの書き込みがされません。 
これは仕様なのでしょうか。 
XML(ryからPHPを呼び出してファイルへの書き込みが出来る方法があれば教えていただきたく思います。 
0018nobodyさん2005/10/18(火) 14:17:37ID:J3Qm7IQ6
脊髄反射。権限の問題じゃないかな。
0019172005/10/18(火) 14:21:31ID:???
>>18
WindowsXP+apacheで動かしているのですが、それでも権限の問題があるのですか?
0020nobodyさん2005/10/18(火) 14:28:39ID:nQAMQYvG
>>17
XMLHttpRequestから本当に呼び出されてる?
0021172005/10/18(火) 14:33:43ID:BK6jpjuT
>>20
$fp=fopen("*.txt","w");  
fputs($fp,"*");  
fclose($fp);  
print "*";

このようにして呼び出すとjavascript側でinnerHTMLの書き換えは成功するのでそれは問題ないと思うのですが・・・
0022nobodyさん2005/10/18(火) 14:37:43ID:???
>>21
となると、たぶんポカミスだな。
0023nobodyさん2005/10/18(火) 14:41:15ID:BK6jpjuT
>>22
ポカミスですか・・・
仕様でできないとかそういうわけではないんですね。
調べてみます、ありがとうございました。
0024nobodyさん2005/10/18(火) 15:19:25ID:Im4kkPK4
ヤフーとか、ログイン後ブラウザを閉じて
再度立ち上げてもログイン状態となるのは
どういう仕組みなのでしょうか?

セッションIDをクッキーに保存するやり方だと
一度ブラウザを閉じると再ログインが必要になってしまいます。

何か設定があるのでしょうか?
レンタルサーバなのでphp.iniはいじれません・・
0025nobodyさん2005/10/18(火) 15:38:00ID:???
>>24
セッション使わないで普通にCookieにID情報を保存してるだけだよ。
0026見習い ◆DVsUJRCU3g 2005/10/18(火) 15:44:33ID:???
>>24
クッキーは保存期限が決められます

何時間とか何日とかブラウザを閉じるまでとか
0027nobodyさん2005/10/18(火) 16:02:59ID:???
>>25
セッション使っても出来るわけだが。
0028nobodyさん2005/10/18(火) 16:05:05ID:???
>>27
出来る出来ないの話じゃない。
この場合はヤフーが例に出てきたから、
ヤフーはセッション使わないでCookieのみだよと発言しただけ。

本来ならセッション管理にしたほうが
セキュリティ的にはよいわけだが。
0029nobodyさん2005/10/18(火) 17:52:48ID:???
まぁ、そう熱くなりなさんな
>>24は、「CookieでもSessionでも出来る」と学べたんだし
0030nobodyさん2005/10/18(火) 18:20:29ID:???
>>24
ブラウザを閉じた後でも(cookieを使用する方法での)セッションを有効にするのに必要な手順。
・cookieのみでセッションを使うように鯖の設定を適切に変更
・鯖側のセッションデータが消えないように、鯖のセッションgc周りを適切に設定。
・ブラウザを閉じた時に消えないように、session.cookie_lifetimeに該当するものを
 リクエスト毎にsession_set_cookie_params()で設定。
0031312005/10/18(火) 18:23:27ID:fdQa1YD9
PHPはCGIよりも軽いの?
0032nobodyさん2005/10/18(火) 18:31:33ID:???
( ´д)ヒソ釣(´д`)釣ヒソ(д` )
0033nobodyさん2005/10/18(火) 18:32:44ID:???
重さを量ったことは無いなぁ
0034nobodyさん2005/10/18(火) 18:36:37ID:???
>>31
サーバによって違うんじゃね?

ウチは普通のタワー型だからそこそこ重たいけど
キューブ型やらノートの鯖なら片手でも持てるでしょ?
0035nobodyさん2005/10/18(火) 18:54:51ID:Yne7aJ8c
CGIBOYのチャットの闇落ちの仕方教えて。
0036nobodyさん2005/10/18(火) 19:44:39ID:CyA7ywFN
質問です。

phpコード内で
:
↑はどのようなときに使用するのでしょうか?
0037nobodyさん2005/10/18(火) 20:07:19ID:???
ディレクトリ内のhtmlファイルの一覧を表示するphpを作ってるんですけど
各htmlから<title></title>の内容を取ってくるスマートな方法ないでしょうか?
0038nobodyさん2005/10/18(火) 20:19:21ID:???
>>37
考えついたスマートじゃない方法をお教えください。
0039nobodyさん2005/10/18(火) 20:24:23ID:???
http://loadist.sakura.ne.jp/loadist/loadist.php

アップローダサイトの運営をやりたくて立ててみたら
誰もうpしてくれないです。
うpできるかどなたか試していただけないでしょうか?
違法ファイルは勘弁の方向で・・・
0040nobodyさん2005/10/18(火) 20:32:05ID:???
>>39
アクセスする人が本人だろうがその他の人であろうが関係ありませんよ。
あまりに基本的な事なのでそれを知らないとは思えないですし
ひょっとしたら宣伝でしょうか?それでしたら宣伝板があります。
そこ以外で宣伝する場合は禁じられていた気がしますが、
あまりに基本的な事なのでそれを知らないとは思えないですし
ひょっとしたら2ch初心者でしょうか?それでしたら半年ROMってろ!!
0041372005/10/18(火) 20:40:08ID:???
>>38
各ファイルの先頭から300byte位までを読み込んで抽出
という方法を考えていたのですが、どうもスマートじゃないような気がして。
0042nobodyさん2005/10/18(火) 20:53:59ID:???
>>41
いいんじゃないの、それでも。
俺なら最初に</title>が出てくるまでにしておくがね。
0043見習い ◆DVsUJRCU3g 2005/10/18(火) 21:03:25ID:???
>>38

$list = scandir();

foreach ($list as $l) {
if ($l == '.' || $l == '..') continue;
 $s = file_get_contents($l);
 $s = substr(stristr($s, '<title>'), 7);
 $s = substr($s, 0, stripos($s, '</title>'));
 echo $s;
}

これじゃだめかな
0044見習い ◆DVsUJRCU3g 2005/10/18(火) 21:04:49ID:???
アンカーミス
>>37です

あ、<title >みたいなのが認識されないや
0045372005/10/18(火) 21:06:33ID:???
>>42
行で読み込んでいって</title>にマッチしたら代入って感じでどうでしょうか?
0046nobodyさん2005/10/18(火) 21:07:23ID:???
>>40
>ひょっとしたら宣伝でしょうか?それでしたら宣伝板があります。
アドレスを書き込めば理由はどうであれ宣伝になりますね。

>そこ以外で宣伝する場合は禁じられていた気がしますが、
>あまりに基本的な事なのでそれを知らないとは思えないですし
>ひょっとしたら2ch初心者でしょうか?それでしたら半年ROMってろ!!
千里眼のごとき憶測、恐れ入ります。
無根拠の仮定で罵詈雑言を言われても・・・
0047372005/10/18(火) 21:12:13ID:???
>>43-44
サンクス
やりたいことはそうなんですが、file_get_contentsでは
ちょっとスマートでないような気がするんですが。
素人なんで強烈に勘違いしてたらすいません。
0048nobodyさん2005/10/18(火) 21:15:19ID:???
>>47
だから一行ずつ読めって
0049nobodyさん2005/10/18(火) 21:16:34ID:???
ファイルが小さいなら一度に読んだほうがいい
どの辺が分水嶺になるかはシラネ
0050nobodyさん2005/10/18(火) 22:06:08ID:???
一気に読むのと一行ずつ読むのじゃ負荷て変わるもんなんですかね?
純粋な質問です。今まで一行ずつの方が負荷が少ないと勝手に思い込んでいたので・・・。
0051362005/10/18(火) 22:14:02ID:CyA7ywFN
度々すいません。

:
↑これを使用する場合はどういう場合でしょうか?
;
↑行末のと間違っているのでしょうか?
それともソース改行無視みたいな記号でしょうか?
0052nobodyさん2005/10/18(火) 22:25:13ID:???
>>50
一般論としてはディスクアクセスが増える分
一行ごとに読み出すほうがディスクへの負荷は増える。
でも、実際にはシステムやOSでキャッシュしてたりするのでなんともいえない。
だから普通は処理性能や負荷状況もテストを行う。

でも負荷やスマートさを考える前に
まず確実に動くソースを書いてからジャマイカ?
0053nobodyさん2005/10/18(火) 22:25:50ID:???
>>51
ttp://jp.php.net/manual/ja/langref.php
黙って全部読め。
0054nobodyさん2005/10/18(火) 22:46:42ID:???
>>51
三項演算子のこと?
>:
>↑これを使用する場合はどういう場合でしょうか?
だけじゃ何を知りたいのか分からないよ。
まあ、ここはPHPスレだから三項演算子と仮定するね。

使用例
<?php
$HardGay = 2;
$SoftGay = 1;
$HardGay > $SoftGay ? echo 'オッケ〜イ、フゥー' : echo 'ゴリエハァハァ ';
?>

変数の数値をかえて試してみてねん。
ちなみにecho文は戻り値を持たないからだめよん。
if{ } else{ }でも同じ処理できるよ。
0055nobodyさん2005/10/18(火) 22:54:35ID:???
>$HardGay > $SoftGay ? echo 'オッケ〜イ、フゥー' : echo 'ゴリエハァハァ ';
のechoをprintに変えて試してね。
コピペはだめよ うふっ
0056nobodyさん2005/10/18(火) 23:02:22ID:???
へんな回答者があらわれたなぁ
0057nobodyさん2005/10/18(火) 23:03:58ID:???
echo $bool ? 'a' : 'b';
0058nobodyさん2005/10/18(火) 23:09:58ID:???
psql上で
\d table_name;
と同じ事をPHPからしたいのですが、
pg_query()を使っても不可みたいです。

テーブルの定義を取得したいのですが、
PHPでそういう関数って用意されていますか?
マニュアル一通り見たんですが見つけられませんでした。
0059nobodyさん2005/10/18(火) 23:15:40ID:???
$a = 1; $b = 2; $c = 3; $d = 4;

$x = ($a == $b ? 'b' :
       ($a == $c ? 'c' :
       ($a == $d ? 'd' : 'e')));

echo $x;
0060nobodyさん2005/10/18(火) 23:17:21ID:???
144 名前:nobodyさん[] 投稿日:2005/10/18(火) 22:40:04 ID:CT5T2kGw
postgresでテーブルの定義を知りたいときのコマンドを教えてください
0061nobodyさん2005/10/18(火) 23:28:06ID:???
WebProg初心者スレで質問してた人かなぁ。。レスしたのオレオレ。

psqlから実行するのはシェルコマンドのようなもの。
一方pg_query()はSQLをデータベースに渡すためのもの。

psqlを使う時と同じ環境(実行ユーザの権限、使用するライブラリパスなどの環境変数 etc)
になるようにしてsystem()等のコマンド実行系の関数を使うか、
テーブル内容を取得できるようなSQLをpg_query()で実行すればよい。
って、今マニュアルを見直してみたら pg_meta_data()ってのがあるじゃん。

PostgreSQLでは、テーブルの構造等のシステムで使う情報も特別なテーブル(システムカタログ)に持っているから、
それに対してSQLを実行する、つー方法もある。
ttp://www.postgresql.jp/document/pg804doc/html/catalogs.html
0062nobodyさん2005/10/18(火) 23:37:34ID:tn/yEB1K
Linux + Apache 2 + mod_php
でサーバーを建ててphpの勉強を始めたんですが
a.phpというのをブラウザから開いても真っ白なページしか出てきません。
下のようなごく簡単なものならしっかりと意図したページを表示してくれました。

<?php
phpinfo();
phpinfo(INFO_MODULES);
?>

エラーとかを調べて解決していきたいのですが、Apacheのログとかにはこれといった
エラーが出てくれません。
こういう時のデバッグの仕方とかでよく使われる手法って何かありますでしょうか?
何でもいいのでとにかく何かエラーが出ているかどうか知りたいです。
0063nobodyさん2005/10/18(火) 23:43:19ID:???
>>62
php 以外の,html 等は正常に表示される?
真っ白なページのソースを表示すると何か書かれてる?
0064nobodyさん2005/10/18(火) 23:47:44ID:???
>>63
真っ白なページのソースはこのようになっていました。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=shift_jis"></HEAD>
<BODY></BODY></HTML>

肝心のphpのソースを出すのを忘れ申し訳ありません。
http://osdn.dl.sourceforge.jp/zencart-jp/14573/zen-cart-v1.2.0-l10n-jp-3.zip
のindex.phpというやつです。


php以外のhtmlやcgiとかは特に問題なく動いて表示されています。
0065nobodyさん2005/10/18(火) 23:52:08ID:???
開けてびっくり!じゃないだろうね?
0066nobodyさん2005/10/18(火) 23:54:30ID:???
>>65
zencartというオープンソースのphpとmysqlのショッピングカートです。
とりあえず危険ではないです。。。
0067nobodyさん2005/10/18(火) 23:55:14ID:???
この辺を参照して、php.iniを適切に設定する。
ttp://jp.php.net/manual/ja/ref.errorfunc.php
error_reporting E_ALL
display_errors on

んでも、まぁ、HTTPヘッダのcharset指定が適切じゃなくて、文字エンコーディングを
誤判定してあたかも何も出力されていないように見えるだけじゃないかな、っと。
apacheの設定httpd.confでDefaultCharsetを適切に設定すれば表示されるんじゃないかな。

スクリプトを書いていくうちにHTTPヘッダを見る必要が出てくると思うので、
そのあたりをカバーしてくれるツールを入れておくのもいいんでないかと。
ieHTTPHeadersやProxomitronあたりと、firefoxのアドインツールでも見れるんだっけ?

って、書いてるうちにスレが進んでた。。
>>64のようなページのソースは鯖からのリスポンスに表示データがない時にIEが勝手に作り出したりしてた希ガス
0068nobodyさん2005/10/19(水) 00:09:43ID:???
>>67
php.iniの設定を変えてApahceを再起動してみましたが、
残念ながら特に画面にエラーは出てきませんでした。。。
0069nobodyさん2005/10/19(水) 00:09:55ID:???
>>67
http://livehttpheaders.mozdev.org/ >firefoxのアドインツール
つうてもieHTTPHeaders、LiveHTTPHeadersでもパケットそのものが見える訳ではないので、
サーバを自前で設置するならパケットキャプチャツールも用意するべきかな。
借りたサーバを使う人は、パケットキャプチャまでは不要。
0070nobodyさん2005/10/19(水) 00:10:31ID:???
火狐ってvbs非対応?
0071nobodyさん2005/10/19(水) 00:12:15ID:???
ってレスあったか・・汚しスマソン
寝ます・・
0072nobodyさん2005/10/19(水) 01:29:09ID:???
PearのDBクラスで、getOneやexecuteメソッドでクエリを送信する場合、Pearはmysql_escape_string()や%→\%などのエスケープ処理はしますか?
0073nobodyさん2005/10/19(水) 01:33:29ID:???
驚かないで聞いてくれ。
実はpearのDBクラスはPHPで書かれているんだっ!
自分で確認する事ができるねっワッセローイ
0074nobodyさん2005/10/19(水) 03:45:58ID:???
foreach ($a as $v)

の$aの配列の取り出される順番について質問です。
これって、$a[0],$a[1] $a[2]の順番で取り出される事が”保障”されていますか?
0075nobodyさん2005/10/19(水) 03:55:12ID:???
>>74
”保障”されていません。まずこれを実行してみそ
$a = array(2 => "two", 0 => "zero", 1 => "one");
foreach ($a as $v) echo $v, "\n";
0076nobodyさん2005/10/19(水) 04:02:01ID:???
>>74
されていません。

順序は添え字の大小(数値上だとか文字コード上だとか)の比較によらず、
PHPでは内部的に「順序リスト」によって処理しています。
その順序の順番通りに取り出されます。
0077nobodyさん2005/10/19(水) 04:04:16ID:???
こんな深夜にありがとうございます。
なるほど、ではちゃんとforを使って書く事にします。
ありがとうございました。
0078nobodyさん2005/10/19(水) 04:50:37ID:???
初心な質問、失礼致します。
「->」という演算子がどういう機能をしているのかがわかりません。
当たり前のように見かける割には、意外とどの文献にも説明がなく困っています。
0079nobodyさん2005/10/19(水) 05:22:11ID:???
>>78
プロパティ又はメソッドへのアクセス演算子。
PHP4ならここ http://www.php.net/manual/ja/language.oop.php
PHP5ならここ http://www.php.net/manual/ja/language.oop5.php
オブジェクト指向が多少なりともわからないと難しいかもしれないね。
0080nobodyさん2005/10/19(水) 05:22:17ID:???
>>78
「->」は正式には"演算子"には分類されないと思うが。
機能についてはクラスとかの説明を参照。
0081nobodyさん2005/10/19(水) 05:34:17ID:???
演算子でOKです
0082nobodyさん2005/10/19(水) 09:56:30ID:RXCGepdO
質問させて下さい。

「人気ブログランキング」に代表されるようなランキングサイトが多々ありますけど、
こうしたランキングを自分用にカスタマイズ出来るサービスってないでしょうか?

「ブログビープル」や「マイブログリスト」といったサービスが近いと思うのですが、
ping送信がうまく機能していない所があるせいか思い通りに行きません。

ttp://spok.soccermath.com/index.html

上記にあるような自分用ランキングをブログのプラグインの1つとして表示させるのが理想です。
業者に頼む方法もあるかと思いますが、他の解決策があれば教えて頂きたいのです。

そもそもこうしたランキングを自作することが可能なのかもよく分かっていません。
「逆アクセスランキング」などは作成ツールをよく見かけるのですが。。
0083nobodyさん2005/10/19(水) 10:43:36ID:EZ58Jn44
クラスってどういう時に使うと便利なんですか?
0084nobodyさん2005/10/19(水) 11:01:12ID:???
>>82
文章を読んだ感じ、スレ違い
0085832005/10/19(水) 11:07:57ID:???
いや、PHPのことなんだけど…。


PHPから入った人間なので、オブジェクト指向とか良く分からんのです
0086nobodyさん2005/10/19(水) 11:29:24ID:???
>>83
一言で言えば、プログラムを整理したいとき。
0087nobodyさん2005/10/19(水) 11:36:52ID:???
>>85
PHPでなら作れるだろうさ。そういうサービスを探してるって>>83に書いてあるぞ。
0088nobodyさん2005/10/19(水) 11:38:15ID:???
誤爆すまそ
×>>83
>>82
0089nobodyさん2005/10/19(水) 11:42:42ID:???
先生,この人たちは何をしゃべっているのですか?
全然噛み合ってない気がするんですけど
0090nobodyさん2005/10/19(水) 11:57:40ID:???
82-88は無かったことにしよう
0091nobodyさん2005/10/19(水) 11:57:48ID:???
変数を複数使うのと
$a0、$a1、$a2、$a3…
配列でまとめるのと
$a[0]、$a[1]、$a[2]、$a[3]…
配列の方がプログラム組むのは楽ですが、どっちがメモリ消費を抑えられますか?
微々たるものなんでしょうが大量の変数を扱うので出来る所は最大限メモリ消費を抑えたいのですが。
0092nobodyさん2005/10/19(水) 11:59:23ID:???
誤爆しまくるスレはここですか?
0093nobodyさん2005/10/19(水) 12:05:09ID:???
>>91
そんな次元でメモリ節約を考える必要があるほどなの?
アルゴリズムの工夫でなんとかならない?
一時的にファイルにデータを出力しておくとかさ.
0094nobodyさん2005/10/19(水) 12:10:56ID:???
やり方によっては速度差は出るけどね
処理次第でどっちにも転ぶ
ベンチとって疑問があれば質問しろよ
0095nobodyさん2005/10/19(水) 12:12:44ID:???
>>91
PHPの配列($a[0] $a[1])は他の言語の配列とは違ってキーの数字も記憶されるからメモリ食いそう
ということで配列を使わないプログラム組んで苦しんでください。
0096nobodyさん2005/10/19(水) 12:21:25ID:???
(´-`).。oO(メインメモリがメガバイト単位で搭載されている時代に何言ってるんだか・・・)
0097nobodyさん2005/10/19(水) 12:42:32ID:???
(´-`).。oO(きっと>>91のPCはキロバイト単位でしか積んでないのさ・・ってPHP動くのか・・・?)
0098nobodyさん2005/10/19(水) 12:49:44ID:???
(´-`).。oO(カセットテープにデータを保存しているんだろうなぁ・・・) 
0099nobodyさん2005/10/19(水) 13:08:24ID:???
大量の変数...
$a1,a2,$a3,$a4...........$a100,$a101......$a49578264017484568467265674836754
0100nobodyさん2005/10/19(水) 13:11:06ID:???
>>99
最大何個の変数が作れるか知ってる?
0101nobodyさん2005/10/19(水) 13:23:55ID:???
>>100
ググれよ
0102nobodyさん2005/10/19(水) 14:03:36ID:???
>>101
ワロス

>>100 は
最大何個の変数が作れるか知ってる? 
($a49578264017484568467265674836754 なんて制限以上だから作れるわけねーよwプゲラ)

って意味じゃないのか?
0103nobodyさん2005/10/19(水) 14:07:16ID:???
postgresにファイル(画像や動画など)を突っ込むのは普通しませんか?
ファイル名だけ突っ込んで、ファイル自体は別の場所に管理した方がいいですか?
0104nobodyさん2005/10/19(水) 14:35:14ID:???
>>102
気づけないやつは一生気づけないからさ、そっとしといてやれよ・・・
0105822005/10/19(水) 14:37:16ID:RXCGepdO
すみませんが適切なスレを教えて頂けませんでしょうか?

RSSの質問スレがあれば良いのですがないようですし、
上記>>82のリンク先にあるランキングサイトを作成した業者さんの所で
「PHP」の欄に紹介されていたものですから、ここかなと思って質問しました。
0106nobodyさん2005/10/19(水) 14:41:02ID:???
>>103
あなたが何をしたいのか分かりませんので何ともいえないのですが、
管理のしやすさから言えば、フォルダ作ってそこに画像を収納したほうが・・
0107nobodyさん2005/10/19(水) 14:44:43ID:???
目的のサーバー外部から、内部のファイル更新時間を取得することは可能ですか?
0108nobodyさん2005/10/19(水) 14:49:26ID:???
>>106
全部DBに入れた方が管理しやすくない?
0109nobodyさん2005/10/19(水) 14:51:39ID:???
>>103
俺はあんまりしないけど

ヒント:ケースバイケース
0110nobodyさん2005/10/19(水) 14:51:49ID:???
管理のしやすさから言ったらDBに入れた方がいい気が
0111nobodyさん2005/10/19(水) 14:54:39ID:???
>>109
まさにケースバイケースですな
0112nobodyさん2005/10/19(水) 14:56:59ID:e62ag6fh
JISコードの「分」をEUCへ変換したいんだけど、mb_convert_encodingで変換
できないのは俺だけ?
0113nobodyさん2005/10/19(水) 15:32:10ID:???
>>112
1文字だけで変換すると,ってこと?
「分」が含まれてる長い文章でも無理なの?
0114nobodyさん2005/10/19(水) 16:38:45ID:???
>>112
文字コードを自動判別させるんだろ
俺は自動判別は使わないから大丈夫
0115nobodyさん2005/10/19(水) 16:38:46ID:???
>>112
mb_detect_encodingやってみて。
それで文字コードが何に変わってるか分かると思うから。。。
0116nobodyさん2005/10/19(水) 17:10:56ID:???
つ [ string mb_convert_encoding ( string str, string to-encoding [, mixed from-encoding]) ]
0117nobodyさん2005/10/19(水) 17:19:34ID:e62ag6fh
112ですが、自動判別を使っても固定で書いても同じ結果です。
たとえば、2005年10月11日 水曜日 09時10分11秒 <-JISでこれをEUCにコンバート
すると 2005年10月11日 水曜日 09時1011秒 で帰ってきます。

何ででしょうか? PHPのバグ?
0118nobodyさん2005/10/19(水) 17:29:29ID:M9vMYwgG
mb_send_mailを使ってメールを送信についてなんですが、
送信先アドレスが合っていない(アドレスが存在しない)場合、
一応FALSEも返されるのですが、それとは別にServer Errorが出ます。
こんな感じです(Warning: Server Error in c:\・・・・・.php on line 55)
アドレスが合っている(アドレスが存在する)場合は、
何も問題なく処理されるのですが・・・。
アドレスが存在しない場合でもServer Errorを出さずに
FALUSEだけ返す方法はないですか?
0119nobodyさん2005/10/19(水) 17:41:02ID:e62ag6fh
php.ini -> display_errors = On <- Off が手っ取り早い
0120nobodyさん2005/10/19(水) 18:39:13ID:???
>>118
mb_send_mail云々より
php on line 55って行ってるんだからそれ以前の行を
先になにかまずってないか調べた方がいいんでないの?
イージーミス臭い気がする
0121nobodyさん2005/10/19(水) 19:26:23ID:???
そもそも、アドレスが存在しなくてもTRUEが返って来るだろ。
0122nobodyさん2005/10/19(水) 20:15:48ID:???
>>121
確かに。
その後postmaster宛てにエラーメールが別途行くんだよな確か。

Win版なので余りアドバイスできないがエラーが出る辺り120同様ミスを疑ってみるのも・・・。
0123nobodyさん2005/10/19(水) 20:45:12ID:???
>>73
ここまで長いソースを読んだことがなかったので、自信がありませんが、
必要に応じてquoteSmart()しなければならない、で合っていますか?
# %がクオートされない気が…
0124nobodyさん2005/10/19(水) 20:54:16ID:???
>>118
>アドレスが合っている(アドレスが存在する)場合は、
そもそもどうしてアドレスがあっているかどうかを判定しているんだと
メールなんて送ってみて遅いときは数日後にメールが存在しませんでしたとかの
メールが返信されてくるわけで、それまで君は画面の前に張り付いているのかと
激しく聞きたい!
メールアドレスの整合性を検証しているだけなら120の言うとおり
エラーを出している部分を特定して修正るだけで解決すると思われる
0125nobodyさん2005/10/19(水) 22:51:57ID:???
認証に成功した人にだけ画像をダウンロードできるようにしたいのですが、
どういう風に実現できますか?

認証に成功→画像にリダイレクト

だと画像に直接アクセスしたらダウンロードできてしまいますよね。
0126nobodyさん2005/10/19(水) 22:56:42ID:???
>>125
・セッション
・認証に成功した場合に画像を結果として出力
0127nobodyさん2005/10/19(水) 22:57:03ID:???
>>125
readfile
0128nobodyさん2005/10/19(水) 22:57:33ID:???
一般的な方法なのかどうか知らないけど,
php を経由して画像を出力するようにすればOK
0129nobodyさん2005/10/20(木) 00:33:12ID:AJY8FzbY
$data[0][0]=1;
echo "$data[0][0]";
とダブルクォートつけたまま、二次元配列の中身を出力したいのですが、
これだとArray[0]しか出力されません。
どう書き換えればよいでしょうか?
0130nobodyさん2005/10/20(木) 00:35:09ID:TNE3rFHb
echo "{$data[0][0]}";
0131nobodyさん2005/10/20(木) 01:24:18ID:???
>>17です。
解決したので一応結果だけ報告させてください。

原因はキャッシュにありました。
呼び出されるPHPがキャッシュのせいで出力のみがされていたようです。
ttp://jp.php.net/manual/ja/function.header.php
に書いてあるようにキャッシュを無効化したら無事に動作しました。
どうもお騒がせしました。
0132nobodyさん2005/10/20(木) 02:31:58ID:???
>>129
こんな感じ?
echo '"';
print_r($data);
echo '"';

それともこっち?
echo '"'.$data[0][0].'"';
0133nobodyさん2005/10/20(木) 02:37:19ID:???
>>132
どっちも違うと思う
0134nobodyさん2005/10/20(木) 03:10:24ID:???
>>133
ダブルクォートも出力したい
もしくは二次元配列の中身+ダブルクォートも出力したい
のだと思ったわけだが違うというなら130のやり方だね
ちなみに
echo "{$data[0][0]}";

echo $data[0][0];
の違いって何なの?
出力結果は同じだよね??
0135nobodyさん2005/10/20(木) 03:17:47ID:???
>>134
同じです

>>129
echo "今日の晩ご飯は{$data[0][0]}です";

みたいな使い方がしたいのかと
0136nobodyさん2005/10/20(木) 03:47:27ID:???
>>129
>>とダブルクォートつけたまま、

echo "\"{$data[0][0]}\"";
0137nobodyさん2005/10/20(木) 04:34:40ID:???
Redhat7でPHP3+PostgreSQLのシステムを、Redhat9のPHP4PostgreSQLに
移行(移動しただけ)してみたところ、ユーザ認証がエラーではじかれるようになってしましました。
PHP3⇒PHP4の仕様の違いに詳しいサイトor書籍があったら
ご紹介願います。

0138nobodyさん2005/10/20(木) 04:35:19ID:???
↑一応、PHP4は--enable-versioningオプションでコンパイルしています。
0139nobodyさん2005/10/20(木) 04:38:51ID:???
つ [ エスパー ]
0140nobodyさん2005/10/20(木) 04:39:59ID:???

http://www.zend.co.jp/products/studio/ZendInformationCenter/php_manual/php_function_refrence/migration4.html
01411372005/10/20(木) 04:40:46ID:???
↑調べてみます。
0142nobodyさん2005/10/20(木) 07:40:16ID:???
>>117
俺の環境(Windows PHP4.4.0とPHP5.1.0)では問題ない
0143nobodyさん2005/10/20(木) 07:55:39ID:???
まあそりゃそうだろな
0144nobodyさん2005/10/20(木) 09:33:10ID:???
エスケープシーケンス?について質問です。
ダブルクオテーション""内にダブルクオテーションを書くとすると、
"<img src=\"\">"といった具合に書くことはわかったのですが、
シングルクオテーション''内にシングルクオテーションを書くとすると、
どういう風にかけばいいのでしょうか?
\'\'ではどうもだめなようなのですが・・・
0145nobodyさん2005/10/20(木) 09:37:11ID:???
駄目なのはお前だ
0146nobodyさん2005/10/20(木) 09:51:50ID:???
だめなのは承知しています。答える気がないなら黙っててください。
0147nobodyさん2005/10/20(木) 09:57:32ID:???
>>144
\' を2つ並べている理由は判らないけど、\' で大丈夫。
echo 'あああ\'いいい';

「\'\'ではどうもだめなようなのですが・・・ 」
どうだめなのかを書いた方がいいのでは?
0148nobodyさん2005/10/20(木) 10:01:22ID:???
>>147
\"\"て書いてあるだろ。
01491452005/10/20(木) 10:04:38ID:???
十分答えになってるはずだがねえ
0150nobodyさん2005/10/20(木) 10:15:23ID:???
頭が膿んでるのも承知しています。答える気がないなら黙っててください。
0151nobodyさん2005/10/20(木) 10:20:59ID:???
答えてるじゃん?
0152nobodyさん2005/10/20(木) 10:23:25ID:???
ヽ(`Д´)ノ┌┛)ω・`)
0153nobodyさん2005/10/20(木) 10:47:16ID:???
くだらない質問ですいません、htmlファイル
<a><b><c>hogehoge1</c></b></a>
<a><b><c>hogehoge2</c></b></a>
<a><b><c>hogehoge3</c></b></a>
から「hogehoge*」を全て取り出すスマートな方法とかありますかね?
エロい人おせーて
0154nobodyさん2005/10/20(木) 10:52:21ID:???
http://php.net/preg_match_all
0155nobodyさん2005/10/20(木) 11:02:03ID:???
>>154
エロい人どーも
0156nobodyさん2005/10/20(木) 12:45:21ID:MKGw3uam
phpプログラマーを雇う予定なんだけど、

1.デスクトップ
2.デスクトップ、別途ノート支給
3.ノート支給

どれが一番お勧めだろう?
ノートは暗に家でも仕事してよね的な感じです。
普通の企業は3かな?
2はコスト的には若干避けたい。でも効率が結構変わってくるのであれば、
2でもいいかなと考えてます。

若干すれ違いだけど、レスよろしこです!
0157nobodyさん2005/10/20(木) 12:45:59ID:???
デスクトップを持ち歩かせてみよう
0158nobodyさん2005/10/20(木) 12:49:26ID:???
>>157
1年後、異色のプロレスラーとしてデビューしてたりして
0159nobodyさん2005/10/20(木) 12:56:53ID:???
>>156
1で会社に軟禁が一番いい
0160nobodyさん2005/10/20(木) 13:00:52ID:???
>>156
4.紙と鉛筆支給(鉛筆削り付き)
0161nobodyさん2005/10/20(木) 13:04:25ID:???
>>156
2.3は家にPCがないPGって少ないだろうから、ノート支給するより
圧力かけたほうがコストパフォーマンスいいと思うよ

だから1がオススメ
0162nobodyさん2005/10/20(木) 13:08:33ID:???
select * from table_name;

を実行して

$r = pg_fetch_all(...);
echo count($r);

とすればレコード数が取得できると思いますが、
レコード数だけを取得すればいいときに、
これだけのために一旦全てのレコードを取り出すのは
効率が悪いように思えます。

何か他に方法がありませんか?
0163nobodyさん2005/10/20(木) 13:14:55ID:???
>>156
家で仕事なんかしないよ。
自由に使って勉強してねって感じでも最近の子はね。
0164nobodyさん2005/10/20(木) 13:20:53ID:???
>>162
スレ違いのような気もするが…
ヒント つ[SELECT count(*)]
0165nobodyさん2005/10/20(木) 13:27:47ID:???
>>156
家に帰ったらP2Pし放題になる罠
0166nobodyさん2005/10/20(木) 13:31:01ID:???
>>156
15万円くらい渡す.
「これで開発環境ととのえて」という.
0167nobodyさん2005/10/20(木) 13:33:29ID:???
安っ
0168nobodyさん2005/10/20(木) 13:37:05ID:???
>>156
1。安いから。支給するならPHPの書籍。本なら遊べない。
0169nobodyさん2005/10/20(木) 13:45:11ID:???
>>156
俺にノート買ってくれるのが一番効率いいな。
0170nobodyさん2005/10/20(木) 13:49:41ID:???
昔のPHPのデフォルト設定だと、getやらpostやらで送られたクエリーが
勝手に同名の変数に入ってしまいますよね
今使ってるサーバがそういう設定なんですが、
気分的にすごく嫌なので
自分のスクリプトだけ$_GETや$_POSTを
必須にするような設定方法ってありますか?
0171nobodyさん2005/10/20(木) 14:25:17ID:???
>>170
「勝手に」は入らない。(意図してるかはともかく)そう設定しているから入る。

register_globalsをOffに設定すれば求める挙動になるけど、
指定できるのはPHP_INI_PERDIR、PHP_INI_SYSTEMだから
運がよければ設定したいディレクトリの.htaccessで
「php_flag register_globals Off」と記述すれば可能。
CGI版のPHPの場合は、自分の利用してるディレクトリに置くphp.iniかな。
0172nobodyさん2005/10/20(木) 14:46:35ID:???
まあ、4.1.x以前だと、インストールした状態で入ってるから「勝手に」だとは思うけどな。

>>170
「デフォルトで」とかここらの言い方覚えなよ。
0173nobodyさん2005/10/20(木) 15:48:08ID:7izyihiQ
PHPってフレームワーク使って開発するのがいいのか
それともべた書きのほうがよいのか?
それともTemplate使ったほうがよいのか?

だれか教えてくれーーー

0174nobodyさん2005/10/20(木) 16:35:36ID:???
>>173
規模・予算・期間・クラの要望に応じて適当な方法を選択。
0175nobodyさん2005/10/20(木) 17:09:05ID:???
>>170
まあ、register_globalsの設定が答えではあるのだけれども・・・。
この際、クラスとか使って変数のスコープもちゃんと意識してみた方がいいかも。
0176nobodyさん2005/10/20(木) 17:11:26ID:???
>>173
174の言うとおりだけど、HTML出力するなら俺的にテンプレートエンジンは必須だな。

少し大きくなったらフレームワークが楽かな。
俺の場合、3ページ以上だったらフレームワーク使うかも。
0177nobodyさん2005/10/20(木) 17:22:45ID:P54wTQQ4
cookieの読み書きを行うphpスクリプトを用意し、
IFARAME内に上記スクリプトを呼び出しているのですが
cookieの読み書きができません。

IFRAME内からではクッキーは利用できないのでしょうか??



0178nobodyさん2005/10/20(木) 17:23:34ID:???
可能です。
0179nobodyさん2005/10/20(木) 17:52:31ID:???
Web制作版から誘導されてきました。
imgタグとPHPを使って、HTMLにランダムに画像を表示させたいのですが、
具体的にどう書けばいいのでしょうか。
リロード・アクセスする度に画像が変わる、という風にしたいです。
よろしくお願いします。
0180nobodyさん2005/10/20(木) 17:59:37ID:???
$var = mt_rand(1, 3);
if($var == 1){print"<img src=\"aaa.jpg.jpg\">";}
elseif($var == 2){print"<img src=\"bbb.jpg\">";}
elseif($var == 3){print"<img src=\"ccc.jpg\">";}
0181軟式PHP2005/10/20(木) 18:01:39ID:???
>>179
JavaScriptでも出来るよ。
PHPでやるなら180みたいな方法か、<img src="img.php">みたいにして
img.phpで画像出力を行う。
0182nobodyさん2005/10/20(木) 18:14:08ID:???
>>179
>imgタグとPHPを使って
ってことなら、>>181の、<img src="img.php">が正解かもね。
その場合、「img.phpではどんな処理をしたらいいのですか?」
という質問が返ってくる、とエスパーしてみる。
0183nobodyさん2005/10/20(木) 18:25:37ID:???
>>182
img.phpではどんな処理をしたらいいのですか?
0184nobodyさん2005/10/20(木) 18:27:07ID:???
配列の中に変数を入れて、別の場所でprintで表示させようと思うのですが

$input_frame = array("<INPUT size=20 type=text name=zip value =$str>");
$str = pg_fetch_result($result,$j,$i);
print("$input_frame[$i]");

このような形で出力したら、$strに出力されません。
どうにかして、このような形で使う方法はありませんか?
よろしくお願いします。
0185nobodyさん2005/10/20(木) 18:30:50ID:???
君は苦労が絶えん人だね
0186nobodyさん2005/10/20(木) 18:32:16ID:???
そうなんですよ
わかりますか?
0187nobodyさん2005/10/20(木) 18:40:49ID:???
>>184
何をやろうとしてるのか理解できない.
「このような形」って何?
なんでいきなり pg_fetch_result() ? $j, $i ってどっから沸いてきたの?
0188nobodyさん2005/10/20(木) 18:46:41ID:???
>>187
文字列中にある"$str"を変数として認識させ、
$strをそこに埋め込みたいんじゃないか?
真相は>>184しか知らんだろうけど。

もしそうならe(ry
0189nobodyさん2005/10/20(木) 18:58:58ID:???
2行目で取得されるだろう$strを、1行目の$strの部分に入れたいってことか。
もしそうならe(ry
0190nobodyさん2005/10/20(木) 19:10:10ID:Uz4S3mFQ
困ってます。
データベースサーバがmysql09.lolipop.jpの場合、単純に「if($sqlin=mysql_connect("mysql09.lolipop.jp","root",""))」と記述すれば良いのでしょうか?
このままだとエラーが出てしまうのですがどうすればいいでしょうか?

ど素人ですみません。
0191nobodyさん2005/10/20(木) 19:30:15ID:???
>>190
fatal error : 未定義のエラーが記述されています line:3
0192nobodyさん2005/10/20(木) 19:37:57ID:???
>>190
しかるべき場所で聞いてみたけど,良い回答は得られなかった.

あなたの発言:
困ってます。
 データベースサーバがmysql09.lolipop.jpの場合、単純に「if($sqlin=mysql_connect(\"mysql09.lolipop.jp\",\"root\",\"\"))」と記述すれば良いのでしょうか?
ど素人ですみません。 

ロリポおじさんの発言:
う〜ん、僕には難しいぽ。未熟者でゴメンね。
0193nobodyさん2005/10/20(木) 19:52:04ID:???
>>190
>エラーが出てしまう
俺のところでは"貴方と同じエラー"は出なかったよ。
まあレポーティングレベル最低な環境だが。
0194nobodyさん2005/10/20(木) 19:53:54ID:???
>>190
しらねーけどlocalhostで
0195nobodyさん2005/10/20(木) 20:29:05ID:???
>>190
しらねーけどroyalhostで
0196nobodyさん2005/10/20(木) 20:35:08ID:???
>>190
っとまぁおちょくるのはこれくらいで
1、\"mysql09.lolipop.jp\",\"root\",\"\"はなぜエスケープしてるんだと
2、データベースサーバmysql09.lolipop.jpは内部と外部どちらあるんだと
3、外部にあるならデータベースサーバにログインできるアカウントはあるのかと
4、そもそも外部にあるならポートは開いているのかと

3秒考えただけでもこれだけあるわけだが…
0197nobodyさん2005/10/20(木) 20:37:06ID:???
しまった1は無し
192に釣られてしまったorz
0198nobodyさん2005/10/20(木) 20:47:05ID:???
>>190
ろりぽでDB作るときに指定したパスワード、表示されたDB名、ユーザ名
を指定すればいいんじゃ?たぶんrootじゃだめぽ
01991922005/10/20(木) 20:56:07ID:???
>>197
>>192 はロリポおじさん
http://lolipop.jp/?mode=support&state=oshiete
に聞いたときエスケープされた.
0200nobodyさん2005/10/20(木) 21:39:16ID:H5QCKuTq
教えてください。
$_POSTを使わずにPOSTで渡された値を得る方法はないですか?

同じkeyを持つチェックボックスが複数押されてると正しい値が得られそうにないんで、
$_POSTでなく自前でやろうかと思うんですが、print_r($GLOBALS);しても思い当たる値を持った変数がありません。
0201nobodyさん2005/10/20(木) 21:53:50ID:???
>>200
チェックボックス配列?
呼び方がわからんが、こういうの name="check[]" 
でやればいいんでないの?


0202nobodyさん2005/10/20(木) 21:55:32ID:???
つphp://input
つ$HTTP_RAW_POST_DATA

まあ漏れならこんな面倒な事せずに
配列使うなり、別の手段考えるけどね
0203nobodyさん2005/10/20(木) 22:12:50ID:???
>202
ありがとうございまつ。
調べてみます。

>201
name="check[]"は
質問の内容と食い違いますが(>200はPOSTとGETの両方で使えるようにという質問で。)
URLの後ろにtype=はともかく、type[]=だとなんかプログラム過ぎてお客様に見せたくないとです。
0204nobodyさん2005/10/20(木) 22:18:29ID:???
何その顧客('A`)

わざわざそんな事やって、余計なお世話だって気がするのは私だけだろうか。そうしたいなら止めはしないけど。
0205軟式PHP2005/10/20(木) 22:29:08ID:???
テラアホス
0206nobodyさん2005/10/20(木) 22:33:34ID:???
>>203
いや、URLの後ろにつくわけじゃないんだが…
<form method="post" action="ほげほげ.php">
<?php for($i=0;$i<10;$i++){ ?>
<input type="checkbox" name="check[]" value="$i">
<?php } ?>
</form>
こんな感じじゃ駄目なのといいたかったわけだ
0207nobodyさん2005/10/20(木) 22:39:49ID:???
そんな脳みそでお客様にプログラムを書いてあげることがどうかと。
0208nobodyさん2005/10/20(木) 22:40:59ID:???
>>203
配列をGETで送ってもURLはxxx.php?type[]=xxxにはならないんだが。
0209nobodyさん2005/10/20(木) 22:52:03ID:F9y0WL9y
phpを最近始めました。
C,C++,Javaの経験はあります。

この度スクリプト言語でWebアプリを作ってみようかと思ったので、
phpとperlの両方を調べつつ試している所です。

それで、いろいろなタイプのプログラムを参考にしたいと思っているので、
オープンソースのWebアプリを探しています。

現在、pukiwikiとp2を見ている所です。
他にもサンプルとしていいものがありましたら教えて頂きたく思います。
よろしくお願いします。
ブログ系のアプリも見たいです。

0210nobodyさん2005/10/20(木) 22:53:41ID:???
PukiWikiは・・初めて読むにはあんまりオススメ出来ないような・・・。
0211nobodyさん2005/10/20(木) 23:01:39ID:???
Cやってりゃわかんじゃないの?
似てるよね?
俺の誤認?

他の言語出来んだったらマニュアル読めばいいじゃん。
0212nobodyさん2005/10/20(木) 23:01:44ID:???
CとかJavaの経験があるのなら改めてオープンソースのコードを読む必要はないような…
Cの知識で書きながら判らない所はマニュアルを読めばそれなりに書けるのでは?
後はこのスレで聞きながら。なんだかんだ言ってもこのスレの住人は親切な椰子が多いと思う。
02131842005/10/20(木) 23:01:49ID:???
188,189さんのおっしゃる通りです。

$result = $this->db->Query("SELECT * from data_area");
$rows = pg_num_rows($result);
$columns = pg_num_fields($result);
print("<TR>");
$input_frame = array("<TD><INPUT size=20 type=text name=zip value =$str></TD>","<TD><INPUT size=20 type=text name=address value =$str></TD>);
for($i=0;$i<$columns;$i++){
for($j=0;$j<$rows;$j++){
$str = pg_fetch_result($result,$j,$i);
print("$input_frame[$i]");
}
}
print("</TR>");
このようにして、テキストボックスの中に最初からDBの値を表示させて、
必要ならば値を変更して、再度DBに書き込むようにしようと思いました。

一般的には、このようにする、など教えてもらえないでしょうか。
よろしくお願いします。
0214nobodyさん2005/10/20(木) 23:02:44ID:???
>>209
OScommerceもPHPじゃよ
02152092005/10/20(木) 23:17:21ID:F9y0WL9y
>>210,211,212,209
レスありがとうございます。

言葉不足失礼しました。
言語の勉強にではなく、phpでどういうことがどのようにできるのかというのを
知るためにオープンソースを読んでいます。

Webアプリの経験もあるのですが、サーバサイドJavaや.Netで
スクリプト系の経験がないので、印象としては全く違い良く分かりません。

効率のよい書き方とか共通化のしかたとか
MVCモデルで書けるのかが全く分からないので
その辺りを意識して読みたいと思っています。

>>214
ありがとうございます。
OScommerce自体を知りませんでしたがとても面白そうです。
0216nobodyさん2005/10/20(木) 23:26:32ID:???
>>215
PHPでMVC
http://www.stackasterisk.jp/tech/php/phpMvc01_01.jsp
こういう記事見たり,書籍(まるごとPHP)とか読むのもいいかもしれない.
0217nobodyさん2005/10/20(木) 23:29:02ID:???
hogeDB内のhoge_dbテーブル内のHogeはある物としnaiyoは存在しない場合で

$aaabbb = "naiyo"
$query = "select * from hoge_db where Hoge = '".$aaabbb."'";
$hoge = mysql_query($query) or die("ほげ");

こんな感じのでクエリーが送信された時に
エラーの場合FALSEが返るとあるのですが

if ($hoge == FALSE){
echo "ないらしい";
$nanika = "nairasii";
}
というのを下につけても"ないらしい"が表示されません
間違ったクエリーが投げられた時に
$nanika等をセットしたい時はどうすればいいのでしょうか?
02182092005/10/20(木) 23:38:19ID:F9y0WL9y
>>216
おー。あるんですね。
ありがとうございます。

0219nobodyさん2005/10/20(木) 23:41:49ID:???
>>217
mysql_query()は、クエリーが成功したかどうかを 表すためにTRUE(非ゼロ)またはFALSEを返します。
と教科書にあるわけだが…

以下を50回くらい読み返してください
http://jp2.php.net/mysql_query
0220nobodyさん2005/10/20(木) 23:44:08ID:???
>>217
mysql_queryが失敗した時点で、or dieに制御が移ってスクリプトが終了するんじゃね?
つか「ほげ」って出力されてね?
0221nobodyさん2005/10/20(木) 23:55:57ID:???
>>220
いや表示されなかった(;´Д`)

>>219
そこに書いてある事だと成功したらTRUEが返ってくるんでしょ?
失敗したらFALSE何か違うの?@@
0222nobodyさん2005/10/21(金) 00:01:59ID:???
>>221
URLの先の12行目に

次のクエリーは、文法的には間違っており、 mysql_query()は失敗し、FALSEを返します。

とあるのは読めるよな?
ここで注目する部分は「文法的」の部分だ
>>221が書いたSQL文は間違っていると思うか?
文法的に間違っているというのは以下のようなことではないのか?
$query = "select * form hoge_db where Hoge = '".$aaabbb."'";

0223nobodyさん2005/10/21(金) 00:13:09ID:???
ぼけとは何だ!
02242172005/10/21(金) 00:15:53ID:???
文法的か・・・
確かに217のでは文法的には間違ってはいない筈・・・?

間違ったクエリー投げられた時
どうやってそのクエリーが
間違ったクエリーと判断してるんでしょう?@@

0225nobodyさん2005/10/21(金) 00:20:42ID:???
queryの結果が0件なのは失敗と言いません。これはおk?
02262172005/10/21(金) 00:25:03ID:???
>>225
ありがとうございます
うまくいきました(´・ω・`)
0227nobodyさん2005/10/21(金) 00:29:20ID:???
>>224
>確かに217のでは文法的には間違ってはいない筈・・・?
間違っていないからTRUEが返されている
よってif文に引っかからない

クエリーの判断はあくまでDBが行っている
mysql_query()はDBに対してSQL文を投げつける関数

やりたいことはの9割は出来ているんだから
あとはどうやればやりたいことが実現できるか自分で考えて
ヒントは行数だ
0228nobodyさん2005/10/21(金) 00:37:31ID:???
PHPにぬるぽってありますか?
0229nobodyさん2005/10/21(金) 00:44:25ID:???
>>228
ガッ
0230nobodyさん2005/10/21(金) 01:04:35ID:???
>>228
is_nullpo() が is_null() のエイリアスとして定義されている.
0231nobodyさん2005/10/21(金) 01:18:01ID:???
>>230
信じてしまいました。馬鹿でした。
http://www.google.com/search?hl=ja&q=is_nullpo&lr=lang_ja
0232nobodyさん2005/10/21(金) 01:20:20ID:???
>>231
テラアホスwww
0233nobodyさん2005/10/21(金) 01:23:05ID:???
function is_nullpo($a) { return is_null($a); }
0234nobodyさん2005/10/21(金) 01:35:07ID:???
select * from table
で取り出したデータが例えば

ID   key
1   100
2   130
3   200
4   50
5   95

であるとします。
このときID=2のkeyの値が何番目に大きいかを取得するのに
スマートな方法ってありませんか
いちいちソートしないと駄目でしょうか。
0235nobodyさん2005/10/21(金) 01:36:09ID:???
>>234
SQLでソートしてから取り出せば?
0236nobodyさん2005/10/21(金) 05:28:36ID:???
SELECT で返って来たものって値ですか?参照ですか?

あるカラムにでかいデータが入っているとき
そのカラムをSELECTで取り出すと
そのコピーが与えられるんでしょうか
それともただの参照ですか?

後者ならいいんですが、前者だと効率悪いですよね
0237nobodyさん2005/10/21(金) 06:51:30ID:???
>>236
前者(値渡し)でも効率悪くないので安心しましょう。
PHPはあなたが想像しているより幾分賢いんです。

内部ではrefcountというもので管理されていて(本来はゴミ集め用だが)、まあわかりやすい説明としては、
「文字列・配列・オブジェクトは値を書き換えようとしたときに初めてコピーが作られる」

・・・散々ガイシュツなんだけどね
0238nobodyさん2005/10/21(金) 06:55:43ID:???
PHPのデータの扱いではなく、データベースのカーソルの話のような気がするが。。。
0239nobodyさん2005/10/21(金) 09:11:00ID:???
>>238
236は
>返って来たもの
の話をしているようだけど。

カーソルの話ってよくわからんな。
DBサーバからソケット伝ってくる分はもちろんそのデータの大きさに応じたコストがかかるけど。
それ以上の不必要なコピーは特にないと思われ。
0240nobodyさん2005/10/21(金) 09:31:32ID:???
>>236
238のいうリザルトセットのカーソルの話だとすると
それをDBMSが実装してるか、PHPのドライバが実装してるか
その辺に依存する。普通にやった場合は大抵
リザルトセットは実体をクライアント側(PHP管理下)のメモリーに持ってくるよ。
0241nobodyさん2005/10/21(金) 10:09:01ID:???
>>240
リザルトセットの実体の場所なんて>>236の質問と関係ねーべ。
まさかサーバ側のメモリに配置されたデータに対して「参照かどうか」聞いてるはずないし。
(もしそうだとしたらスレ違い)
0242nobodyさん2005/10/21(金) 10:50:53ID:???
まぁ、なんだ、PHPでの参照(リファレンス)というとPHPの管理下にある実体が存在するわけで、
その実体がPHPの管理下に作られた(DBから取得された)時点で
(DBからの)コピーか参照かの優劣は無くなってるな。
0243nobodyさん2005/10/21(金) 11:13:59ID:+5Hvdb6f
phpというかcgi全般の質問なんですけど、
タイマーみたいな機能(一定時間毎に処理させる)を実現するにはどうしたらいいんでしょうか?
たとえば、あるファイルに日時がついていて、その日時が過ぎれば、違うフォルダに移動させる、みたいな
cgiにアクセスしたら、過ぎた日時のファイルを移動させる、という擬似的なものしか思い浮かばないんですが、
やっぱそんな感じでしか無理なんでしょうか?
わかりにくくてすいません。
0244軟式PHP2005/10/21(金) 11:15:58ID:???
>>243
UNIX,Linuxならcron。
Windowsならタスクスケジューラー。
0245nobodyさん2005/10/21(金) 11:33:30ID:???
>>243
pseudo-cron
http://www.bitfolge.de/pseudocron-en.html
これ思い出した.アクセスがほとんどないサイトだったら使い物にならない.
でも cron が使えないレンタルサーバとかだったらこういう方法しかない.
0246nobodyさん2005/10/21(金) 11:45:43ID:???
imap_fetch_overviewでヘッダ情報を取得したんですが。
fromの値が途中で切れてしまいます。

実際のfromは下記の通りですが
common.gsc <faq@yokohama.riken.go.jp>

取得したfromはこうなってしまいます。""が付くのも謎です・・
"common.gsc"

$head = imap_fetch_overview($mbox,113);
foreach($head[0] as $key => $value)
{
print $key . ":" . $value . "<br>";
}


よろしくお願いいたしマフ
0247軟式PHP2005/10/21(金) 12:09:32ID:???
>>246
それさ、そのまま出力したんじゃ<>で囲まれた部分がタグとして
認識されて表示されないんじゃないのかな?
ソースを表示して見てミソ。
0248nobodyさん2005/10/21(金) 12:11:43ID:???
>>247
おお、ありがとう・・
俺レベル低っ!  orz
0249nobodyさん2005/10/21(金) 12:34:28ID:???
>>248
外部から取得したデータをHTMLとして出力するときは
サニタイズするようにしたほうが身のため.
0250nobodyさん2005/10/21(金) 13:36:08ID:???
phpでポートの監視は可能ですか?
0251nobodyさん2005/10/21(金) 13:48:25ID:???
>>250
監視の意味する所がよく分からんが、いわゆるsocketのbindなら可能。
0252nobodyさん2005/10/21(金) 13:52:07ID:???
>>251
自鯖の状態を、別のサイトから見ようとしてます。
socketのbindですか…調べてみます。ありがとうございました。
0253nobodyさん2005/10/21(金) 14:08:47ID:???
httpサーバーが動いているOSの名前や種類を判別する方法ってありますか?
UNIX系とWindows系でファイルパスの区切りが/と\のように違うので
OSを判別できれば個別にプログラムで対応できるかと思いまして。
0254nobodyさん2005/10/21(金) 14:13:36ID:???
>>252
その目的だとbindではなくてfopenやfile等で自鯖の適当なファイルを
読み込むスクリプトを書いてcronで回すような形になる。
でもワザワザPHPで書かなくてもwget等を使ってシェルスクリプトをcronで回した方が楽だと思う。
02552542005/10/21(金) 14:16:08ID:???
ちょっと言葉足らず。
自鯖のhttpの状態を監視したい場合の話。http以外の監視なら別の手段になるね。
0256nobodyさん2005/10/21(金) 14:17:07ID:???
>>253
仮に出来たとしても
人のサーバーならやめれ
自分の管理のサーバーなら勝手にやって
0257nobodyさん2005/10/21(金) 14:31:02ID:???
配布用途じゃないかなぁ。
まぁでも、あんまり必要じゃないような。

定義済みの定数
ttp://www.php.net/manual/ja/reserved.constants.php
02582532005/10/21(金) 14:32:17ID:???
>>256
一般に公開するときはレンタルサーバー(UNIX)上なんでパスの区切りは
/(スラッシュ)というのはわかっているんですが、公開する間に自鯖で
表示テストなどをするときはWindows上で動くApache+PHPで表示させて
ます。このときはパスの区切りは\(円マーク)になるんでその違いを
吸収させるスクリプトを作りたかったのですが・・・
02592532005/10/21(金) 14:36:26ID:???
>>257
PHP_OSですね。
サンクスです( ´∀`)ノ
0260nobodyさん2005/10/21(金) 14:41:12ID:???
ちなみに、プログラミングやるなら、円マークとか言ってると笑われるぞ?
バックスラッシュって言うようにしといたほうがいいよ。
0261nobodyさん2005/10/21(金) 14:44:03ID:???
”お金のしるし”でいいですか?
0262nobodyさん2005/10/21(金) 14:49:40ID:???
バックスラッシュ書き込みたいんだが意外と難しいな・・・



↑バックスラッシュに見えるか?
0263nobodyさん2005/10/21(金) 14:53:19ID:???
>>254
や、phpのお勉強がてら…。
80以外にも25と110を監視します。

$http = fsockopen($host, 80, $errmp, $errmsg, 1);
echo "http:";
if(!$http){
echo "NG" . "<br>";
}else{
echo "OK" . "<br>";

こんな感じの処理が思いついたんですが、
問題点があったらご指摘願います。
0264nobodyさん2005/10/21(金) 14:54:44ID:???
>>258
・DIRECTORY_SEPARATOR (string)
・PATH_SEPARATOR (string)
http://jp2.php.net/dir
そこに書いてあるとおり拡張(ext/standard/dir.c)での定義だから
使えない環境があると思うけど。

OSの種類、名前は隠してなければPHPINFO、種類だけなら定義済み定数PHP_OS。
他にはunameコマンドの実行結果から取れる可能性もある(Unix系)。

0265nobodyさん2005/10/21(金) 14:56:12ID:???
>>262
たまに\の変わりにその全角バックスラッシュ使う人がいるけど
あれはやめてほしい.. かえって見にくい.
02662642005/10/21(金) 14:59:49ID:???
つかPHPの関数使った方が上手いことやってくれそうだな<uname
http://jp2.php.net/manual/ja/function.php-uname.php
0267nobodyさん2005/10/21(金) 15:00:00ID:???
>>255
Listenしてるかどうかだけならtcpで叩けば万事OKじゃん

>>258
DIRECTORY_SEPARATOR
0268nobodyさん2005/10/21(金) 15:05:18ID:???
>>263
真面目にやるなら、そんな感じで各鯖のポートへアクセス。
んでも接続ブッタ切りになるので、きちんとプロトコルに従って接続終了した方がよいような。
httpならgetなりheadなり。
不真面目というか手抜きというか、psとかのプロセスのリストを取得して
確認したいプロセスが存在するかチェックするPHPスクリプトをwebサーバ経由で叩く。
02692532005/10/21(金) 15:10:11ID:???
>>267
> DIRECTORY_SEPARATOR

(*´∀`)
0270nobodyさん2005/10/21(金) 15:19:26ID:???
>>269
/で統一してればWindows版のPHPは内部でちゃんと処理してくれるから問題ないよ。
0271nobodyさん2005/10/21(金) 15:21:15ID:???
つまり内部じゃないんだろ
0272nobodyさん2005/10/21(金) 15:35:18ID:???
PHPでSQL文は、外だし(外部ファイル化)にする事は可能なのでしょうか?
02732532005/10/21(金) 15:38:16ID:???
>>270
php.iniの設定次第でつか(,,゚д゚)
0274nobodyさん2005/10/21(金) 16:26:12ID:8sbI4mJR
質問です!配列がありまして、「配列の中身が無くなるまでループ」というのはどうやるんでしょう。

ちなみに、配列は $_FILES[] です!
0275nobodyさん2005/10/21(金) 16:28:14ID:???
っ PHPマニュアル
0276nobodyさん2005/10/21(金) 16:30:52ID:???
>>274
おまwwwそれ基礎過ぎだってww
0277nobodyさん2005/10/21(金) 16:32:30ID:8sbI4mJR
while($_FILES){
処理
}

これでできますかー?
ループなのでミスったら怖いから試せません(><)
0278nobodyさん2005/10/21(金) 16:41:13ID:8sbI4mJR
誰か教えて下さい(><)

お母さんに聞いたら、2ちゃんねるならすぐ答えてくれるよって言ってたのに(><)
0279nobodyさん2005/10/21(金) 16:42:53ID:???
自分用の開発環境で、動かしてみましょう。
確実に動作する事が確認できるまでは、間違っても共有鯖に上げてはいけません。
0280nobodyさん2005/10/21(金) 16:43:03ID:???
聞く前に実行してみろ
0281nobodyさん2005/10/21(金) 16:46:14ID:???
if (i++ > 10000) die("stop");とでも放り込んどけ
0282nobodyさん2005/10/21(金) 16:48:17ID:???
みんな付き合いのいい奴だな
0283nobodyさん2005/10/21(金) 16:52:46ID:???
>>277
もしループが止まらなかったらときは
急いでPCの電源ケーブルを引っこ抜けばいい.
そうすれば熱暴走による爆発炎上は避けられる.
0284nobodyさん2005/10/21(金) 16:53:08ID:???
たいていの場合30秒で停止するから便利だな
0285nobodyさん2005/10/21(金) 16:57:41ID:8sbI4mJR
if でやってみたら出来たんだけど、これをループでスマートにならない?(><)



if($_FILES["img1"]["tmp_name"]){
echo "ファイル1あるよ<br>";
$i++;
}
if($_FILES["img2"]["tmp_name"]){
echo "ファイル2あるよ<br>";
$i++;
}
if($_FILES["img3"]["tmp_name"]){
echo "ファイル3あるよ<br>";
$i++;
}
if($_FILES["img4"]["tmp_name"]){
echo "ファイル4あるよ<br>";
$i++;
}
0286nobodyさん2005/10/21(金) 17:01:17ID:???
>>285
while(list() = each()) {
}
または
foreach(){
}
0287nobodyさん2005/10/21(金) 17:03:44ID:???
foreach
0288nobodyさん2005/10/21(金) 17:10:31ID:???
foreach って、二次配列で使ったことないんだけどどうすればいいのですか。

foreach($_FILES as $value){
echo $value."<br>";
}

結果

Array
Array
Array
Array


こっちが「あれ〜ぃ?」と言いたいよ。
0289nobodyさん2005/10/21(金) 17:13:28ID:???
いいからマニュアル読め
0290nobodyさん2005/10/21(金) 17:15:50ID:???
マニュアルとリファレンス本と母親の知識とを総合した結果であります。
0291nobodyさん2005/10/21(金) 17:18:53ID:???
(´-`).。oO(すげえ母ちゃんだな・・・)
0292nobodyさん2005/10/21(金) 17:23:53ID:???
テキストファイル($log_file)から最初の1行目だけ読み込みたいと思っています。
抽出した文字列は$ip_addressという変数に格納したいです。
テキストファイルの最後に改行マークがあっても無くても無視したいのですが
それを実現するもっとも簡単な方法といったらなにがあるでしょうか?

$ip_address = @readfile($log_file);

この方法で読み込むと、文字列以外に意味不明な数字が最後に
付与されてしまいました(おそらく読み込んだバイト数?)
0293nobodyさん2005/10/21(金) 17:25:05ID:???
>>288
不覚にもワロタ
0294nobodyさん2005/10/21(金) 17:25:07ID:???
分からんかったらこれでもつかっとけ
for($i=1;$i<5;$i++){
$img = "img".$i;
if($_FILES[$img]["tmp_name"]){
echo "ファイル".$i."あるよ<br>";
}
}
0295nobodyさん2005/10/21(金) 17:25:07ID:???
>>288
foreach ($_FILES as $array) {
echo $array["tmp_name"]."<br>";
}
0296nobodyさん2005/10/21(金) 17:29:31ID:???
やっべ、>>295に感動した。まさにコレをしたかったんです!

ありがとうございまっする(≧▽≦)フォー
0297nobodyさん2005/10/21(金) 17:31:32ID:???
>>292
とりあえず
$ip_address = trim(fgets(fopen($log_file, "r")));
0298nobodyさん2005/10/21(金) 17:34:54ID:tv2tmgT4
×××○○○××××××
×××△△△××××××
×××□□□××××××
×××☆☆☆××××××
・・・
(この先同じような形がずっと続く)

上の文字列を下のような形に書き換えるには
どういう正規表現を使ったらいいのでしょうか?
×××○○○××××××○○○
×××△△△××××××△△△
×××□□□××××××□□□
×××☆☆☆××××××☆☆☆
説明が下手ですみません

0299nobodyさん2005/10/21(金) 17:37:08ID:???
>>234
SQLでWHEREしてカウント
0300nobodyさん2005/10/21(金) 17:39:35ID:???
>>297
trimなんて便利な関数が有ったんですか。
どうもです
0301nobodyさん2005/10/21(金) 17:48:39ID:???
>>298
同じ記号は同じ文字を表してる?
たとえば
×××○○○×××××× なら
AAABBBAAAAAA
っていう具合?
もうちょっと具体的な文字列を教えてもらえると答えやすいと思う.
0302nobodyさん2005/10/21(金) 17:55:53ID:???
アミノ酸とか遺伝子系かしら・・
0303nobodyさん2005/10/21(金) 18:01:29ID:tv2tmgT4
アマゾンですた・・
<img src="http://rcm-images.amazon.com/images/P/4532074045.09.LZZZZZZZ.jpg" border="0">

<img src="http://rcm-images.amazon.com/images/P/4582277276.09.LZZZZZZZ.jpg" border="0">

<img src="http://rcm-images.amazon.com/images/P/4753392058.09.LZZZZZZZ.jpg" border="0">

<img src="http://rcm-images.amazon.com/images/P/4785611812.09.LZZZZZZZ.jpg" border="0">
<img src="http://rcm-images.amazon.com/images/P/4794212402.09.LZZZZZZZ.jpg" border="0">

<img src="http://rcm-images.amazon.com/images/P/4806756180.09.LZZZZZZZ.jpg" border="0">
0304nobodyさん2005/10/21(金) 18:09:07ID:tv2tmgT4
すいません、説明不足でした。
imgタグにリングをはりたいんです。
<a href=http://www.amazon.co.jp/exec/obidos/ASIN/4806756180>;<img src="http://rcm-images.amazon.com/images/P/4806756180.09.LZZZZZZZ.jpg" border="0"></a>
0305nobodyさん2005/10/21(金) 18:15:30ID:???
>>303
そのデータはどういうふうに存在してるの?
HTMLの中?
<html><body>hogehoge<img src="http....

$img = '<img src="http....
みたいにそのデータだけが入ってたり,配列にひとつひとつ入ってたりしないよね?
0306nobodyさん2005/10/21(金) 18:25:47ID:tv2tmgT4
それ以外なにもないhtmlファイルかtxtファイルどちらでも
よいです。
file関数でよみこみ、配列を分解するとき、変数の
10桁の数字を<a href・・・にくっつける
という方法がありますけど、どうやってそれをするか
分かりません

0307nobodyさん2005/10/21(金) 18:28:07ID:tv2tmgT4
PHPの正規表現のそういうとこが
他の言語よりなんかむずかしく感じます
0308nobodyさん2005/10/21(金) 18:29:35ID:???
CGI版PHPについて質問させてください。PHPのバージョンは5.0.3です。
#!/usr/local/bin/php
<?php
echo 'ぬるぽ';
?>
これはLinux上では正常に動作しましたが、Windows上では(Premature end of script headers)ヘッダーが変だと警告がでました。そこで、
#!C:\php\php
Content-Type: text/html

<?php
echo 'ぬるぽ';
?>
こうすると(ぬるぽ)正常に動作しましたが、今度はLinux上ではContent-Typeから全部出力されてしまいました。

Windows上で初めの方法でも動作するようにするにはどうすればよいのですか?
0309nobodyさん2005/10/21(金) 18:46:25ID:???
可変数個の引数を取る関数をPHPで記述するにはどうしたらいいでしょうか?
C言語で言うargc、argvのような機能があれば嬉しいです。
0310nobodyさん2005/10/21(金) 18:53:34ID:???
   〃∩ ∧_∧
   ⊂⌒( ´・ω・)くぜんぶマニュアルに書いてあったでつ
     `ヽ_っ⌒/⌒c  ttp://www.php.net/manual/ja/functions.arguments.php
0311nobodyさん2005/10/21(金) 19:06:54ID:???
>>310
どうもでつ( ´・ω・)っ
0312nobodyさん2005/10/21(金) 19:16:10ID:???
結局>>303-304ぐらいの正規表現も書けない人間が集まっているスレです。

つ preg_replace
0313nobodyさん2005/10/21(金) 19:20:26ID:tv2tmgT4
>>312
preg_replaceってperlの正規表現が
PHPで使えるような関数だったっけ?
ずっと前それでやったけど
結局できないままです。

できるんだったら教えてください
0314nobodyさん2005/10/21(金) 19:39:33ID:???
出来るからマニュアル片手にやってみれ
0315nobodyさん2005/10/21(金) 19:44:28ID:???
>>313
つ 詳説正規表現
0316nobodyさん2005/10/21(金) 20:00:42ID:tv2tmgT4
>>315
それ一応もってるんですけど
読むひまがなくて・・
0317nobodyさん2005/10/21(金) 20:07:19ID:???
>>316
ここ見てる暇があるなら読めよwww
0318nobodyさん2005/10/21(金) 20:10:13ID:???
回答者がそろそろ疲れて(呆れて)きたようです
0319nobodyさん2005/10/21(金) 20:12:11ID:???
というか、正規表現の質問だからスレ違いな罠
0320nobodyさん2005/10/21(金) 20:12:46ID:???
何だこの流れは
0321nobodyさん2005/10/21(金) 20:12:57ID:???
そこまで言うなら貼ってやれよ

正規表現道場@2ch Part4
http://pc8.2ch.net/test/read.cgi/php/1105930285/
0322nobodyさん2005/10/21(金) 20:54:12ID:HUuZEDtu
アホな質問ですいません。超初心者なもので。ただいま勉強中です。

データベース(mysql)の更新をphpでさせようと
input type="text" size="3" name="test" value=""
value値にnullを設定してみました。
フィールドタイプがtextになっていれば、null値が代入されるのですが、
フィールドタイプがintの所だと、0になってしまうのです。
null値を代入したいときはどうすればいいのでしょうか。
0323nobodyさん2005/10/21(金) 20:57:34ID:???
>>322
PHPの質問じゃない。
MySQLのスレ池。
0324nobodyさん2005/10/21(金) 20:58:07ID:HUuZEDtu
>>322 フィールドタイプがtextでもnullではありませんでした。0ではないだけで、唯の空白でした。
0325nobodyさん2005/10/21(金) 20:59:03ID:HUuZEDtu
>>323 そうでしたか。ありがとうございました。そっちへ行ってみます。
0326nobodyさん2005/10/21(金) 21:11:34ID:???
>>322
NULLはNULLであって、NULL以外の何物でもない
0327nobodyさん2005/10/21(金) 21:24:35ID:HUuZEDtu
>>326 value="null" ならどうなんでしょうか。

やっぱりダメでした。

スレ違いなのにすいません。
0328nobodyさん2005/10/21(金) 21:27:16ID:???
>>327
だからvalueが空だったらDBには「NULL」を入れるのだよ。
0329nobodyさん2005/10/21(金) 21:37:59ID:???
長さ0文字の文字列≠NULL値≠文字列"NULL"
基本のような気が
0330nobodyさん2005/10/21(金) 21:49:27ID:???
hogeDBにhogetable1,hogetable2があって
hogetabale1には
a b d
1 2 3
5 6 7
8 9 0

hogetable2には

ggg
hhh
iii

と入ってた場合
while ($row = mysql_fetch_assoc($result){
echo<<<HOGE
<p>$row[a]</p>
<p>$row[b]</p>
<p>$row[c]</p>
<p>$row[d]</p>
HOGE;
}
これを表示するにはどうすれば良いのでしょうか?
0331nobodyさん2005/10/21(金) 21:52:12ID:???
>>330
つ JOIN


ってか、スレ違い大杉
0332nobodyさん2005/10/21(金) 21:56:20ID:???
今日はDB関連多いね.
03333302005/10/21(金) 21:59:25ID:???
>>331
sql文で解決の話だったのね(´・ω・`)
ありがd
0334nobodyさん2005/10/21(金) 22:00:11ID:HUuZEDtu
>>328 どうすればvalueを空に出来ますか?
ホント馬鹿ですいません
0335nobodyさん2005/10/21(金) 22:06:27ID:???
>>334
空は空って事じゃね?
0336nobodyさん2005/10/21(金) 22:11:12ID:???
ああ,そうか,つまり空っぽってことだな?
0337nobodyさん2005/10/21(金) 22:14:34ID:???
>>334
いい加減スレ違いだからどっか行ってほしいんだけど、とりあえずね。

>どうすればvalueを空に出来ますか?

valueを空にするんじゃなくて、
valueが空だったら、DBにNULLを入れる

と、言っておろうが、このタワケ!

0338nobodyさん2005/10/21(金) 22:16:19ID:???
>>334
これあげるから、どっか行ってね。

$value = $_GET['test'];
$value = ($value == '') ? 'NULL' : "'" . mysql_escape_string($value) . "'";

$sql = 'INSERT INTO hoge(column) VALUES(' . $value . ')';
mysql_query($sql...
0339nobodyさん2005/10/21(金) 22:21:00ID:HUuZEDtu
ありがと
0340nobodyさん2005/10/21(金) 22:21:41ID:???
(´-`).。oO(馬鹿を免責にしてるな・・・)
0341nobodyさん2005/10/21(金) 22:26:37ID:???
結局丸ごとソースを書いてもらえるのを待っていたという事だな…
0342nobodyさん2005/10/21(金) 22:26:58ID:???
馬鹿です,とか超初心者です,とか言われると,
答えたくなくなるね.
むしろ脅すぐらいの勢いで質問されたい.
0343nobodyさん2005/10/21(金) 22:35:04ID:???
やい、コラ! テンメェ教えろ!
ボケ!カス!アホンダラ!
教えねぇと、けつから手ぇ突っ込んで、奥歯ガタガタ言わせたろうか?
アンッ?
0344nobodyさん2005/10/21(金) 22:43:14ID:???
>>343
is_nullpo()
0345nobodyさん2005/10/21(金) 23:38:22ID:???
>>342
ですなぁ・・・

関数フニフニを使ってパフパフさせたいです。
これこれのエラーが発生しました。
エラーメッセージはプヨプヨで、その発生ラインは69です。
69の前のソースはプルプルです。見てください。
どのようにして解決すればいいのでしょうか?

せめてこれくらい提示してほしいな。答えにくい質問多すぎ。。。
0346nobodyさん2005/10/21(金) 23:43:06ID:???
このスレは、エスパー能力を開花させようと日々努力する人々が集うスレです。
0347nobodyさん2005/10/21(金) 23:44:05ID:???
関数フニフニを使ってパフパフさせたいです。
これこれのエラーが発生しました。
エラーメッセージはプヨプヨで、その発生ラインは69です。
69の前のソースはプルプルです。見てください。
どのようにして解決すればいいのでしょうか?
0348nobodyさん2005/10/21(金) 23:45:47ID:???
>>347
プヨプヨというエラーメッセージはフニフニをパフパフさせる時に起こるため、
ライン69以前のプルプルをブルブルにして改善すればよいでしょう。
0349nobodyさん2005/10/21(金) 23:47:30ID:???
>>348
> プヨプヨというエラーメッセージはフニフニをパフパフさせる時に起こるため、

そうさせたいと書いているんですが
0350nobodyさん2005/10/21(金) 23:52:06ID:???
hogehogeの類と察することもできないのか・・・
0351nobodyさん2005/10/21(金) 23:54:40ID:???
ってもうレスあったか
0352nobodyさん2005/10/21(金) 23:54:42ID:???
↓下らねぇ質問
0353nobodyさん2005/10/22(土) 00:01:01ID:???
先生、あそこが黒いんです。どうしてですか?
0354nobodyさん2005/10/22(土) 00:02:07ID:???
良スレの予感
0355nobodyさん2005/10/22(土) 00:10:27ID:???
↓百済ねぇ質問
0356nobodyさん2005/10/22(土) 00:16:50ID:???
print より echo を使ったほうが地球にやさしいって本当ですか?
0357nobodyさん2005/10/22(土) 00:17:41ID:???
ベンチとって出直して来い
0358nobodyさん2005/10/22(土) 00:35:36ID:???
1)-----------------
print 'hogehoge';

2)-----------------
echo 'hogehoge';

3)-----------------
?>
hogehoge
<?php
-------------------

便秘に効くのはどれが一番?
0359nobodyさん2005/10/22(土) 09:27:31ID:???
ごぼうくっとけ
0360nobodyさん2005/10/22(土) 10:33:18ID:JcGskMr8
ベンチとれと言われそうだけどeregとpreg_matchはどっちが早いの?eregが早いと聞いたが誰か確認した人いないの?
0361nobodyさん2005/10/22(土) 10:36:27ID:???
eregは僕だけのものです。誰にも渡しません。
0362nobodyさん2005/10/22(土) 10:37:56ID:???
>>360
全ての条件においてベンチとれ
0363nobodyさん2005/10/22(土) 11:51:49ID:???
最近ベンチとれ厨大量発生だな
「ググれ」と同じ感覚で使ってるらしいな
0364nobodyさん2005/10/22(土) 12:30:22ID:???
>>360
マニュアルも読まないで「聞いたが」とは素晴らしいな
0365nobodyさん2005/10/22(土) 12:39:48ID:???
マニュアルは前のエンジンのときに書かれたやつだからね
0366nobodyさん2005/10/22(土) 12:40:35ID:???
>>358 のなぞなぞがわかりません<>
0367nobodyさん2005/10/22(土) 12:44:15ID:???
>>363
最近2chに来たのかな?
03683632005/10/22(土) 12:47:49ID:???
え、俺?
0369nobodyさん2005/10/22(土) 13:07:30ID:???
クリックしたら写真とその下にその写真のEXIFを表示するページへのリンクをPHPで
作りたいんだけどどうしたらいいとおもう?

普通のリンクって
<a href="hoge.html">俺のここを押してみろ</a>
こんな感じでしょ。

それに写真のファイル名やらを関数の引数か何かで渡してやって表示させてやりたい。
0370nobodyさん2005/10/22(土) 13:10:59ID:???
<a href="hoge.php?name=jagi">俺の名前を言ってみろ</a>
0371nobodyさん2005/10/22(土) 13:13:48ID:???
>作りたいんだけどどうしたらいいとおもう?
何か模索しているような口ぶりで実は丸投げ君
03723692005/10/22(土) 13:17:07ID:???
>>370
おれも最初それを考えた。
だが可変数個の複数の写真を縦列で並べて表示したいときどうすれば
いいんだということで見事に行き詰まった。
03733692005/10/22(土) 13:20:01ID:???
写真に加え、2,3コメントも併せて表記したくなる可能性もある。
関数の引数なら可変数個の実装は用意だし、変数の末尾が".jpg"で
終わるか否かで写真なのかコメントStringなのか容易に判別が付く。

そこで関数でパラメータを受け付けられないかと思ったわけだが
それをリンクとどう絡めたらいいかでさっぱり分からなくなっちまった・・・
0374nobodyさん2005/10/22(土) 13:24:09ID:???
>>369
>>373
頑張れ
応援してる

完成したらここで発表するといい
【PHP】自作スクリプト発表会
http://pc8.2ch.net/test/read.cgi/php/1017456911/l50
0375nobodyさん2005/10/22(土) 13:27:20ID:???
応援だけかよwww
03763692005/10/22(土) 13:27:51ID:???
(´・ω・`)ショボーン
0377nobodyさん2005/10/22(土) 13:31:12ID:???
>>375
そもそも「"PHPの"質問」になってないんで、それ位しかできません
アルゴリズムの問題なら他の言語でもできるわけで
03783692005/10/22(土) 13:33:01ID:???
すこし難しすぎたか(´・ω・`)・・・
0379nobodyさん2005/10/22(土) 13:33:14ID:???
写真の情報とかコメントとかはDBか何かの中に入ってるの?

<a href="image.php?name=foo.jpg">画像リンク1</a>
<a href="image.php?name=bar.jpg">画像リンク2</a>
<a href="image.php?name=hoge.jpg">画像リンク3</a>

ってあって,
image.php で,$_GET['name'] 使って情報とコメント取得してごにょごにょ・・
という単純な話ではない?
0380nobodyさん2005/10/22(土) 13:39:19ID:???
必要な条件は最初から言えと何度言えb(ry
file%5B%5D=file1&file%5B%5D=file2...
$_GET
03813692005/10/22(土) 13:39:29ID:???
うん。データベース云々という話は全くない状態

$_GET['name']

で任意の数の複数のパラメータを受け取れればそれに超したことは無いんだけど無理歩でしょ?
0382nobodyさん2005/10/22(土) 13:43:10ID:???
>>380
> file%5B%5D=file1&file%5B%5D=file2...
> $_GET

( ゚д゚)ポカーン
0383nobodyさん2005/10/22(土) 13:49:20ID:???
>>381
>$_GET['name'] 
>
>で任意の数の複数のパラメータを受け取れればそれに超したことは無いんだけど無理歩でしょ? 

やろうと思えばオブジェクトだろうが多次元配列だろうが突っ込めますけど?

<a href="image.php?name1=aaa.jpg">画像リンク1</a> 
<a href="image.php?name1=bbb.jpg&name2=ccc.jpg&name3=ddd.jpg">画像リンク2</a> 
<a href="image.php?name1=ddd.jpg&comment1=氏ね">画像リンク3</a>

こういうこと? 
何をやろうとしてるのか理解できないです<>
0384nobodyさん2005/10/22(土) 13:58:42ID:???
なにやら昨日のDB関連の質問の香ばしさを感じますな
0385nobodyさん2005/10/22(土) 14:00:09ID:???
>>370
ヂャギー
0386nobodyさん2005/10/22(土) 14:04:04ID:???
転用自由なXMLパーサー誰か作ってませんか?
0387369NGNG
>>383
そうそう。そんな感じでいくつでも画像ファイルを加えていったり
気が向いたらコメントもあわせて表記していきたいのよ。

でもそれだと受信する方のPHPでそれぞれのパラメータにあらかじめ対応
させておく必要があるのね。
0388nobodyさん2005/10/22(土) 14:10:22ID:???
配列使えよ
0389nobodyさん2005/10/22(土) 14:18:26ID:???
>>387
>>380が言ってるようにやってみな
1.php
<a href="2.php?file%5B%5D=file1&file%5B%5D=file2&str%5B%5D=str1&str%5B%5D=str2">link</a>
2.php
print_r($_GET);
0390nobodyさん2005/10/22(土) 14:29:00ID:???
>>387
複数のファイル名を URL に埋め込むのは良いとしても,
コメントを埋め込むのはどうかと思うよ?
コメントって画像ファイルに対して追加されるんでしょ?
それなら image.php のほうで,画像ファイル名を元にコメントを引っ張り出せるよね?

<a href="image.php?files=aaa.jpg,bbb.jpg,ccc.jpg">画像リンク</a>
ってあって,
@ image.php
$files = explode(',', htmlspecialchars($_GET['files']));
foreach ($files as $file) {
     $comment = getComment($file);
     // 以下,各々のファイルに対する処理
     ......
}
でいいと思うんだけど.
0391369NGNG
>>389
> 1.php
> <a href="2.php?file%5B%5D=file1&file%5B%5D=file2&str%5B%5D=str1&str%5B%5D=str2">link</a>
> 2.php
> print_r($_GET);

こ、これはいったい何?
?file%5B%5D=
って文字列初めてみた・・・。
ところでfile1、file2にJPEGファイルを、st1, str2にコメントを
かけばいいのかな?

>>390
> <a href="image.php?files=aaa.jpg,bbb.jpg,ccc.jpg">画像リンク</a>
> $files = explode(',', htmlspecialchars($_GET['files']));

そうか、この手があったか!区切り文字を決めて受け手のPHP側でその文字を
参考にセパレートしていけばいいんだよね。それなら画像ファイル名と
コメントを順番に羅列していけばいいだけになる。配列とかオブジェクトとか
面倒なものは使わずにすむね。それこそ「つれづれなるままに」だし。
0392nobodyさん2005/10/22(土) 16:21:20ID:???
>>386
「転用」だけでは分からない.
転用したものを商品として売るのか無料で公開するのか,
あるいは単にバンドルするだけなのか..

PHP License でいいならこの辺.
http://pear.php.net/package/XML_Parser
http://pear.php.net/package/XML_Serializer
03933692005/10/22(土) 19:46:26ID:???
>>390
重ねて礼をいわせてくれ。
あんた天才やな( ゚Д゚)
0394nobodyさん2005/10/22(土) 20:48:15ID:???
>>393
もう、恥ずかしいから出てくるなよ。
0395nobodyさん2005/10/22(土) 21:14:23ID:???
馬鹿に天才と言われてもなぁ…
0396nobodyさん2005/10/22(土) 21:34:48ID:???
なーんか下らねぇ質問書き込まれないかなぁー
0397nobodyさん2005/10/22(土) 21:39:05ID:???
下らねぇ椰子からの質問は書き込まれるんだけどね…
0398軟式PHP2005/10/22(土) 22:05:09ID:???
お前らヒドスw
0399nobodyさん2005/10/22(土) 22:25:22ID:???
すいません、PHPでCを書きたいんですがどうしたらいいですか?
0400nobodyさん2005/10/22(土) 22:28:17ID:???
>>399
echo 'C';
0401nobodyさん2005/10/22(土) 22:32:01ID:???
>>400
感動した
0402nobodyさん2005/10/22(土) 22:52:31ID:???
pngにするにはどうしたらいいんですか?
0403nobodyさん2005/10/22(土) 22:55:26ID:???
ImageMagick等の外部コマンドを使うのが楽。
0404nobodyさん2005/10/22(土) 23:03:26ID:???
>>402
$filename = preg_replace('/\..+$/', '.png', $filename);
0405nobodyさん2005/10/22(土) 23:08:55ID:???
>>404
GJ
0406nobodyさん2005/10/22(土) 23:09:25ID:???
なんか、下らねぇ椰子が答えるスレになってきたな…
0407nobodyさん2005/10/22(土) 23:20:34ID:???
何を今更
0408nobodyさん2005/10/23(日) 00:22:44ID:???
>>406
ワロス
0409nobodyさん2005/10/23(日) 00:40:48ID:???
質問です。

アクセスした際にテキストファイルのサイズをチェックし、想定よりデータが追加されるまで10秒程度処理をポーリングするプログラムを組みました。
具体的には下の通りです。

for($i = 0; $i < 5; $i++)
{
if ($nFileSize >= filesize($strFileName))
{
 sleep(2);
 continue;
}
//ここに読み込む処理とprintとreturn
}// end of while

ですが、これだとこのポーリング中にファイルの更新があってもfilesizeが更新されないようなのです。
もしかしてPHPは、(負荷軽減のために?)一度取得したfilesizeをキャッシュしてしまうのでしょうか?
回避方法があれば知りたいです。よろしくお願いします。
0410nobodyさん2005/10/23(日) 00:41:01ID:???
>>406
ワロス
0411nobodyさん2005/10/23(日) 00:41:51ID:???
>>409
まずマニュアルぐらいよめ。
http://jp2.php.net/manual/ja/function.filesize.php
0412nobodyさん2005/10/23(日) 01:12:52ID:???
>>409
つ [clearstatcache]
0413nobodyさん2005/10/23(日) 01:18:50ID:???
>>409
>もしかしてPHPは、(負荷軽減のために?)一度取得したfilesizeをキャッシュしてしまうのでしょうか? 

ここまで予測できてるのに答えにたどりつけなかったのはなぜ・・・
0414nobodyさん2005/10/23(日) 01:27:51ID:???
>>411-413
ありがとうございます。
初心者向けサイトで勉強中だったもので、マニュアルがネット上にあるとは…。
ブックマさせていただきましたので、今後はそこ読んでなんとかしてみます。
0415nobodyさん2005/10/23(日) 03:48:56ID:???
関数名で検索すればマニュアルくらいすぐ見つかりそうなもんだけどなぁ・・・
まあ特にテンプレを用意していないこのスレと、
スレタイに「質問」と入っていない本質問スレの問題もあるんだろうけど
0416nobodyさん2005/10/23(日) 04:55:40ID:b9OcfJpc
MySQL使う場合って、PHPより先にインストールしないとダメなの?
MySQLは単独で動くんだけど、PHPから接続が出来なくて。
0417nobodyさん2005/10/23(日) 04:59:01ID:???
>>416
PHPのインストールの仕方にもよる。
ソースインストールでMySQL拡張を静的に有効にする場合は
MySQL(のクライアントライブラリ)を先にインストールしとかないと駄目だね。
0418nobodyさん2005/10/23(日) 05:18:42ID:b9OcfJpc
>>417
rpmインストールでも、MySQLをPHPより先にインストールしないと駄目?
0419nobodyさん2005/10/23(日) 06:47:40ID:ulqHd62c
PHPでタイマーみたいな事って出来ますか?
決められた時刻に処理を実行するみたいな・・・・
0420nobodyさん2005/10/23(日) 08:24:47ID:???
>>419
cronジョブ
0421nobodyさん2005/10/23(日) 08:42:38ID:VoqKVXZC
>>415
禿同。

【php】part29【php】
http://pc8.2ch.net/test/read.cgi/php/1120611474/

には早く埋まって欲しい(orできれば落ちて欲しい)ものだ。
今の本スレ立って以来700レス弱の間に、くだスレはすでに5スレ1000まで消費+このスレも消費し尽くしそうな勢いという異常な状況。
みんな、スレタイは大事だよ。
0422nobodyさん2005/10/23(日) 08:55:41ID:???
ここが本スレで良いじゃん。

04234212005/10/23(日) 09:00:33ID:VoqKVXZC
まあそれはさておき、次の本スレ(part30)にはFAQなんかもあるといいのでは?

・ブラウザに何も表示されないんだけど・・・ → error_reporting、display_errors、log_errors
・include/requireに?a=b&c=dのようなパラメータつけたい → できません
・$a1,$a2,$a3...はどうしたら? → 可変変数・・・というかむしろ配列使え
・echo "$arr['hoge']['fuga']"; がうまくいかない → {おっぱい括弧}でくくれ
・echo?print? → echoはコンマ区切りで書ける。printは関数。パフォーマンスは気にするな
・値渡し・参照渡しのパフォーマンス → これまた気にするな
・csvやtsvを扱いたい → まずはfgetcsv
・ファイル入出力関数でリモートファイル扱う際の限界 → fsockopenでソケット通信
・一定時間ごとに何かしたい → cron
・画像処理一般 or GDの限界 → ImageMagick
・画像・音・動画はファイルで保存?DBに保存? → 好きにしてください
・クッキーの情報をユーザから隠したい → セッション使え

あたりの質問は頻出と言える希ガス。(他にも頻出するものけっこうありそう)
実際テンプレに載せるならもっと丁寧に書くべきだが、まあとりあえず案として。
DB、OO、PEAR、フレームワーク、テンプレート、正規表現、などの質問は誘導って感じの方向かな。
04244212005/10/23(日) 09:02:24ID:???
>>422
ああ、たしかにそうだな。こっちが本スレな雰囲気になりつつあるか・・・。
0425nobodyさん2005/10/23(日) 09:21:57ID:???
>>418
インストールの方式がrpmを利用してても、
その辺はそのrpmのパッケージの作りによるが。

まあRHELの公式のパッケージあたりだと、後からで問題ない。
必要なのは
・php本体のパッケージ
・php-mysqlパッケージ(PHPのMySQL拡張のためのパッケージ)
・MySQL-serverのパッケージ
あとMySQL-clientにも依存してたかも(libmysqlパッケージってなってるかも)
依存関係はrpm使ってたら注意がでるので、解消しながら入れればいい。
yumを使ったrpmパッケージ管理の場合は俺は良くわからん。
0426nobodyさん2005/10/23(日) 09:23:05ID:???
それじゃ次スレの>>1は仕切りなおしか。
いずれにせよテンプレはしっかりしたものが要るんジャマイカ?
今のままだと、>>423みたいな質問が繰り返されるってのも去ることながら、

「このスレってスレタイと合ってなくね?」

「本スレのスレタイがね・・・」

というやりとりも定期的に繰り返されることになる悪寒。
0427nobodyさん2005/10/23(日) 09:45:05ID:???
質問するやつぁテンプレなんか見るわけない罠
0428nobodyさん2005/10/23(日) 09:58:12ID:FVsmFciD
smartytとの連携なのですが

[$arr]
0 => Array (2)
main => Array (13)
id => 1
date => 2005/10/19(Wed) 12:52:36
res => Array (2)
0 => Array (12)
id => 2
date => 2005/10/19(Wed) 14:10:04
1 => Array (12)
id => 3
date => 2005/10/19(Wed) 14:18:44

このような連想配列をテンプレート側で表示する場合
.tpl側にはどのように記述するのでしょうか

{section name=main loop=$arr}
ID: {$arr[main].main.id}
DATE: {$arr[main].main.date}<br>
{section name=res loop=$arr[main].res}
ID: {$arr[main][reply].res.id}
DATE: {$arr[main][reply].res.date}<br>
{/section}
<hr>
{/section}

こうした場合main表示は問題なく、resのループ回数も合いますが
res の方だけ id date などの値が入りません・・
0429nobodyさん2005/10/23(日) 10:01:55ID:FVsmFciD
すいません、[reply]は[res]に訂正です
0430nobodyさん2005/10/23(日) 10:09:25ID:FVsmFciD
すいません解決しました
{$arr[main].res[reply].id}
こういう書式みたいです
0431nobodyさん2005/10/23(日) 10:09:43ID:???
echoやprintで出力しようとしたものって、phpスクリプトの実行が終わってから
ブラウザに出力されているように感じるのですが
それをphpスクリプトの実行途中に出力させる関数ってないですかね?
0432nobodyさん2005/10/23(日) 10:15:14ID:???
>>427
質問者がテンプレ読もうが読まなかろうが、読んでない香具師には>>1嫁ですむのがテンプレの意義
04334182005/10/23(日) 10:15:24ID:???
>>425
>・MySQL-serverのパッケージ

これインストールしてなかったよー。すんごく初級レベルで恐縮だけど、マジ超助かった。
0434nobodyさん2005/10/23(日) 11:14:34ID:???
テンプレ案いいね.
0435nobodyさん2005/10/23(日) 11:35:22ID:???
そのテンプレは長すぎるな。良く質問されるのを厳選しないと。
初め少なめで必要に応じて増やす形にしないと1-100までテンプレという事態になって良い情報が埋もれるよ。

質問する前に
・マニュアルを嫁
・マニュアルを検索汁
・ググれ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで

質問テンプレ
・マニュアルを調べたか、google検索したか(調べたキーワード)
・タイトル(禁:教えてください!etc)
例:requireとinclude
・内容
例:requireとincludeはどう違うのですか?

・回答者は>>(アンカー)をつける。
0436nobodyさん2005/10/23(日) 11:37:06ID:???
テンプレに反対するわけではないけど、
あまりにも、基本的な質問をしてくる奴に、
皆でよってたかって「親切に」攻撃する、
そんな一連の流れが、ボキは好きだなぁ…
そんな流れが少なくなるのはチト寂しい…
0437nobodyさん2005/10/23(日) 11:51:22ID:???
くだスレはそのままで、本スレにテンプレを持っていくほうが良いかもな。

追加
・正規表現については正規表現道場スレで
・Smartyについてはこの板を検索
・オブジェクト指向については良スレがないから本を買え
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)

こんなのはどうだろう。
・何も出力されない、エラーメッセージが出ない
error_reporting、display_errors、log_errors
・echo "$arr['hoge']['fuga']"; がうまくいかない
{おっぱい括弧}でくくれ
・Perlのようにprintに複数の引数を渡したい
echoを使う
・csvやtsvを扱いたい
まずはfgetcsv
・ファイル入出力関数(fopen等)でリモートファイルを扱う際の限界
fsockopenでソケット通信で解決
・一定時間ごとに何かしたい
cron、タクススケジューラ
・画像・音・動画はファイルで保存?DBに保存?
好きにしてください
・クッキーの情報をユーザから隠したい
セッション使え、ただしクッキーとセッションは仕組みが違うから同じように扱うな
0438nobodyさん2005/10/23(日) 12:06:13ID:???
すみませんが、>>308についてお分りになる方はいらっしゃいませんか。
0439nobodyさん2005/10/23(日) 12:10:39ID:???
マニュアル読め



テンプレ読め

になるだけじゃ・・・
0440nobodyさん2005/10/23(日) 12:34:27ID:???
くだ質の存在意義について
0441nobodyさん2005/10/23(日) 12:35:36ID:???
>>439
そりゃそうかもしれんが、FAQなんてあって害になるわけでもないでしょ。

本スレにはきちんとテンプレ用意して、質問者・回答者ともにレベル向上の方向で、
そしてここのくだスレでは>>436のような要望にもお答えしつつ(?)、マターリやったらいいんでない?
時には本スレから誘導されちゃう質問者とかも、いじるなりなんなりしてやってくれよ。

とにかく本スレが死んでるに近いから、このスレでいわゆる「くだらなくない」有益な情報まで埋もれやすくなっているのはイクナイと思いマッスル。

ところで、以前の本スレのテンプレにあった「エスパーきぼんぬの八カ条」も個人的にはけっこう好きだったんだがw
(まあ微妙っちゃ微妙か・・・)
0442nobodyさん2005/10/23(日) 12:44:01ID:???
>>438
回答が無かった状況も鑑みると
PHP上での話なら「書き換えず実行する方法はない」
もしくは、あえてするなら、
 c:\usr\local\bin\にphp.exeを配置する
程度ではないかと。

私はいつも書き換えてますが・・・そうしょっちゅう書き換えるもんでもないし。
サーバーの設定によってはできるのかも知れませんが(私はそちら方面にはあまり明るくないので)。
0443nobodyさん2005/10/23(日) 12:54:22ID:???
>>441
>ところで、以前の本スレのテンプレにあった「エスパーきぼんぬの八カ条」も個人的にはけっこう好きだったんだがw 
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
詳しく.
0444nobodyさん2005/10/23(日) 13:10:48ID:???
漏れも好きだったんで探してきた
作った人GJ
----
「エスパーきぼんぬ」「氏ね」「(゚Д゚)ハァ?」等のレスを貰う八ヶ条。
1. ハードウェア、OSのバージョン等には一字一句触れない。
2. 大切な個人情報が漏れるとまずいので、己の行った操作、変更などは秘密。
3. エラーメッセージの類は決して書かない。「エラーが出るんです」で留める。
  目の前で生じている現象をそのまま具体的に書くなどもっての外。
  事実より俺様の脳内解釈を優先すべし。
4. 独り言文体で必勝。
  「…なんだけど、どうすればいいのかなぁ」「何が悪いんだろう?」
5. 「急いでいます」「困っています」等、自分の都合を全面に押し出す。
6. もう試したことを得意げに指摘してくる奴には、厳しく対応。
  「それが駄目だったから質問してるんです」「それはもう試してみて駄目でした」
  "どう"だめだったのか、本当に実際それを行ったかどうかなんか問題じゃない。
7. ストレートに答えを書かないもったいぶったレスには、逆切れで対応。
  「だからどうすればいいんですか?」「分からないなら引っ込んでろやゴルァ」
  示されたURL等を参照するなんて態度は、回答者を甘やかすことに他ならないので
 絶対に避ける。
8. 情報は小出しに。

「エスパーきぼんぬ」 補足
上の八ヵ条を「一つでも」満たす者は質問者として不適格だということだ。
そのような悪い質問に対して答えられるのは,
質問者の意図をすべて汲み取ることのできるエスパーでもなければムリ,
という意味であって,決して,高度な技術を持つユーザに対する尊称でなはい。
まちがっても「エスパーの方,回答お願いします」
なんて痛い質問するな。つうか氏ね。
0445nobodyさん2005/10/23(日) 13:10:55ID:???
つーか、次の本スレは
>>1はほぼ今の(part29の)テンプレ(短く基本ルールを明示)
>>2に過去スレ・関連スレ
>>3以降にズラーっとFAQ
でどうよ?

FAQは長すぎるとウザいわけだが、>>423くらいのそこそこ量はあって、且つググるヒントになるくらいのサクっとした答えが書いてあるのがちょうど良いんでない?
http://pc8.2ch.net/test/read.cgi/hp/1129074823/3
くらいの数のQ&Aはあっていいと思う。(↑ここってテンプレ全体って点ではクドいけどw)
0446nobodyさん2005/10/23(日) 13:23:33ID:???
よし、>>4には>>444をコピペでケテーイ
番号の偶然の一致的にケテーイ
0447nobodyさん2005/10/23(日) 13:41:10ID:???
プログラム板お決まりのテンプレですな・・・

>8. 情報は小出しに。
長期政権を獲得するために必須の手法ですな
0448nobodyさん2005/10/23(日) 13:44:59ID:???
>>444
thx! 面白すぎ.

>>445
それ良いね.
0449nobodyさん2005/10/23(日) 14:32:09ID:???
>>444
テラワロスwww
0450nobodyさん2005/10/23(日) 14:46:24ID:???
select * from table order by id を実行して
for ($i = 0; $i < count($rec); $i++) {
 if ($rec[$i]['id'] == 10) {
  return $i;
 }
}

っていう処理をしたいのです。
idでソートして、特定のIDが何番目に大きいかを知りたいのです。

これをSQL一文で実現する事ができませんか?
0451nobodyさん2005/10/23(日) 14:52:29ID:???
>>442
そうだったんですか。
WinとLinuxで違う動きをするとは思っていませんでした…
setcookieやheaderが激しく不便(というか無理)ですね…諦めてmod_PHPを使います。
ありがとうございました。
0452軟式PHP2005/10/23(日) 15:15:27ID:???
>>450
スレ違いじゃないのか。
しかもDBの種類も書いてないし。
Oracleと仮定して書くならrownum使って出来るっしょ。
0453nobodyさん2005/10/23(日) 15:21:07ID:???
目的のidより小さいレコードをcount()すればいいぢゃん。
にしても自分で「SQL一文で」って書いている時点でスレ違いって判らないのかぁ。
ここ2〜3日、バカがウヨウヨしてるな。
0454nobodyさん2005/10/23(日) 16:09:47ID:???
↓次の質問どうぞ
0455nobodyさん2005/10/23(日) 17:06:38ID:???
データベースにも彼女にもログインできません(><)
04564312005/10/23(日) 17:06:45ID:???
そんな都合の良い関数はないんですかね。。。
0457nobodyさん2005/10/23(日) 17:18:51ID:???
>>455
いきなり root でログインしようとしてない?

>>456
>>431 の考え自体間違ってない?
普通はすぐに出力されると思うんだけど..
ob_start()/ob_end_flush() とか使うと >>431 の挙動になる.
04584312005/10/23(日) 17:22:08ID:???
>>457
どうも〜
0459nobodyさん2005/10/23(日) 17:38:33ID:???
>>431
の言ってるのってもしかして
@Aの処理が完了しました
@Bの処理が完了しました
って感じにだんだんとメッセージ出したいとか。
04604312005/10/23(日) 17:41:37ID:???
>>459
それです、それがしたいんですorz
0461軟式PHP2005/10/23(日) 17:53:31ID:???
>>459
>>460
ob_implicit_flush();
を使って出来た覚えがある。
0462nobodyさん2005/10/23(日) 17:59:49ID:???
http://jp.php.net/manual/ja/function.flush.php
バッファリング関連についてここに詳しく書いてあった.
0463nobodyさん2005/10/23(日) 18:14:20ID:???
>>459,461,462
やりたかった事ができました〜
マジでありがとう。
0464nobodyさん2005/10/23(日) 18:24:04ID:???
ん,結局どうやって解決したのかな?
0465ハイスピードうさちゃん ◆DMzTyHF5uc 2005/10/23(日) 19:32:33ID:ibcXIcLi
ほんとに下らない質問で真に申し訳ないんですけど
PHPをホームページに組み込もうとしているのですが
いまいち仕組み等が良く分かりません
PHPを使うのにお勧めの本はありますか?
あれば教えてください
よろしくお願いします
0466nobodyさん2005/10/23(日) 19:38:58ID:???
xreaってphp使えますか?
xreaとはなんですか?
自分のHPにphpbb掲示板を置きたいがためだけに
xreaに登録するのはどうなんでしょうか?
くだらないかもしれないとおもったので、ここで聞きます。
すみません。
0467nobodyさん2005/10/23(日) 19:46:09ID:???
http://pc8.2ch.net/test/read.cgi/hp/1128491451/990-991
0468nobodyさん2005/10/23(日) 19:47:41ID:???
>>466
>xreaってphp使えますか?
⇒xreaで調べてください。

>xreaとはなんですか?
⇒ググってください。

>自分のHPにphpbb掲示板を置きたいがためだけに
>xreaに登録するのはどうなんでしょうか?
⇒人それぞれです。

>くだらないかもしれないとおもったので、ここで聞きます。
⇒別に良いですけど。

>すみません。
⇒許しません。
0469nobodyさん2005/10/23(日) 19:48:27ID:???
>>466
使えるよ
0470nobodyさん2005/10/23(日) 19:52:54ID:BdscBxiq
>>466
使える。まぁあんたにはスペースもらえなさそうだわな。
0471nobodyさん2005/10/23(日) 19:54:03ID:BdscBxiq
>>465
HTMLはわかるのかな?まずはそれからだ。
0472nobodyさん2005/10/23(日) 20:00:04ID:???
>>466
たぶん無料のレンタル掲示板探した方が早いよ.
0473ハイスピードうさちゃん ◆DMzTyHF5uc 2005/10/23(日) 20:30:25ID:ibcXIcLi
>>471
ありがとうございます
とりあえずページを作れる程度のことは出来ます。
もう一度調べなおしてみます
0474nobodyさん2005/10/23(日) 21:05:35ID:???
配列のデフォルト値って指定できますか?
こんな感じ。
$arr = array('one'=>1, 'two'=>2);
$arr->default = -1; // デフォルト値を設定
$val = $arr['foo'];
echo $val; //=> -1
0475nobodyさん2005/10/23(日) 21:12:03ID:???
みんなイイ奴だな
>>473みたいなネタに付き合うんだから
0476nobodyさん2005/10/23(日) 21:15:41ID:???
>>474
無いよ。
若干近い挙動をする関数ならarray_fill。
いっその事クラスを使えば望み通りの挙動をさせる事も可能。
0477nobodyさん2005/10/23(日) 22:53:48ID:???
>>451
スクリプトにCGI版phpへのパスを記述する時点で
ポータビリティが下がるし、環境に合わせて書き換え前提になるから
phpの側でそういった機能はないのかもしれん。

俺はwebサーバの方で、.phpなファイルはCGI版phpをキックするように
設定してるから、WinでもLinuxでもCGI版phpを利用してる場合スクリプトに
CGI版phpへのパスを記述してないよ。よってWinでもLinuxでも同じスクリプトで動かせる。
まあスクリプトの処理で吸収しきれてない多少の差異はあるけど。

0478nobodyさん2005/10/23(日) 23:21:08ID:???
すごく初心者な質問ですみません。教えて下さい。
ベクターで配布されているphpのショッピングカートのsimple cartについてです。
商品の登録をしているのですが、商品の画像を表示させたいのですができません。
どうすれば表示させることができるのか教えて下さい。宜しくお願いします。
0479nobodyさん2005/10/23(日) 23:25:09ID:???
おーい,エスパーさん,出番ですよー.
0480nobodyさん2005/10/23(日) 23:28:36ID:???
>>478
配布元で聞けよ。
0481nobodyさん2005/10/23(日) 23:54:18ID:???
Σ(゚Д゚;≡;゚д゚) もしかして呼ばれた!?

>>478
・画像の指定方法が分からない
管理モードにログイン -> Products data -> File -> 参照をクリック -> 画像ファイルを指定 -> Save

・画像が表示されない
1.正常にサーバにアップロードされているか確認
2.ファイルのパーミッションが適切に設定されているか確認
3.ブラウザで画像ファイルにアクセスして表示されるか確認
4.配布元に問い合わせ
0482nobodyさん2005/10/24(月) 02:00:19ID:???
去年の10月24日に「半年ロムってろ」と言われ、
半年後にやっと書き込めたと思ったらまた
「もう半年ロムってろ」と言われたものです。

今日でようやく半年になりました。
おひさしぶりです。涙がでそうです。
また皆さんと一緒にお話できて嬉しいです。
0483nobodyさん2005/10/24(月) 02:11:41ID:???
PHP5で、自由に代入できる定義済みのグローバル変数ってないのでしょうか。

例えば$_GLOVALみたいな配列変数が用意されていて、
この中に代入したものはどこからでも参照できるとか
そういうのがあれば便利だと思うんですが。

マニュアルを見た所探せなかったので教えてください。
0484nobodyさん2005/10/24(月) 02:57:48ID:zkums6mo
phpとmysql使ってます

dbにつなぐにはphpファイル内にパスワード記述しなければなりませんが、
これが不安なんです。

なんかのダウンロードソフトとか使ってphpファイルそのままダウンされたり
しないのでしょうか?

ちなみに以前設定が悪かったのか、phpファイルにアクセスしたら
ダウンロードしますか?みたいなダイアログが出たことがあって超不安です。

絶対大丈夫だって説明してくれるか、パスワード記述しなくて良い方法が
あったら教えてください。
0485nobodyさん2005/10/24(月) 03:36:25ID:???
web鯖で公開しているディレクトリより下に置くと絶対危険です。
0486nobodyさん2005/10/24(月) 03:38:01ID:???
>>482
お前何回目だ
>>483
$GLOBALS
>>484
氏ね
0487nobodyさん2005/10/24(月) 03:57:30ID:QQX+YZkl
携帯からの荒らしが酷いんですが
番号の特定って出来ますか?
04884452005/10/24(月) 04:17:23ID:up55eUP1
新質問スレの話題がありましたが、こちらでやりましょう。

【php】part29【php】
http://pc8.2ch.net/test/read.cgi/php/1120611474/

とりあえずこのスレで出た内容適当にまとめました。
FAQや質問テンプレについて、取捨選択しましょう。
0489nobodyさん2005/10/24(月) 04:30:43ID:???
>>487
試しに自分の携帯番号が特定できるか調べてみては?
0490nobodyさん2005/10/24(月) 09:49:32ID:???
>>487
ttp://ns1.php.gr.jp/pipermail/php-users/2004-January/020521.html
0491nobodyさん2005/10/24(月) 11:16:55ID:???
>>484
俺の場合はDB接続関数を作って別ファイルに保存。
もちろんパスワードもそのファイルに記述。

それをユーザーがアクセス出来ないディレクトリに置いて include で読み込んでる。
0492nobodyさん2005/10/24(月) 11:36:13ID:???
>>484
パスワードファイルに関しては、既に言われているように、
直接参照の出来ないDocument_root上位におくこと。

それよりも、
>ちなみに以前設定が悪かったのか、phpファイルにアクセスしたら
>ダウンロードしますか?みたいなダイアログが出たことがあって超不安です。
こっちはもう大丈夫なのかな?こっちの方が遥かに問題は大きいですぞ。
httpd_confやphp.iniの設定は適切に行わないとね。
0493nobodyさん2005/10/24(月) 11:37:35ID:QoyBu+Ex
>>487
iはフォームにutn
eとvはprint_r($_サーバー)で出たうちのどれか。
iとvはユーザーの任意。
0494nobodyさん2005/10/24(月) 11:43:12ID:???
>>490
うわ、くだ質以下の質問だと思っていたらMLに投げる人がいるとは・・・
0495nobodyさん2005/10/24(月) 11:46:45ID:???
ML のほうもこっちも対してレベル変わらないね
0496nobodyさん2005/10/24(月) 12:07:54ID:???
こっちのほうが下じゃね?
0497nobodyさん2005/10/24(月) 12:16:34ID:???
>>493
eもユーザー任意
0498nobodyさん2005/10/24(月) 13:51:01ID:???
JScriptでいうところのdocument.URLはどう書くのでしょうか。<php4.3
0499nobodyさん2005/10/24(月) 13:56:57ID:???
ヒント: $_SERVER
0500nobodyさん2005/10/24(月) 14:43:37ID:???
ヒントありがとうございます。
ttp://<?php echo $_SERVER[SERVER_NAME];echo $_SERVER[PHP_SELF]
こんなんできましたが、良いのでしょうか。
<a href='ttp://validator.w3.org/check?uri=" + document.URL + "'>XHTML1.1</a>
のdocument.URL部分に入れて動いたのですが
もしもっとスマートな書き方がありましたらお願いします。
0501nobodyさん2005/10/24(月) 14:48:14ID:???
>>500
htmlspecialchars($_SERVER['PHP_SELF'])
0502nobodyさん2005/10/24(月) 15:24:19ID:???
>>501
ありがとうございます。一応エンティティ変換した方が良いのですね。
しかし、いずれにしてもdocument.URLと挙動が違うのが気になります。
document.URLは最後が/で終わるURIすなわちディレクトリ
にアクセスしている場合はディレクトリまでのURIを返します。

http://<;?php echo $_SERVER['SERVER_NAME'],htmlspecialchars($_SERVER['PHP_SELF']); ?>
それに対して これだとディレクトリへのアクセスでもDirectoryIndexのパスまで入ってしまいます。

今まではJScriptでdocument.writeを使って
<a href='http://validator.w3.org/check?uri=" + document.URL + "'>XHTML1.1</a>
を表示するという内容の.jsを作って複数のページから呼び出していたのですが、
これをphpのincludeに置き換えたいのです。

DirectoryIndexのファイルのパスを返さずに、
つまりdocument.URLと同じ動作をすることはできないのでしょうか。
0503nobodyさん2005/10/24(月) 15:35:14ID:???
>>502
DirectoryIndexが使われた事を知っているのはapacheだけで、
JavaScriptもPHPもその事を知らない。

dirname()やpathinfo()を使ってディレクトリ名を切り出せばええんでないかい?
0504nobodyさん2005/10/24(月) 15:35:51ID:???
ようするに≒リクエストURIなんじゃないの

クライアントからどう見えてるかをPHPから
特定するのは不可能だが
0505nobodyさん2005/10/24(月) 16:01:38ID:???
お二人ともありがとうございます。
> リクエストURI
要するにそういうことなんです。
> DirectoryIndexが使われた事を知っているのはapacheだけで、
> JavaScriptもPHPもその事を知らない。

> クライアントからどう見えてるかをPHPから
> 特定するのは不可能だが

そうか、そうでしたか。JScriptがクライアントサイドだから為せる業だったのですね<リクエストURI
そうなるとなかなか難しそうですね。
諦めて.jsのままでいくことにします。

ありがとうございました。
# ディレクトリだけ切り出すにしてもDirectoryIndexじゃないページからもincludeしたいわけで。
# ごちゃごちゃさせるならこのままで…。
0506nobodyさん2005/10/24(月) 16:01:41ID:???
DirectoryIndex が index.php になってるとして,
http://example.com/hoge
http://example.com/hoge/
http://example.com/hoge/index.php
を全部
http://example.com/hoge
として扱うなら,
$dir_index = 'index.php';
$self = htmlspecialchars($_SERVER['PHP_SELF']);
if (strcasecmp(basename($self), $dir_index) == 0) {
    $self = dirname($self);
}
こんな感じになると思う.
0507nobodyさん2005/10/24(月) 16:21:43ID:Ag941LkA
SSHが許可されていない共用サーバで、PEARのパッケージをインストールしたく
http://pear.php.net/manual/ja/installation.shared.php
ここを参考に go-pear.php でPEARをインストールする事は出来たのですが、
標準以外のパッケージMail_Mimeなどをインストールする場合はどうすれば良いのでしょうか?

go-pear.phpでインストールしたディレクトリの所有者がApacheのユーザ
nobodyになっていて、FTPでファイルをアップロードできません。
0508nobodyさん2005/10/24(月) 16:36:13ID:g+BdaTEj
phpには直接関係のない話だと思いますが、
httpsで開いているページからhttpでリンクした先のページで
HTTP_REFERERが取得できません。
こうゆうのってブラウザとかW3Cの使用なのでしょうか?
0509nobodyさん2005/10/24(月) 16:36:24ID:???
>>506
あ、入れ違いでしたね、すみません。

実はDirectoryIndexがディレクトリごとに異なっているという、
一般的に見ておかしなことになってまして。
DirectoryIndexの把握だけですでに面倒…。

一応試してみましたがrootディレクトリのindex.phpの場合だと
$selfには\が入ってしまいました…。
これはどうにでもなるので良いのですが。

いろいろありがとうございました。
0510nobodyさん2005/10/24(月) 16:43:40ID:???
>>508
そうらしいよ.
0511軟式PHP2005/10/24(月) 16:49:51ID:???
>>507
PEARをダウンロードしてきて適当なディレクトリにつっこんで、
set_include_path(ディレクトリ名);
で使えると思うよ。
0512nobodyさん2005/10/24(月) 16:55:32ID:???
手動インストールの補足.
$pear list package_name-0.1.2.tgz
で,そのパッケージがどの場所にインストールされるか調べられる.
大抵のパッケージは解凍した通りの位置のままで使えるけど,
ものによっては名前が変わったりする.
0513nobodyさん2005/10/24(月) 17:06:48ID:???
>>505
つ $_SERVER['REQUEST_URI']
0514nobodyさん2005/10/24(月) 17:27:43ID:???
PHPにはgoto文みたいなのはないのしょうか?
ある関数の結果がNGの場合、以降の処理は行いたくないので。
(関数内でしたら、returnとかってできますけど)

以降の処理をif文でくくれば可能ですが、それは最後の手段としたいです。

良い知恵を拝借したく存じます。
0515nobodyさん2005/10/24(月) 17:31:09ID:???
以降の処理は行いたくないのであればexitでいいかと。
0516nobodyさん2005/10/24(月) 17:34:18ID:???
ない。ラベルも使えなかった気がするので関数とか使って回避汁。
0517nobodyさん2005/10/24(月) 17:36:05ID:???
>>514
switch
0518nobodyさん2005/10/24(月) 17:39:12ID:???
>>517
この場合返り値のbool固定だろうから、if文が適当かと。
0519nobodyさん2005/10/24(月) 17:55:40ID:???
レスありがとうございます。
以降の処理を全てスルーだったので、
exitかdieで逃げることができました。

助かりました。
0520nobodyさん2005/10/24(月) 19:06:25ID:???
男なら逃げるな!
0521nobodyさん2005/10/24(月) 19:22:15ID:???
立ち向かえ!
0522nobodyさん2005/10/24(月) 19:28:53ID:???
そして燃え尽きろ!
0523nobodyさん2005/10/24(月) 19:34:00ID:???
燃やせ、燃やせ、真っ赤に燃やせ
0524nobodyさん2005/10/24(月) 19:36:55ID:???
怒る心に火をつけろ!
0525nobodyさん2005/10/24(月) 20:12:17ID:???
真っ赤に萌〜えた〜
0526nobodyさん2005/10/24(月) 20:51:04ID:???
真っ赤に燃えた あの日の花火
今も熱く燃えて
あなた恋しい あなた恋しい 女の涙
あなた恋しい あなた恋しい 多摩川ブルース
0527nobodyさん2005/10/24(月) 21:33:30ID:???
microtime()でとったマイクロ秒を小数点第二位の形にして表示したいのですが、
以下のようにやると「120.27」のようにおかしな整数部分が表示されてしまいます。
(整数部分は不要でピリオド以降だけ欲しい)
どしたらよいでしょうか?

echo number_format(getmicrotime(),2);

function getmicrotime(){
list($msec, $sec) = explode(" ", microtime());
return (float)$msec;
}

用途はログ出力の際のタイムスタンプであり、マイクロ秒まで出力したいのです。
もっとスマートなやり方があると思うのですが、
有識者の方、教えて頂ければ幸いです。
0528nobodyさん2005/10/24(月) 21:36:16ID:???
substr($s, strrpos(getmicrotime(), '.'));
0529nobodyさん2005/10/24(月) 21:55:03ID:???
0以外の整数出ないんだけど
0530nobodyさん2005/10/24(月) 22:07:22ID:/DDxE1pe
POSTで送られて来たデータの例外処理について
何もセットされてないか(!isset)、何も入ってないか(=="")の場合エラーを出したいんですけど、

if((!isset($_POST['id'])) or (($id = $_POST['id']) == "")) { return "!IDが入力されていません"; }

みたいな事はできないんですか?

わざわざ、
・issetのif書いて
・代入して
・もう1回 =="" のif書いて、、、
ってしなくちゃダメですか?

それと、こういうノウハウというかCGIの知識はどこで学ぶんでしょうか?
他人のプログラムから学ぶのかな・・
0531nobodyさん2005/10/24(月) 22:12:38ID:GXm9iY9G
phpでwebアプリを作成しパッケージソフトとして
販売することを考えています。
そこで、いくつか質問があります。

phpで作った市販のWebアプリってありますでしょうか?
スクリプト言語なので、体験版として試用して頂きたくても、
ソースが流出してしまい体験版としての意味をなさないと思います。

また、DBを使用する場合、納品形体としてはDBの設置まで込めたものが一般的なのでしょうか?
DBは用意してもらい、webアプリ部分のみの配布でもありなのでしょうか?

movable typeのように企業で使用する場合は有料みたいなのが理想なのですが、
ソース流出の点はどう対処できるのでしょうか?

また、このような情報を得ることができる本、サイトってございますでしょうか?

0532nobodyさん2005/10/24(月) 22:13:23ID:???
>>527
何をしたいのか理解できない.
12.345678 秒っていう時間を取得したとして,
それの 34 だけ出力したいの?
小数点第二位までだったらマイクロ秒じゃなくてミリ秒だよなぁ..
0533見習い ◆DVsUJRCU3g 2005/10/24(月) 22:14:07ID:???
>>530
or ではなくて ||

あと1個で済ませるなら
if(!is_string($_POST['id'])) { return "!IDが入力されていません"; }
または
if(!is_numeric($_POST['id'])) { return "!IDが入力されていません"; }
0534nobodyさん2005/10/24(月) 22:18:21ID:???
list($u,) = explode(' ', microtime());
sprintf('%d', substr(round(getmicrotime() * 100) / 100, 2))

とか

つーか秒以下だけとったらタイムスタンプの意味ないじゃん
0だったらNULLだし。整数すててポイント残す意味も分からん
0535nobodyさん2005/10/24(月) 22:19:44ID:???
>>531
はいどうぞ
http://www.gnu.org/copyleft/gpl.html
05365272005/10/24(月) 22:20:11ID:???
>>532
>>小数点第二位までだったらマイクロ秒じゃなくてミリ秒だよなぁ..
う、たしかにそうですね。
小数点第四位までとればマイクロミリ秒かな。

"2005.10.24 22:14:07.1234"
みたいな感じで時刻を取得したいのです。
小数点第四位が無理なら小数点第二位まででも構いません。
0537nobodyさん2005/10/24(月) 22:22:44ID:???
PHPから別のPHPを呼ぶときに、非同期に呼びたいのですが可能でしょうか?
05385272005/10/24(月) 22:22:59ID:???
ちなみに秒までは以下のようにして取得してます。

date("Y.m.d H:i:s")
0539nobodyさん2005/10/24(月) 22:24:15ID:???
すいません。途中送信してしまいました。

PHPから別のPHPを呼ぶときに、非同期に呼びたいのですが可能でしょうか?
目的は、A.phpからB.phpを呼び、B.phpはSleep(10);してから何かを行うことによってタイマーを実装することです。

このスレをざっと検索したところ、PHPのみでタイマーチックなことはできそうになかったもので…。
0540nobodyさん2005/10/24(月) 22:28:47ID:PCKmF9zI
質問させてください。

プログラムがインターネット上にあるファイルにアクセスするのに、プロキシサーバを経由しなければならない環境にあります。
PHPでプロキシサーバを経由するようにするにはどのようにすればいいのでしょうか。
0541nobodyさん2005/10/24(月) 22:30:43ID:???
>>538
もひとつよく判らんのだが、こういうこと?

list($msec, $sec) = explode(" ", microtime());
echo date('Y.m.d H:i:s.', $sec) . substr($msec, 2, 4);
0542nobodyさん2005/10/24(月) 22:32:47ID:???
list($usec, $sec) = explode(' ', microtime());
$usec = substr($usec, 2);
echo date("Y.m.d H:i:s.$usec");

2005.10.24 22:31:36.91787800

こうかな?
0543nobodyさん2005/10/24(月) 22:32:57ID:???
>>539
意味が分からね。別プロセス走らせるなりフォークするなりじゃだめなの?
0544nobodyさん2005/10/24(月) 22:33:23ID:???
>>531
ttp://www.asial.co.jp/products/ioncube/
こういうの使えば可能
0545nobodyさん2005/10/24(月) 22:36:20ID:???
    /    ||    :ヽ
   ┌|(⌒ヽ :|| ..:⌒: |┐   / ̄ ̄ ̄ ̄ ̄ ̄ ̄
   |::|::ヽ.__:):||(___ノ ::|::|  │
    |:|: ..   :||    .. |:|  │
    :|: ..   ||    ..|| < >>540 HTTPでおk
     :\ [_ ̄] /::|   │
::     |\|_|_|_|_/:::|    \________
   __| |   / / :|___
0546nobodyさん2005/10/24(月) 22:36:27ID:???
>>538
どうやってログを保存するのか知らないけど,
西暦とか月ごとに保存するディレクトリを分けたりすれば
毎回出力する必要ないような・・・
0547nobodyさん2005/10/24(月) 22:38:06ID:???
>>539
PHP と 時間のかかる処理 でググればヒントが見付かるかも知れない
0548nobodyさん2005/10/24(月) 22:38:10ID:???
>>545
ワロスw そのAA,本来は HTTP のところに 日本語 って入ってたはず
0549nobodyさん2005/10/24(月) 22:39:25ID:???
>>540
fsockopenでプロキシに接続して、
GET http://〜 てな感じのリクエストをする。
細かい所はRFC2616あたりを参照。
05505272005/10/24(月) 22:40:31ID:???
>>541さん
ビンゴです。
ありがとうございます。

結局、文字列操作関数を使わないといけないんですね。
フォーマット関数でなんとかしようとふんばってたのが間違いでした。

0551nobodyさん2005/10/24(月) 22:46:27ID:???
microtime()とtime()で別々に時間を取得するとずれる気がする
0552nobodyさん2005/10/24(月) 22:47:10ID:???
>>547
検索させるならPHPとバックグラウンドの方が・・

>>539
exec関数かsystem関数を使う。
0553nobodyさん2005/10/24(月) 22:48:32ID:???
>>551
なるほど. >>541 の方法なら問題ないね.
0554nobodyさん2005/10/24(月) 22:52:02ID:???
>>530
if文は簡潔に。
if (empty($_POST['id'])) {
die('param err');
}

0555nobodyさん2005/10/24(月) 22:52:53ID:???
0以外の整数…
0556nobodyさん2005/10/24(月) 22:54:12ID:???
今日はエスパーだらけだな
05575312005/10/24(月) 22:57:10ID:GXm9iY9G
>>544
レスありがとうございます。
こういうのあるんですね。

逆に言うとこういうの使わないとやはり無理なのでしょうか?
0558nobodyさん2005/10/24(月) 23:00:42ID:???
>>557
あなたのプランはノーマネーでフィニッシュです
05595402005/10/24(月) 23:13:35ID:???
レスありがとうございます。

>>549
fsocketopenは
ttp://www.php.net/manual/ja/function.fsockopen.php
をみて何となく理解したのですが、
>GET http://〜 てな感じのリクエストをする。 
これがよく分からないのですが・・・
05605412005/10/24(月) 23:18:01ID:???
お返事ありがとうございます。

>>543
PHPにはフォークが無かったかなと思います。

>543 >>547
別プロセスという手で解決されているのですが、レンタルサーバーのため、純粋にPHP以外は動かないようです。

>>552
コマンドラインからPHPを使用するというページが発見できました。早速試してみます。
0561nobodyさん2005/10/24(月) 23:20:49ID:???
>>560
こいつ面白いな
0562nobodyさん2005/10/24(月) 23:23:59ID:???
>>559
そのまま答えだしそのページにもProxyアクセスのサンプルあるしググればいくらでも引っかかるしPHPと関係ねーし
0563nobodyさん2005/10/24(月) 23:25:44ID:???
>>561
自分のレス番号間違えました…
0564nobodyさん2005/10/24(月) 23:28:04ID:RXos/Fpn
GDなんですが、WindowsのBMPって扱えないんですか?
WBMPは違う形式のようですし。
扱えるライブラリあったら教えてください。
GDのバージョンは2.0.28です。
0565nobodyさん2005/10/24(月) 23:29:57ID:???
WebでBMPは使わんからだろうね
0566nobodyさん2005/10/24(月) 23:31:25ID:???
>>559
Proxyサーバーにfsockopenで接続して
"GET http://www.yahoo.co.jp HTTP/1.0\r\n\r\n" とか送ってやるとProxyサーバーが良きに計らってくれる。
>>549 氏が RFC2616 を見れ、って言ってくれているんだが読んでみたのかな…
読む気がないのならwget辺りをインスコしてsystem()で呼び出した方が早いんヂャマイカ。
0567nobodyさん2005/10/24(月) 23:38:48ID:???
>>562,566
ありがとうございました。
リクエストの送り方がよく分からなかったのですが、サンプルがそのままリクエストを送っているんですね、
勘違いというか思い違いをしていました。
0568nobodyさん2005/10/24(月) 23:40:59ID:???
> 勘違いというか思い違いをしていました。

これは使える!!
0569nobodyさん2005/10/24(月) 23:44:35ID:???
じゃんじゃん使え
05705392005/10/25(火) 00:14:51ID:???
無事phpから、バックグラウンドで別のphpを呼び出すことができました。
タイマー代わりに使おうと思います。ありがとうございました。

一応同種の質問がきた時用に
<?php
system("/usr/local/bin/php timer.php > /dev/null &");
echo "OK.";
?>

/usr/local/bin/php がコマンドラインでphpを動かすための実行ファイル
timer.php が動かしたいPHPファイル。
> /dev/null は、echoなどの出力結果を無視する。
& は非同期で動かす。
0571nobodyさん2005/10/25(火) 00:27:57ID:???
 質問です。RSSを作成したいのですが、
RSSのtitle部分に日本語が含まれるため、EUCを
UTF-8に変換しようとmb_convert_encoding($str,'UTF-8');と記述したところ、
RSSのtitleが文字化けしてしまいました。対処法を教えてください。
0572nobodyさん2005/10/25(火) 00:29:09ID:???
mb_convert_encoding($str,'UTF-8', 'EUC');
でどうよ
0573nobodyさん2005/10/25(火) 01:17:59ID:???
PHPで、メールを受信する(POP)関数はありますか?
関数名を教えてください<(_ _)>
0574nobodyさん2005/10/25(火) 01:51:31ID:???
>>573
pop_mail()
0575nobodyさん2005/10/25(火) 02:45:01ID:???
>>565
BMPをページに貼り付けることはないが、WINユーザからうpされたBMPをJPEGかPNGに変換して貼るために、GDの関数を必死こいて模索したことはあったな。
ImageMagickで解決なわけだが、GDでも扱えたほうがよさげな気もする。
(内部構造が単純なだけに実装自体は楽なはず。ファイル形式の互換性に関してはよく知らんが)
0576軟式PHP2005/10/25(火) 03:20:48ID:???
関係ないけど、なんでBMPのデータって左下のピクセルから入ってるんだろうね。
0577nobodyさん2005/10/25(火) 03:27:17ID:???
つ [ OS/2 ]
0578nobodyさん2005/10/25(火) 04:50:04ID:???
BMPのヘッダの高さの正負で上下が決まってるんじゃなかったけか?
関係ないけど
0579nobodyさん2005/10/25(火) 10:37:26ID:???
質問です。
他言語含めて初心者で、PHPを勉強したいなーと思っています。

当面の目標として、スレッドやツリーなどのない、
シンプルな掲示板を作る事を目指そうと思っています。
MySQLなどは使わないものです。

そこで、お勧めの参考書や参考になるサイト、
お手本としてお勧めの配付されているPHPのソースなどありましたら、
教えていただけませんでしょうか。

ほんと下らない質問ですいませんが、お願いします。
m(_ _)m
0580nobodyさん2005/10/25(火) 10:52:03ID:???
>>579
PHP関連の書籍(但しPHP出版系お断り)第2版
http://pc8.2ch.net/test/read.cgi/php/1117066073/l50
ここで見つかるかもしれない.
0581nobodyさん2005/10/25(火) 11:35:30ID:???
んなもん、PHP、初心者、初めて、辺りでぐぐれ。
0582nobodyさん2005/10/25(火) 11:44:39ID:???
ttp://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rls=GGLD,GGLD:2005-15,GGLD:ja&q=PHP%E3%80%81%E5%88%9D%E5%BF%83%E8%80%85%E3%80%81%E5%88%9D%E3%82%81%E3%81%A6%E3%80%81%E8%BE%BA%E3%82%8A
0583nobodyさん2005/10/25(火) 12:34:07ID:???
>>572
できました。ありがとうございました。
0584nobodyさん2005/10/25(火) 13:04:11ID:YHtqjGPc
CSV形式のファイルで指定した行のみ読み込ませ配列化したいのですが
どうやればいいのでしょうか?
やはり一度全てを配列に読み込ませ、配列番号で指定するしか
ないのでしょうか?
0585nobodyさん2005/10/25(火) 14:29:48ID:kvUtXjYL
>>584 がんばれ!
0586nobodyさん2005/10/25(火) 14:39:31ID:???
>>584
一行ずつ読み込めないから質問しているの?
0587nobodyさん2005/10/25(火) 14:44:51ID:???
>>565
PHPのイメージ関数、imagecreateのユーザノートの中に
BMPを操作するユーザ関数が載ってる。

ttp://jp.php.net/manual/ja/function.imagecreate.php
0588nobodyさん2005/10/25(火) 14:47:14ID:YHtqjGPc
>>586
ちがいます。
一行ずつの読み込み方法は知っています

私が聞きたかったのは例えば
1万行あるCSVファイルから5320行目のみをよみこみたいのです
0589nobodyさん2005/10/25(火) 14:49:51ID:???
>>584
fgetcsvを指定した回数呼び出せ。
1行ずつをメモリに読み込むのが嫌なほど1行1行が長いならDBの使用を検討。
fseekも候補としてはありうるかも。
0590nobodyさん2005/10/25(火) 14:54:55ID:???
>>587
そんな香具師がいたのかw
ユーザ関数でその手の処理やると概してクソ遅いんだが、まあニーズはあるかもしれんな。
0591nobodyさん2005/10/25(火) 14:56:22ID:???
htmlspecialcharsの逆変換する関数ってありますか?
「&lt;」を「<」に戻したいのですが。

0592nobodyさん2005/10/25(火) 14:58:41ID:???
>>591
htmlentities()の逆関数 で検索しれ
0593nobodyさん2005/10/25(火) 15:00:30ID:???
fseek使って好きな行を読み込まそうと想ったら別にポインタ用のインデックスファイルいるよね
0594nobodyさん2005/10/25(火) 15:01:24ID:YHtqjGPc
>>589
やはりfgetcsvで回数呼び出すしかないですか・・・

>>591
これじゃだめ?
$text = str_replace("<","<",$text);
0595nobodyさん2005/10/25(火) 15:02:13ID:???
>>591
http://jp.php.net/manual/ja/function.html-entity-decode.php
0596nobodyさん2005/10/25(火) 15:02:42ID:YHtqjGPc
こうだった
$text = str_replace("<","<",$text);
0597nobodyさん2005/10/25(火) 15:05:44ID:???
>>594 >>596
おまいは本当に恥ずかしい香具師だなw
0598nobodyさん2005/10/25(火) 15:07:22ID:???
>>594
fgetcsv知ってたのに使うの渋ってたのはなぜ?
0599nobodyさん2005/10/25(火) 15:11:40ID:???
こうだった
$text = str_replace("<","<",$text);
0600nobodyさん2005/10/25(火) 15:11:45ID:???
>>598
594じゃないけど、fgetcsv()はSJIS通らなくて
Excelのcsv読めねぇってうるさいから、自分でハンドリングすることも多い。
0601nobodyさん2005/10/25(火) 15:12:14ID:???
あれ、何度やっても違うなァ
0602nobodyさん2005/10/25(火) 15:12:57ID:???
>>596>>599
何でそうなるのか、要因を分析してないみたいだな
0603nobodyさん2005/10/25(火) 15:15:09ID:???
これだァ
$text = str_replace("&lt;","<",$text);
0604nobodyさん2005/10/25(火) 15:25:09ID:YHtqjGPc
>>600
カバーありがとうです

>>602
こうでしたねorz
$text = str_replace("<","<",$text);
0605nobodyさん2005/10/25(火) 15:25:32ID:???
>>591
>(>)はいいのか?

$trans = array (">" => ">", "<" => "<");
$text = strtr($text, $trans);

こんなんいらないって?
06066042005/10/25(火) 15:26:22ID:YHtqjGPc
進歩なしorz
ごめんよ
0607nobodyさん2005/10/25(火) 15:28:28ID:???
ごめん、文字が勝手に変換された。
$trans = array ("&gt;" => ">", "&lt;" => "<");
$text = strtr($text, $trans);
0608nobodyさん2005/10/25(火) 15:32:14ID:???
>>595で答えが出てると思うが・・・
0609nobodyさん2005/10/25(火) 15:32:44ID:???
>>600
SJIS通らないってどゆこと?
つーかExcelってプレーンなcsv/tsv吐けないの?

>>604 >>607
すでに>>595>>591へのそのものズバリな答が出てる。
頼むからそれ以上やらないでくれ。
0610nobodyさん2005/10/25(火) 15:45:16ID:???
SJISだと特定文字でカンマ分割できなことがあるらしい
0611nobodyさん2005/10/25(火) 15:51:08ID:???
&lt;と書くには&amp;lt;と書けばよい
&amp;lt;と書くには&amp;amp;lt;と書けばよい



以下続く
0612nobodyさん2005/10/25(火) 16:16:04ID:???
>>610
らしいじゃなく、詳細キボンヌ
0613nobodyさん2005/10/25(火) 16:20:07ID:???
>>610
fgetcsvでSJISが読めないとか、結構問題ありそうだから実験してみた。
一応、SJISの全ての文字をカンマ区切りで並べて(16個ごとに改行)、fgetcsvで読み込んでみたが、問題なかったけど。
具体的にどうしたら問題あるの?
(改行の境界部分に化ける可能性のある文字があったのかな?)
ちなみにPHP5.0.4で実験
06146122005/10/25(火) 16:22:26ID:???
>>613
だよねー、やっぱ。問題ないと思うけどなー。
0615nobodyさん2005/10/25(火) 16:26:48ID:???
$n = "<hogehoge>";

$nからカッコを取るかっこいい方法を教えてなさい!
おながいします

str_replaceで一個ずつ"<"と">"を取る方法しか思いつきません。
0616nobodyさん2005/10/25(火) 16:29:06ID:???
>>615
正規表現はカッコいいですか?
0617nobodyさん2005/10/25(火) 16:31:22ID:???
>>615
substr($n, 1, -1);
06186152005/10/25(火) 16:41:22ID:???
>>617
ありがとうございます、かっこいいです

>>616
正規表現もかっこいいですが書けません ;-;


で、出来るだけ正規表現使わないで済ましてしまう悪循環・・
0619nobodyさん2005/10/25(火) 16:46:33ID:???
>>613
このスレッドあたり
http://ns1.php.gr.jp/pipermail/php-users/2004-June/022870.html
(原因については小泉さんが明確に解説してる)
まあ今時のバージョンは問題ないかも知れないけど、
一旦自前でやるようにしたら、別段元に戻す必要も差し迫ってないからね。
#あとダブルクォートのエスケープ(""")なんかは、fgetcsvは問題ないんだっけ?
06205912005/10/25(火) 18:12:52ID:???
>>595
ありがとうございました。
助かりました。
0621nobodyさん2005/10/25(火) 19:19:33ID:???
>>615
trim($str,'<>')
はどうだんべ?
0622nobodyさん2005/10/25(火) 19:58:19ID:???
C言語でいうところの"ifdef"みたいなのはないのでしょうか?

デバッグモードの切り替えを簡単にやりたいのですが。
0623nobodyさん2005/10/25(火) 20:16:02ID:???
>>622
Cのプリプロッセサと違って、条件にマッチしない部分もパースされてしまうけど…

define('DEBUG', '');
if (defined('DEBUG')) echo 'debug mode';
0624nobodyさん2005/10/25(火) 21:04:40ID:lSoYCV0H
$a[0] = "あああ,12,10,2";
$a[1] = "いいい,5,12,4";
$a[2] = "ううう,7,3,3";
$a[3] = "えええ,5,1,8";

という配列の12,5,7,5の部分でソートして

$a[0] = "あああ,12,10,2";
$a[1] = "ううう,7,3,3";
$a[2] = "いいい,5,12,4";
$a[3] = "えええ,5,1,8";

としたいです。
(3,4行目の順番は気にしません)

自分では
$b[12] = "あああ,10,2";
$b[5] = "いいい,12,4";
$b[7] = "ううう,3,3";
$b[5] = "えええ,1,8";
と新しい配列を作りキーでソートしてみましたが
二つ目の$b[5]が出て来た時点で一つ目の$b[5]が上書(代入?)されてしまいます。

どうかいい方法をご教授下さい。
0625nobodyさん2005/10/25(火) 21:14:22ID:???
>>624
function cmp($a, $b)
{
   $ta = explode(',', $a);
   $tb = explode(',', $b);
   if ($ta[1] == $tb[1]) return 0;
   return $ta[1] > $tb[1] ? -1 : 1;
}

usort($a, 'cmp');
06266242005/10/25(火) 22:25:50ID:???
>>625
ありがとうございます。
こういう時にusortを使うんですね。
まだ使い方がわかっていないのですが、マニュアルを見ながらじっくり試してみたいと思います。
0627nobodyさん2005/10/26(水) 03:00:05ID:???
ブーリアンはどのようにすれば使えるのでしょうか?
0628nobodyさん2005/10/26(水) 03:04:26ID:???
ブーリアン の検索結果 約 27,000 件中 1 - 10 件目 (0.29 秒)

どのブーリアンのことをいっているのかね?
0629nobodyさん2005/10/26(水) 03:11:41ID:???
ブーリアンテストだと思う
0630nobodyさん2005/10/26(水) 03:44:53ID:???
>>627
・予約語のtrueかfalseを使う
・比較演算子(== や !=など)や論理演算子(&& や !)の演算結果を使う
・失敗したらfalseを返す関数を失敗させる
・(bool)を使って型キャストする
0631nobodyさん2005/10/26(水) 05:06:50ID:???
>>619
ふーん、昔はfgetcsvも酷かったんだな
まあ最新バージョンならfgetcsvに日本語使っても大丈夫だろう(PHP4は試してないが)
ダブルクォートのエスケープも問題なし。"" は " に置き換えられる。
バックスラッシュ \" でも一応エスケープはするけど、バックスラッシュつけっぱなしw
まあ漏れはCSVとかって使い捨てのスクリプトで思いつきで使うことしかないから、どっちでもいいんだけどね。
暇なので実験結果の報告。
0632nobodyさん2005/10/26(水) 05:09:31ID:???
>>615
>教えてなさい!
ワロタ
0633nobodyさん2005/10/26(水) 05:54:48ID:???
>>615
str_replaceは配列を引数にできる。
echo str_replace(array("<",">"), array("",""), "<hogehoge>");
これも
echo str_replace(array("<",">"), array("",""), "<hoge><hoge>");
0634nobodyさん2005/10/26(水) 07:33:05ID:???
>>633
2番目の引数は同じものに置換する場合は配列にしなくてもいいよ
0635nobodyさん2005/10/26(水) 08:46:06ID:???
クライアントがcookieを受けつけなければURLにセッションIDを付加する
みたいな処理は可能でしょうか?
0636nobodyさん2005/10/26(水) 08:59:18ID:???
>>635
php.iniのsession.use_trans_sid=1
漏れは明示的に付加する方が好きだけど。
06376352005/10/26(水) 09:10:31ID:???
>>636

ありがとうございます。
あっさり解決しました。
0638nobodyさん2005/10/26(水) 14:42:09ID:K5xqiemM
PHPでGDライブラリを使おうと思っています。

<?php
$image = imagecreate(200, 200);
$bcolor = imagecolorallocate($image, 0, 0, 0);
imagepng($image,"test.png");
imagecolordeallocate($image, $bcolor);
imagedestroy($image);
?>

ブラウザ上で実行するとtest.pngが生成されません。
ターミナル上では生成できるので、パーミッションの問題かと
思ったんですけど、このPHPファイルと上のフォルダを777にしても
やはり生成されません。

問題点を指摘していただければと思います。
0639nobodyさん2005/10/26(水) 14:45:53ID:???
天狗じゃ!天狗の仕業じゃ!
0640nobodyさん2005/10/26(水) 14:48:27ID:???
>>638
ヒント:「ヘッダ」
0641nobodyさん2005/10/26(水) 14:52:29ID:???
何がヒントだよバーカw
06426382005/10/26(水) 15:13:25ID:K5xqiemM
>>640

今回はPNG画像を生成するだけなので、
Header(Contents-type: image/png);
はたぶん必要ないと思います。
0643nobodyさん2005/10/26(水) 15:17:23ID:???
>>638
filenameをフルパスで書いてみたらどう?
06446382005/10/26(水) 15:22:32ID:K5xqiemM
>>643
やってみましたが、やはり動作しませんでした。
Fedora Core3を使っているのですが、SELinuxで何か弾かれている
とかも考えられるんでしょうか。。。
0645nobodyさん2005/10/26(水) 15:28:56ID:???
>>644
そういや、そんな事あったなぁ
SELinuxのログ見てみそ
06466382005/10/26(水) 15:59:21ID:K5xqiemM
>>645
なんだかSELinuxを切らなきゃ動作しない雰囲気ですね。。

公共のサーバなのでSELinuxは必要らしいんですよ。
これはもう諦めろということなのかな…
0647nobodyさん2005/10/26(水) 16:24:14ID:???
ファイルのダウンロードですが、
Netscape 7/Firefox ではファイル名が化けます ( IE は OK )。

<?php
$filename = '日本語';
header("Accept-Ranges: none");
header("Content-Type: application/x-pdf");
header("Content-Disposition: attachment; filename={$filename}.pdf");
mb_http_output('pass');
echo "test";
?>

コードをどう変えればいいの?
0648nobodyさん2005/10/26(水) 16:29:48ID:???
HEADERの内容はURLエンコードすべきじゃないのかな?
0649nobodyさん2005/10/26(水) 16:40:22ID:???
>>648
アドバイスありがと。早速、
$filename = urlencode(mb_convert_encoding('日本語', 'SJIS', 'EUC-JP'));
としてみたら IE は CA8XMVSI、Gecko 組は %93F%FA%96... に…。
0650nobodyさん2005/10/26(水) 16:40:51ID:H/AFZPGW
>>647
ファイル名を英数にすれば?
0651nobodyさん2005/10/26(水) 16:46:21ID:???
>>650
最初そうしてたら、氏名をファイル名にしてほしい、と言われて
IE で大丈夫だったから「ふふふーん」と鼻歌歌ってたら
Netscaep/Firefox でダメで「ぎゃふふーん」ですよ!
0652nobodyさん2005/10/26(水) 16:59:33ID:???
ttp://www.wsdeveloper.com/viewtopic.php?t=62
0653nobodyさん2005/10/26(水) 17:06:50ID:???
Java による解法か。でも IE は大丈夫なんだよね。
みんなはどうしてるのよ。
0654nobodyさん2005/10/26(水) 17:14:45ID:???
会話で、PHPを「ぴーえぃっちぴー」と言うのが煩わしいです。
短く、かつ、相手に理解して貰える、最高の略語を考えて下さい。
0655nobodyさん2005/10/26(水) 17:16:49ID:???
parse_ini_file()でiniファイルの読み込みが正常終了したかどうかって判断はどうすればよかですか?

読み込んだini項目を参照して、値が入ってるかどうかを見て判断するしかなかとですか?

0656nobodyさん2005/10/26(水) 17:19:59ID:???
>>654
会話しなくていいよ
0657nobodyさん2005/10/26(水) 17:26:01ID:???
>>654
ぺちぺ
0658nobodyさん2005/10/26(水) 17:29:43ID:???
phpじゃないのですが新しくWiki Cloneを作成しました。
しかしこの板、過疎スレばかりで何処で施せば良いか分かりません。
どこで施せばいいのでしょうか?
0659nobodyさん2005/10/26(水) 17:30:45ID:???
>>658
おれんち
0660nobodyさん2005/10/26(水) 17:31:31ID:???
ほどこす?
0661nobodyさん2005/10/26(水) 17:31:47ID:???
>>659
住所を教えてください。
ソースを印刷して送ります。
0662nobodyさん2005/10/26(水) 17:33:56ID:???
>>660
晒すの間違いだと今頃気づいたけど是からも使いつづけます。
0663nobodyさん2005/10/26(水) 17:35:35ID:???
>>661
教えてあげるのであなたの住所教えてください
0664nobodyさん2005/10/26(水) 17:35:50ID:???
東京都千代田区千代田1番
0665nobodyさん2005/10/26(水) 17:37:51ID:???
>>664
着払でよろしいでしょうか?
0666nobodyさん2005/10/26(水) 17:41:17ID:???
CD-Rに焼いたほうが良くないか?
0667nobodyさん2005/10/26(水) 17:42:33ID:???
>>666
CD-R高いしなぁ…
0668nobodyさん2005/10/26(水) 17:47:37ID:???
ほんとくだらん会話だなペチペ住人は。
0669nobodyさん2005/10/26(水) 17:50:02ID:???
まあいいや。
ttp://www2.pf-x.net/~nazodane/stucturewiki/source.zip
ライセンスの範囲で自由に使ってください。
0670nobodyさん2005/10/26(水) 17:53:46ID:???
>>669
すれ違い
0671nobodyさん2005/10/26(水) 17:55:42ID:???
>>670
だったら誘導汁
0672nobodyさん2005/10/26(水) 18:02:14ID:???
>>646
SELinuxが原因なら、制限しないようにポリシーを設定すれば良いんでないの。
もともとそういう風に使うもんだし>SELinux
0673nobodyさん2005/10/26(水) 18:08:16ID:???
>>669
ageて書き込めば誰か見るでしょ
C/C++ CGIスレッド
http://pc8.2ch.net/test/read.cgi/php/1077753522/1-10
0674nobodyさん2005/10/26(水) 18:09:09ID:???
晒すと施すを素で間違えるような奴のスクリプトなんか使いたく無いw
0675nobodyさん2005/10/26(水) 18:11:46ID:???
>>673
悪いがソースがD言語なんだな
0676nobodyさん2005/10/26(水) 18:20:41ID:???
>>669
セキュリティホールはどこに知らせればいいの?
0677nobodyさん2005/10/26(水) 18:47:37ID:???
error_log()関数でログに出力する時、排他ロックされるのでしょうか?
0678nobodyさん2005/10/26(水) 19:16:23ID:???

 LAMPでWebアプリ作ったんですが、ソフトを公開しなければイケナイんですか?

0679nobodyさん2005/10/26(水) 19:18:22ID:???
教えてください

ファイルをアップロードする場合
<input type=file name=hoge>
という風にした場合、アクセスするのは$_FILES['hoge']を使うとおもうのですが

inputタグのネームが任意の場合どうすればよろしいのでしょうか?
例えば、$filename='hoge';として$_FILES['$filename']って風にアクセスできるのでしょうか?
↑をやってみたのですがうまくいかなくて、いきずまってます。
0680nobodyさん2005/10/26(水) 19:24:46ID:???
シングルクォーテーションがイラネ
0681nobodyさん2005/10/26(水) 19:26:56ID:???
>>679
$_FILES[$filename] または $_FILES["$filename"] だな。
オマイさんの書いた ' と " の違いに注意ね。
0682nobodyさん2005/10/26(水) 19:31:56ID:???
>>680-681

レスありがとう!
ごめんなさいシングルクォーテーションはつかってなかったです。タイプミスです。

ほかに原因があることが判明していまいました。ごめんなさーーい
忘れてください。
0683nobodyさん2005/10/26(水) 19:34:40ID:???
>>682
なんぢゃぁ、それは。
初心者の微笑ましい質問かと思ったぢゃねぇか。コンチキショウめ。
0684nobodyさん2005/10/26(水) 20:27:51ID:???
いっぺん死ねよ。
0685nobodyさん2005/10/26(水) 20:52:57ID:???
<チラシの裏>
ctype_digit('') は true になる
is_numeric('') は false になる

ハマリかけたよ。。。早めに気付いて良かった。
</チラシの裏>
0686nobodyさん2005/10/26(水) 21:10:17ID:pZpCFSD9
cgi-lib.plのPHP版みたいなのがあるらしいのですが、
配布場所教えてくれませんか?
御願いします。。
0687nobodyさん2005/10/26(水) 21:26:52ID:???
>>686
それ使うと何ができるの?
更に言うと、何がしたくて探してるの?
0688nobodyさん2005/10/26(水) 21:29:09ID:pZpCFSD9
>>687
cgi-lib.plを使ったPerlを作ったことがあるのですが、
今度はPHPを初めて見たいと思い、
まずはそのPerlで作ったスクリプトをPHPにしたいのです。。
0689nobodyさん2005/10/26(水) 21:29:59ID:???
cgi-lib.php
0690nobodyさん2005/10/26(水) 21:30:38ID:???
マジレスするとPEARでも行けよ。
0691nobodyさん2005/10/26(水) 21:39:55ID:pZpCFSD9
>>689
そういうのがあるのですか…
Googleで検索してみます。

>>690
正直言いますと、PEAR等のサイトは私には難しい、というか…
英語ならあまり分かりませんが、翻訳サイトを使えば問題ないのですが。。
0692nobodyさん2005/10/26(水) 21:44:03ID:???
cgi-lib.phpがあったとして、その中身は何だ?
エイリアスっぽい関数が並んでるだけか?
0693nobodyさん2005/10/26(水) 21:51:21ID:???
>>691
何がしたいか知らんが
cgi-lib.plの機能のほとんどがPHPでは標準関数として揃っている。

どうせ、フォームリクエストのデコードぐらいでしょ。
$_REQUESTで事足りる。
0694nobodyさん2005/10/26(水) 21:52:38ID:pZpCFSD9
>>692
私のPerlのスクリプトでは
require './cgi-lib.pl';
としているので、
PerlからPHPに変換する時に、cgi-lib.plと同等のライブラリ(例えばjcode.plのPHP版でjcode.phpがあるように)
が有れば、
はかどるのではないかと思いまして。。

ですので中身としては、やはり関数ということになると思います。。
0695nobodyさん2005/10/26(水) 22:00:02ID:pZpCFSD9
>>693
そうなのですか。。
関数リファレンスをもう一度漁ってきます。。
Perlのスクリプトでは最初の方で、&ReadParse(*in);を使っているのですが、
その時点でつまずいてしまって…
ReadParseサブルーチンの役目は、フォームから引継いだ値を配列で持たせる機能
と認識しておりますが。。
0696nobodyさん2005/10/26(水) 22:06:18ID:???
いつまでグダグダ言ってんだか……
0697nobodyさん2005/10/26(水) 22:07:37ID:???
>>695
関数ではないんで関数リファレンスでは探しきれないかもね。
PHPではフォームから送信された変数は
 $_GET, $_POST, $_COOKIE, $_FILES
というグローバル配列に *自動的* に格納されている。
また、これらを一つの変数に押し込んだ $_REQUEST もある。
詳しくはPHPマニュアルの "定義済の変数" 辺りを参照のこと。
0698nobodyさん2005/10/26(水) 22:08:44ID:???
本を買え。立ち読みでもいい。前半に出てくる。
0699nobodyさん2005/10/26(水) 22:10:17ID:pZpCFSD9
>>696
すみませんでした。。

>>697
ご回答有り難う御座いました。

また、他の方々も有り難う御座いました。
ROMで頑張ってみます。
0700nobodyさん2005/10/26(水) 22:11:30ID:OwFeh4eM
こんばんは。坊な質問で大変、恐縮ですが、
Apacheダウンロードが終わって、
XPのスタートメニューからApache HTTP Severの中にある筈の
Start Apache in Consoleがないので起動出来ません。
(Configure Apache Server…Review Server Log files…
Apache Dos Online…Help I'm Stuck!は有ります)
これはダウンロードの失敗なのでしょうか?
間抜けな質問で恐れ入りますが、
ご教示下さる様、よろしくお願い致します
0701nobodyさん2005/10/26(水) 22:19:05ID:???
インストールするといいと思うよ
07027002005/10/26(水) 22:24:34ID:OwFeh4eM
すいません。
ダウンロード→インストゥールの間違いです。
0703nobodyさん2005/10/26(水) 22:29:04ID:???
(´-`).。oO(PHPどころかWebProgの質問じゃない気が・・・)
0704nobodyさん2005/10/26(水) 22:31:14ID:???
>>702
Apache2系なら、管理ツールのサービスにApache2が登録されているはずなので、
そこから開始すればいいのでは?
登録されていなければインストールが上手くいってないのかもね。
あと、ここはPHPのスレなのでApache本体の話はしかるべきスレに移動した方がいいと思われ。
07057042005/10/26(水) 22:37:03ID:???
>>704
手動でサービスに登録してみたらどうなる?とかの話はあるんだけど
スレ違いだからあえて書いてないので、念のため。
0706nobodyさん2005/10/26(水) 22:40:32ID:???
なんだこのバカ
0707nobodyさん2005/10/26(水) 23:14:59ID:???
ディレクトリ(test)を生成してファイル(aaa.html)を保存したいのですが、
うまくいきません。
何がいけないのでしょうか?

<?php

$dir = "test";
mkdir($dir,0777);
chmod($dir,0777);

$file = "sample";
@$fp = fopen("./{$dir}/aaa.html","w");
@fputs($fp, $file);
@fclose($fp);

?>
0708nobodyさん2005/10/26(水) 23:18:04ID:???
何が起きているか分かるかもしれないのに自分で潰しているに1票
0709nobodyさん2005/10/26(水) 23:23:26ID:???
>>707
ファイル操作周りの命令の先頭になぜ @ を付けている理由は何?
意味が判って付けているのかな。
07107072005/10/26(水) 23:30:59ID:???
分かってますよ!!馬鹿にしてるんですか!!!??
0711nobodyさん2005/10/26(水) 23:32:37ID:???
>>707 >>710
じゃ、言ってみ。
07127072005/10/26(水) 23:32:45ID:???
頭に@をつけるのは配列という意味ですよね。
07137072005/10/26(水) 23:34:43ID:???
すみません、自己解決しました
0714707です。2005/10/26(水) 23:35:42ID:???
成りすましが迷惑です。
07157072005/10/26(水) 23:37:43ID:???
>>714
@の意味が分ってない上に、自己解決したら原因も書かずに
立ち去ろうとするアホだから成りすまされるだよ(ゲラ)
どうせパーミッションが原因だろうがお前の方がもっと迷惑。
0716nobodyさん2005/10/26(水) 23:38:24ID:???
@で配列ってPerlじゃね?
0717nobodyさん2005/10/26(水) 23:54:58ID:???
なに、この流れ…
0718nobodyさん2005/10/26(水) 23:56:53ID:???
成りすまされたくなかったらトリップ付けろと
0719nobodyさん2005/10/26(水) 23:57:20ID:???
>>707
とりあえず、エラー制御演算子を外してどんなエラーが出てるか読んでみたら?
07206382005/10/27(木) 00:17:02ID:MXg6eyU8
うあー、SELinuxいじってもやっぱり動作しなさげです。

<?php
$fp = fopen("./test.txt","w");
fwrite($fp, "This is a test file.\n");

$image = imagecreate(300, 300);

fwrite($fp, "a\n");
$yellow = imagecolorallocate($image, 255, 255, 0);

fwrite($fp, "b\n");
imagefilledrectangle($image, 0, 0, 300, 300, $yellow);

fwrite($fp, "c\n");
imagepng($image, "./testimage.png");

fwrite($fp, "d\n");
imagedestroy($image);

fwrite($fp, "e\n");
fclose($fp);
?>

ブラウザで実行すると
This is a test file.
とだけ書かれたテキストファイルが生成されます。
テキストファイルは生成できているからパーミッションとかは
問題ないのかなあと。
ターミナル上では画像ファイルも作られるのに。。

どなたかアドバイスをお願いします<(_ _)>
0721nobodyさん2005/10/27(木) 00:46:53ID:???
>>720
CLI版とモジュール版が別オプションでコンパイルされているとか
0722nobodyさん2005/10/27(木) 00:49:53ID:T3Iq0N9f
PEAR XML_RPCのバージョンを上げるにはどうすればいいんですか
0723nobodyさん2005/10/27(木) 00:50:47ID:???
>>720
ってことは、imagecreateの行でおそらくFatal Errorかなんかで止まってるってことだよね?

単純にエラーが出力されてないだけって事は無いの?
つ error_reporting(2047)
0724nobodyさん2005/10/27(木) 00:59:37ID:???
>>719 ありがとうございます。↓がエラー、、

Warning: fopen() [function.fopen]: SAFE MODE Restriction in effect. The script whose uid is 10452 is not allowed to access /virtual/net/public_html/***/*** owned by uid 1000 in /virtual/net/public_html/***/***.php on line 10
Warning: fopen(./test/aaa.html) [function.fopen]: failed to open stream: No such file or directory in /virtual/net/public_html/***/***.php on line 10
Warning: fputs(): supplied argument is not a valid stream resource in /virtual/net/public_html/***/***.php on line 11
Warning: fclose(): supplied argument is not a valid stream resource in /virtual/net/public_html/***/***.php on line 12
0725nobodyさん2005/10/27(木) 01:11:53ID:???
>>724
書いてる通りだ。よかったな、解決したじゃないか。

…で、ここにいる全員が予想していた通り、>>715だったと。
0726nobodyさん2005/10/27(木) 01:16:28ID:???
>>724
じゃ、1つ目のエラーを解決できれば、2つ目以降は問題無いよね。
で、つまり、セーフモードがTrue(1)になっていて、PHPがフォルダの所有者うんぬんが一致するか見にいって、
マッチしないからエラーを吐き出してるんじゃない?

そんなわけだから、>>715 の言ってる事そのまんま。
そのまんまかよっ!
07276382005/10/27(木) 01:30:19ID:MXg6eyU8
>>721
コンパイルはyum任せだから特別なオプションは付けてないです。

>>723
error_reporting(2047)でも
エラーは吐かれませんでした。。。
0728nobodyさん2005/10/27(木) 01:34:18ID:???
>>727
>721が原因とは限らないが、他人任せだからってオプションが同じとは限らない。
それは肝に銘じておけ。
そしてバグをつぶすときはすべての可能性をチェックしろ。
0729nobodyさん2005/10/27(木) 02:48:54ID:SR8ORD3F
>>724じゃないけど、質問します。

safe_modeがオンになってる(変更不能・共有型のレンタルサーバなどの)場合、
スクリプトによって(ウェブ鯖が)フォルダを作る時のuidと実行中のスクリプトのuidが一致しないと
1つのスクリプト実行中にフォルダ作成→作成されたフォルダをいじる(中にファイルなどを作る)って出来ないの?

とんちんかんな質問だったら申し訳ないんだが、誰かおせーて
0730nobodyさん2005/10/27(木) 05:22:13ID:???
http://jp.php.net/manual/ja/features.safe-mode.php
0731nobodyさん2005/10/27(木) 07:03:24ID:???
>>729
そうだよ
必要なディレクトリは前もって作っとけ
0732nobodyさん2005/10/27(木) 10:27:12ID:???
PHP製の拍手システムスクリプトって配布されてないのでしょうか?
1つ見つけたんですが、セキュリティ上問題っぽいので却下
0733nobodyさん2005/10/27(木) 10:29:43ID:???
>>732
直して使えばいいのに
0734nobodyさん2005/10/27(木) 10:39:29ID:???
>>733
直してというのは、その配布プログラムのことでしょうか?
それとも既存のPrel版システムのことでしょうか?

前者はログを淡々とHTMLに書き出していくだけの機能なので、
考えている形(既存のほかのシステムに近い形)にするには
結局時間がかかりそうです。

後者に関しては、もし存在しなければその方法で行くつもりでした。
Prelに詳しくないのでとっつきづらいですが
0735nobodyさん2005/10/27(木) 10:55:58ID:???
>>734
>考えている形(既存のほかのシステムに近い形)にするには 
>結局時間がかかりそうです。 

>>732 にはセキュリティ上の問題って書いてあるから,
それを直して使え,って書いたんだけど・・・
機能不足なら具体的に何が足りないのか書いて.

あと,Prel ってなんですか?
0736nobodyさん2005/10/27(木) 10:59:31ID:???
>>734
Prelって何?プレル?
つーかまずその見つけたPHPのスクリプト晒せばいいのに。
0737nobodyさん2005/10/27(木) 11:05:57ID:???
「セキュリティに問題がある」と分かる知識があるはずなのに・・・?
0738nobodyさん2005/10/27(木) 11:10:30ID:???
変な見栄張りたい年頃なんじゃね?
温かく成長を見守ってやろうよ。
0739nobodyさん2005/10/27(木) 11:14:42ID:???
「web拍手 PHP版」でググっても、作ってくれとかいうのしかヒットしないなぁ。
公式ページを見た感じだとそう難しい事をしているわけでも無さそうだし、
機能を洗い出して一からPHPで書き直すのがいいんでないかい?
perlを良く知らないみたいだし、perl版に手を加えるよりもよいかと。
作ったものに自信が無い場合は、評価スレでコードレビューしてもらえばええよ。
0740軟式PHP2005/10/27(木) 11:19:40ID:???
Web拍手ってボタン押すだけの投票でしょ?
セキュリティ上問題ってどんな作り方してんだつーのwww
0741nobodyさん2005/10/27(木) 11:41:31ID:???
mb_convert_encodingでつまずいています

ISO-2022-JPとJISって全く同じものなのでしょうか
それともISO-2022-JPはJISの一つなんでしょうか

よろしくお願いします。
07427342005/10/27(木) 12:03:09ID:???
派手にスペル間違えてた、ハズカシス

スクリプト自体は「PHP WEB拍手」でググって先頭にくるやつです。
セキュリティ上の問題って書いたのはそこが一番引っかかってたから。
(IP等の個人情報もベタにHTML出力している為、
出力先が分かれば個人情報駄々漏れ)

良く考えたら出力先をパーミッション変えて
直接参照できないようにすれば済む問題だったんですが、
それだと一々確認するのがメンドクサイな、と。
もしくはそういった情報を書き出さないようにするか。
(htaccessでパスワード制限かける手もあるか)
(そもそもセキュリティ上の問題とはちょっと違うかも)

どっちにしろ、一言メールフォームみたいな感じで
考えてたのと違ったので、改変するのに時間かかるなという話で。

結局、そういったスクリプトは無いでFA?
だとしたら、仰る通り一から作るのが早そうですね。
暇が出来たら頑張ってみます
07437292005/10/27(木) 12:18:39ID:???
>>731
そか。ってことは、何かスクリプト作って不特定の人達に配布する時はその辺りも考慮しないといけないんだな。
勉強になったよ。ありがと。
0744nobodyさん2005/10/27(木) 12:18:53ID:???
>>741
ググってないでしょ?
0745nobodyさん2005/10/27(木) 12:22:03ID:???
>>742
暇だったのでそのスクリプトを読んでみたんだが。
IPアドレスをベタにHTML出力している件は、出力しないようにすればいいだけだし
ログファイルがURL直叩きで見える件は、ログファイルの出力先をURLでは参照できない位置に
変更すればいいし…
変更するのに5分もかからないだろ。
何が言いたいんだ?
0746nobodyさん2005/10/27(木) 12:25:35ID:???
>>744
ググったんですが、同じというような事しか書いてなかったんです。
でもどうみても違うような動作をしていたので
質問してみました。
0747nobodyさん2005/10/27(木) 12:28:47ID:???
>>746
違うような動作をする例も質問といっしょに書かないと伝わらない.
0748nobodyさん2005/10/27(木) 12:33:23ID:???
>>747
mb_convert_encodingの第3引数に
JISを指定すると文字化けが起きて、
ISO-2022-JPを指定すると文字化けがおきませんでした

同じものだと思っていただけに納得いきませんでした
0749nobodyさん2005/10/27(木) 12:36:37ID:???
>>748
具体的にどんな文字列を渡したのか,
どうやって出力したのか,
そういう情報を含めるとより伝わりやすい.
07507342005/10/27(木) 12:37:10ID:???
>>745
いや、まぁ。
IPとか直接参照に関してはすぐ対処出来ないことは無いけど
結局、欲しい機能が大幅に足りないから
使うにしても結構手を入れなきゃいかんし、
だったら皆さんのレスにあったように1から作った方が早いかな、と。
それだけのことで
0751nobodyさん2005/10/27(木) 13:03:20ID:???
>>750

>>732
>PHP製の拍手システムスクリプトって配布されてないのでしょうか?
>1つ見つけたんですが、セキュリティ上問題っぽいので却下

↑↑どこをどう縦読みすれば
>欲しい機能が大幅に足りないから
が見つかりますか?
0752nobodyさん2005/10/27(木) 13:04:34ID:???
Content-Type: text/plain; charset=jis

って書いているだけだったりして・・・
07537342005/10/27(木) 13:48:47ID:???
>>751
いや、1回目のカキコでは書いてる時点ではそれが問題だと思ってて、
あとから良く考えたらこの出力結果じゃ必要な機能無いことに気付いて。
2回目以降はそれ(セキュリティ面)は解決できるけどって言う前提で書いてた

まぁ、あんまり出てきてもうざいんで消えます。
作成頑張る
0754nobodyさん2005/10/27(木) 14:51:33ID:???
>>748
3番目の引数に"ISO-2022-JP"を指定するとISO-2022-JP、"JIS"を指定するとISO-2022-JP-1かISO-2022-JP-2になる希ガス。
前者には半角カナや補助漢字が含まれていない。
文字化けの原因は、具体例挙げてくれないと何とも言えないが、両者の間に動作の違いがあるのは確か。
この辺のmbstringの挙動についてドキュメント化されたものは見つからなかったが、ソース見れば動作に違いがあることは明らか。
PHP4ならext/mbstring/mbfilter_ja.c、PHP5ならext/mbstring/libmbfl/filters/mbfilter_jis.cを参照。
マイナーバージョンによって多少ソースの場所が違う可能性もあり。
0755nobodyさん2005/10/27(木) 15:05:32ID:???
>>753
別に出てきても構わんよ。
このスレはどっちかというと煽り進行なのであんま気にすんな。
0756nobodyさん2005/10/27(木) 15:11:06ID:???
>>753
次からは”自分だけの前提”を作らないように、よく考えてから書き込みましょう。

まぁ、あれだ。日本語勉強してくれ('A`)
0757nobodyさん2005/10/27(木) 15:12:06ID:???
>>755
質問スレってどこも煽り進行だしな。

>>753
ガンガレ
0758nobodyさん2005/10/27(木) 15:16:57ID:???
自演乙
0759nobodyさん2005/10/27(木) 16:48:31ID:???
ワイルドカードを許すfile_existsみたいな関数って
用意されていませんか?

001.jpg
002.png
003.jpg
003.gif
004.png

というファイルが入ってるディレクトリdirに対して

file_exists('dir/001.*'); -> true
file_exists('dir/010.*'); -> false
file_exists('dir/003.*'); -> true

のような動作をする関数です
0760nobodyさん2005/10/27(木) 16:51:32ID:???
性器氷原
0761nobodyさん2005/10/27(木) 17:24:15ID:???
file_existsに性器評言が使えるとは知らなんだなぁ…
0762nobodyさん2005/10/27(木) 17:31:29ID:???
>>759
つ [glob]
0763nobodyさん2005/10/27(木) 17:32:30ID:???
>>759
システム関数でls実行させる
0764nobodyさん2005/10/27(木) 18:47:20ID:???
$list = 'hoge|hage|goo|boo|foo|var';
$tgt = 'hoge';
これで、$tgtが$listに含まれるかどうかを調べるとします。

この場合、
if(strpos($list, $tgt)){}

if(strstr($list, $tgt)){}
ではどちらを使うのが良いのでしょう?
0765nobodyさん2005/10/27(木) 18:54:17ID:???
>>764
下。上(strpos)だと{}は実行されないと思うが
07667642005/10/27(木) 18:59:11ID:???
>>765
ごめんなさい。
質問自体を間違えました。

if(!strpos($list, $tgt)){}

if(!strstr($list, $tgt)){}

で、含まれない場合のみ条件分岐したい場合です。
0767nobodyさん2005/10/27(木) 19:03:42ID:???
>>766
下。上(strpos)だと>>764の例($list,$tgt)でも{}内は実行されると思うが
0768nobodyさん2005/10/27(木) 19:05:11ID:???
phpのスクリプトは
ファイル先頭〜<?phpと
?>〜<?phpと
?>〜ファイル末尾の3種類の変数展開されないヒアドキュメントが
自動的に標準出力へechoされるという認識で問題ありませんか?
0769nobodyさん2005/10/27(木) 19:09:11ID:???
>>768
PHPの勉強の前に日本語の勉強をしてください
0770nobodyさん2005/10/27(木) 19:14:46ID:???
>>766
ワザワザ混乱しやすい書き方をしなくても、これでいいのでは?

if(strpos($list, $tgt) === FALSE){
 echo "含まない";
}

if(strstr($list, $tgt) === FALSE) {
 echo "含まない";
}
0771nobodyさん2005/10/27(木) 19:20:35ID:???
>>768
ttp://www.php.net/manual/ja/language.basic-syntax.php
07727682005/10/27(木) 19:53:40ID:???
>>771
ありがとうございます。
?>〜<?phpを跨ぐスクリプトを初めて見たときはギャグだと思いましたが、うまいこと出来てるんですねえ。
0773nobodyさん2005/10/27(木) 19:59:06ID:???
というか基本中の基本
0774nobodyさん2005/10/27(木) 20:04:27ID:???
質問なんですが、
<?php
$outputname="abc.xml";
header("Content-Type: text/xml");
header("Content-Disposition: attachment; filename=$outputname");
require('abc.php');
?>
と書いてabc.phpが作成したxmlファイルをダウンロードさせると
いうプログラムを書いたのですが、これをダウンロードではなく
他のサーバにアップロードさせるという事は可能ですか?
分かる方教えてください。
0775nobodyさん2005/10/27(木) 20:18:00ID:???
>>772
動くけどかなり読みにくいコードになるから,使わない方がいい書き方だけどね.
0776nobodyさん2005/10/27(木) 20:37:11ID:???
>>774
受け取る側(アップロードされる側)がどのようになっているかによるけど、
一般的な方法だと、RFC1867で定義されているHTTPファイルアップロード
(<input type="file">のやり方)か、FTP関数を使ってFTPでアップロード。
07777642005/10/27(木) 20:43:45ID:???
>>770
ありがとうございます。
マニュアルを見たりすると、確かにその書き方が素直ですね。
勉強になりました。
ところで、本題に戻りますが、結局のところ、
この場合、strposとstrstrではどちらを使うのが良いのでしょうか?
0778nobodyさん2005/10/27(木) 20:51:42ID:???
>>777
既に二人が strstr() を上げてるわけだけど,
その問題はそんなに重大なの?

同じことをするのにあるところでは strpos, 別のところでは strstr,
ってなってなければどっちでもいいと思うんだけど..

あるいは専用の関数を作って,あとから strpos/strstr を切り替えれるようにするとかさ・・・
0779nobodyさん2005/10/27(木) 21:34:05ID:???
>>777
>>764-767の様式だと指摘されている通り、strposでは正常に動かない
>>770であればどちらでも同じ。
好きな方をどうぞ。混乱するなら"===FALSE"を使う770を勧めるが
0780nobodyさん2005/10/27(木) 21:39:08ID:Vm7GcHkR
hoge.php?foo
のfooの部分を取得したいんですが、どうやるんでしょうか?
hoge.php?foo=abc
こうやって渡さないとダメですか?
前者みたいなアドレスを見た記憶があるんですが・・・
0781nobodyさん2005/10/27(木) 21:44:18ID:???
>>780
phpinfo()を使って、どっかの変数に渡されていないか確認してごらん。
0782nobodyさん2005/10/27(木) 21:48:39ID:Vm7GcHkR
ありがとうございます。
0783nobodyさん2005/10/28(金) 00:28:11ID:Mre4QHxw
MySQLの応答でEmpty set (0.00ms)と出るのをPHPでどう判断したらいいですか?
if($result == "") { error(); }
if($result == NULL) { error(); }
if(empty($result)) { error(); }
どれもダメでした・・・
0784nobodyさん2005/10/28(金) 00:38:01ID:???
>>783
if (mysql_num_rows($result) <= 0) { error(); }
0785nobodyさん2005/10/28(金) 05:11:16ID:???
>>784
横からスマソ。
mysql_num_rowsって負の値が返ってくることはあるの?
0786nobodyさん2005/10/28(金) 06:05:37ID:???
784じゃないけど

負の値が返るって無いと思うけど、ありえない(と思われる)ことも考慮してエラーにする
ってことは普通してるけどな
0787nobodyさん2005/10/28(金) 06:41:57ID:???
>>786
まあ程度の問題。
fcloseとかもmanpageには戻り値見ないのは重大な問題みたいに書いてあるけど
実際気にしてないし。
0788nobodyさん2005/10/28(金) 07:40:00ID:???
>>777
strposで先頭にマッチ(戻り値が0)したときのことを理解していればどっちでも良い
0789nobodyさん2005/10/28(金) 08:04:31ID:???
レンタルサーバ上で、PHP_INI_ALLになっている設定項目(include_path)を
ini_setで変更しようとしているのですが、phpinfo()で確認しても変更されていません。
これはサーバ側で変更されないように制限しているということなのでしょうか?
0790nobodyさん2005/10/28(金) 11:38:56ID:???
>>789
・ini_set(include_path)はどんな値を返してるんだ?(0か?)
・同じスクリプトの中でini_set()とphpinfo()を書いて確認してるよな?
0791nobodyさん2005/10/28(金) 13:04:40ID:???
> ・同じスクリプトの中でini_set()とphpinfo()を書いて確認してるよな?

これの予感 ビンビン
0792nobodyさん2005/10/28(金) 14:32:52ID:???
もちろんかいてます(`・ω・´)
<?php
phpinfo();
ini_set("include_path", "hogehoge");
?>


とか。(´・ω・`)
0793nobodyさん2005/10/28(金) 15:04:37ID:???
<?php
ini_set("include_path", "hogehoge");
phpinfo();
?>
0794nobodyさん2005/10/28(金) 15:36:01ID:traX7I47
質問です。

RHEL4にphp3はインストールできますでしょうか?
apache2がphp3に対応してないというのは調べたのですが、それ以外はわからないです。
OSが有償なので、手元に環境を作れなくて困ってます。
よろしくおねがいします。
0795nobodyさん2005/10/28(金) 15:48:11ID:???
>>794
RPM使わずに自分でビルド
0796nobodyさん2005/10/28(金) 16:11:20ID:???
>>794
>apache2がphp3に対応してない
してなくはない。CGI版のphp3を使え。
つか今時どういう用途でセキュアでないphp3使うの?
0797nobodyさん2005/10/28(金) 16:31:53ID:???
randとmt_randの違いって…







何?
0798nobodyさん2005/10/28(金) 17:07:24ID:???
>>797
ちっとはマニュアル読めよ。せっかく日本語訳(完全じゃないし、誤字脱字多いけど)があるのに。
ttp://jp2.php.net/manual/ja/function.mt-rand.php

=以下上記アドレス先の中の抜粋=
古いlibcの多くの乱数発生器は、怪しげであるか特性が不明であったり し、また低速でした。
デフォルトでは、PHP は rand() においてlibcの乱数発生器を使用します。
mt_rand() 関数は、その代替品となるものです。
この関数は、その特性が既知の乱数生成器 Mersenne Twister を使用し、
平均的な libcの rand()よりも 4 倍以上高速に乱数を生成します。
0799nobodyさん2005/10/28(金) 17:15:35ID:???
ログをファイルに出力しようと思っています。

排他制御について聞きたいのですが、
ファイルを毎回操作するとファイルが消えないか心配なので
(ファイルロックを過信したくない)
postgresにログをダンプしておいて、
一定時間ごとにファイルに出力する
といった方法を考えていますが
こうすることで排他制御の信頼性はあがりますか?
0800nobodyさん2005/10/28(金) 17:22:32ID:???
排他制御は信頼性じゃなくて信頼できるかできないかのどっちかだよ
0801nobodyさん2005/10/28(金) 17:43:08ID:???
DB使えるならそっちでいいのでは。
08027972005/10/28(金) 17:45:58ID:???
>>798
わざわざ抜粋までしてくれてありがとう。胸のもやもやが晴れました。
0803nobodyさん2005/10/28(金) 18:42:04ID:???
>>790
> >>789
> ・ini_set(include_path)はどんな値を返してるんだ?(0か?)

ini_set自体は
string(41) ".:/var/tmp/httpd-1.3.33-root/PHP4/lib/php"
というサーバ規定値を返しています。

> ・同じスクリプトの中でini_set()とphpinfo()を書いて確認してるよな?

>>793と同じように記述しています。
0804nobodyさん2005/10/28(金) 20:09:41ID:???
phpBB2へのFTPパスって一体なにのことですか?
http://自分のアドレス/bbs/install/install.php にアクセスして、
自分のサーバに適するように設定しました。
セキュリティのため「install」と「contrib」フォルダを完全に削除するのがよく分からなかったのですが、
右クリックでR削除しました。
成功していれば、http://自分のアドレス/bbs/自分の掲示板が表示されるはずですらしいのですが、
また
”ようこそphpBB2のセットアップ画面へ”
になってしまって、新規では出来なくなってしまいました。
登録終わったはずなんですが、何度リロードしても
http://自分のアドレス/bbs/install/install.phpになってしまって、
まったく先へ進めません。
”アップグレード”にして登録しなおしても駄目です。
というか、そのアップグレードの際に聞かれるphpBB2へのFTPパス
っていうのがわかりません。
すみません、なにか助言お願いします。
0805nobodyさん2005/10/28(金) 20:18:40ID:???
えぇと・・エスパーかphpBB2利用者の方、出番ですよ
0806nobodyさん2005/10/28(金) 20:38:59ID:???
解決!!
0807nobodyさん2005/10/28(金) 20:44:49ID:???
いかなる状況でも

//index.html
<a href="hoge.php">クリック</a>

で呼び出したhoge.php側で、自分を呼び出したindex.htmlのファイルパスを特定することってできますか?
0808nobodyさん2005/10/28(金) 20:47:44ID:???
URLからファイルパスを推測してください
08098072005/10/28(金) 20:52:31ID:???
/dir1/dir2/index.html
から
/dir1/hoge.php

を呼び出したとき

//index.html
<a href="../hoge.php">クリック</a>

それでもhoge.phpにて自分を呼び出したファイルのパスを推測することは可能ですか?
0810nobodyさん2005/10/28(金) 20:55:35ID:???
>>809
リファラー+自前処理
0811nobodyさん2005/10/28(金) 21:00:28ID:???
どうも>>774の者ですが、FTPでの転送は下記のように出来ましたが、
$upload = ftp_put($conn_id, $destination_file, Auto.GIF, FTP_BINARY);

>>774に書いたようにPHPで作成(表示)したxmlファイルをアップロード
するにはどうしたらよいでしょうか?よろしくお願いします。
08128072005/10/28(金) 21:32:24ID:???
>>810
> リファラー+自前処理

もしノートンとかリファラーが取れないシステムをクライアントが使っていたら
この方法は無理ってことですか?
0813nobodyさん2005/10/28(金) 21:44:41ID:???
いかなる状況でも <<これのせいで誰も答えられないと思われ。
セッションとか色々方法はあるけどな
0814nobodyさん2005/10/28(金) 21:54:25ID:???
>>813
セッションはCookie受け付けないように設定している香具師には無意味だったんじゃね〜のか?
0815nobodyさん2005/10/28(金) 22:03:01ID:???
>>814
自分で、クッキー拒否って試しみれば?
08168072005/10/28(金) 22:10:11ID:???
>>813
なるほど、セッションで可能になるんですね。
セッションに関して調べてみます。
0817nobodyさん2005/10/28(金) 22:41:45ID:???
>>811
関数の引数がファイル名を要求しているのだから、アップロード用に一時ファイルを作成すればよろし
0818nobodyさん2005/10/28(金) 22:50:56ID:deFUSwPy
http://all.netgamers.jp/ad11.html

ここにあるスマイルってどこでダウンロードできますか?
0819nobodyさん2005/10/28(金) 22:53:13ID:???
>>818
マクドナルド
0820nobodyさん2005/10/28(金) 22:54:56ID:???
>>818
リンク見てないけどたぶんマクドナルド
0821nobodyさん2005/10/28(金) 23:08:03ID:deFUSwPy
ちがいますよぉw
ほんとにお願い。
0822nobodyさん2005/10/28(金) 23:18:29ID:???
>>818

>初期状態であれば /images/smiles にあります。

って書いてあるが。
0823nobodyさん2005/10/28(金) 23:21:20ID:???
array('a', '1', 'b', '2')
というただの配列を
array('a'=>'1', 'b'=>'2')
て感じに連想配列に変換してくれる標準関数というのはありますか?
マニュアルの配列のところをざっと見てみたんですけどそれらしいのは無かったので・・
0824nobodyさん2005/10/28(金) 23:22:43ID:???
>>823
無い。ていうかあるわけが無い。
0825nobodyさん2005/10/28(金) 23:33:59ID:deFUSwPy
>>822
ないのだ。
黄色い、外人がよく使うオーバーな顔文字しかないのだ・・・。
0826nobodyさん2005/10/28(金) 23:38:27ID:???
>>824
そうですか(´・ω・`)
SEO対策に、'PATH_INFO'で受け取った文字列を配列にしたかったんですけど、自分で書くしかないですね。
0827nobodyさん2005/10/28(金) 23:38:31ID:???
>>823
ないけど、速攻書けるでしょ。

$src = array('a', '1', 'b', '2');
$dst = array();

for ($i = 0; $i < count($src); $i++, $i++)
 $dst[$src[$i]] = $src[$i + 1];
0828nobodyさん2005/10/29(土) 00:51:55ID:???
>>825
俺のテレパス能力を駆使したところ、おまえは「そのページにある
"2ch風のスマイリー画像"が欲しいのだがどこにあるのか?」と読めた。


管理人に聞けよ。問い合わせフォームあるんだからさ。
0829nobodyさん2005/10/29(土) 02:40:20ID:???
>>817
ありがとうございます。
参考にしてみます。
0830nobodyさん2005/10/29(土) 04:59:06ID:hGe3IwmV
PHP5のExceptionはどうしても手動で投げなくちゃいかんですか?
0831nobodyさん2005/10/29(土) 05:02:20ID:???
>>830
いみがわからない
具体例を挙げよ
0832nobodyさん2005/10/29(土) 05:29:46ID:???
>>831
JavaScriptなら手動でthrowしなくても、try中のエラーを拾ってくれるんですが、
PHPではそういうことはできませんか?
0833nobodyさん2005/10/29(土) 05:34:23ID:???
>>832
そういうのってPHPではエラーとかwarning出すからねぇ
必要なら自分で投げるしかないよ
0834nobodyさん2005/10/29(土) 06:04:52ID:???
selfが使えるようになったのって、php5からでしたっけ?
0835nobodyさん2005/10/29(土) 06:06:14ID:???
関数内から、その関数の名前を取得することはできますか?
0836nobodyさん2005/10/29(土) 06:06:51ID:???
>>833
やはり手動になりますか。どうもありがとう。
0837nobodyさん2005/10/29(土) 06:07:22ID:???
>>835
__FUNCTION__
08388352005/10/29(土) 06:18:12ID:???
>>837
すごー! 早速できました、ありがとうございます。
(でも基本だったりしたかもですね。。)
0839nobodyさん2005/10/29(土) 06:22:23ID:???
>>834
そうだけど
08408342005/10/29(土) 06:25:35ID:???
>>839
どもです。やはりそうでしたか。
0841nobodyさん2005/10/29(土) 07:08:42ID:???
レッツPHPのPHPぁぷろだで、うpから24時間経過したファイルを自動的に削除するようにしたいんですが
0842nobodyさん2005/10/29(土) 07:13:45ID:???
>>841
んで、自分でどこまでやったの?
0843nobodyさん2005/10/29(土) 07:29:43ID:???
通常はファイルが追加されたときに古い分から削除するようになってますよね
だからログへの書き込みが発生しないと削除という動作も発生しないわけで
例えば24時間誰もアクセスしなくても削除されるようにしなきゃならないためには
アクセスしなくても常に動作してなくちゃいけないわけで、それってできるのかなって段階です
0844nobodyさん2005/10/29(土) 07:34:43ID:???
>>843
cronっていうのを使えば可能だけど、PHPの範疇ではないのでググって調べてみ。
0845nobodyさん2005/10/29(土) 08:34:34ID:IUjor8kw
evalは、実行の最中に後からコンパイルしなければいけないので
遅いと聞いたことがありますが、
ということは
$$hogeという変数の書き方をした場合もやはり遅くなるのでしょうか?
それともPHPでは変数はもともと動的に
型付けされているから遅くならない…?
0846nobodyさん2005/10/29(土) 10:48:43ID:hGe3IwmV
PHPのパースエラーなどのスクリプト実行前のエラーを、
管理者にメールで通知送信することはできますか?
0847nobodyさん2005/10/29(土) 10:58:10ID:???
>>846
set_error_handler() でフックしてごにょごにょ
0848nobodyさん2005/10/29(土) 11:05:25ID:???
>>847
↓のエラーはset_error_handler() ではフックできないので・・・
>注意: 以下のエラー型はユーザ定義関数では扱うことができません。
>E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING,
>E_COMPILE_ERROR, E_COMPILE_WARNING
0849nobodyさん2005/10/29(土) 11:11:10ID:???
>>846
848にあるように、パースエラーはフックできない。だから、たぶん無理と思われ。
てか、何でこんなことやりたいんだ?
パースエラーをメールで通知して、楽しい?
0850nobodyさん2005/10/29(土) 11:15:41ID:???
>>848-849
あ,そうか・・
パースエラーってのはそもそもコードが実行できない状態なわけだから
フックできるわけないか・・
0851nobodyさん2005/10/29(土) 11:16:00ID:???
嬉しい!
0852nobodyさん2005/10/29(土) 11:20:49ID:???
>>849
ライブラリなどいろいろ使っていると、サーバ環境に変更があったときなどに、
どこかで思わぬ影響が出る可能性もあるので、念のため、保険的な役割です。
0853nobodyさん2005/10/29(土) 11:35:45ID:???
>>852
パースエラーはお前の書き間違いなので環境には影響されないだろ
08548492005/10/29(土) 11:43:46ID:???
>>852
サーバ環境を変更したときに、パースエラーが発生する可能性のある処理を
具体的に挙げてください
0855nobodyさん2005/10/29(土) 11:55:04ID:???
PHPを入れ替えたりしたなら、可能性はあります。
必要なライブラリが入れ忘れたりしたら、パースエラーは出ます。
まあ、保険ですから、なければそれに越したことはないんですが。
0856nobodyさん2005/10/29(土) 12:08:59ID:???
ライブラリ不足でパースエラーにまでなるケースはないのかな。
ただし、未定義の関数を呼び出した場合など、
set_error_handler()でフックできないFatal errorが出ることはあります。
他にはメモリ制限を越えるケースなどもありますし・・・。
0857nobodyさん2005/10/29(土) 12:16:14ID:???
>>855
ライブラリがなかったからってパースエラーにはならんよ。
構文解析してんのはライブラリなんかがロードされるより先だし。
0858nobodyさん2005/10/29(土) 13:34:30ID:???
ignore_user_abortについてなんですが以下のような考えであってますでしょうか?

ignore_user_abort(2)
で閲覧者からのブラウザ操作を無効にする
ignore_user_abort(0)
で有効にする

という認識でファイル操作時に使ってるんですが…違ってたら教えていただきたいです。
0859nobodyさん2005/10/29(土) 14:04:28ID:oQPmcAu1
デザイン(html)とphpを極力分けたいのですが、
それ筋に詳しいサイトとか教えてもらえないでしょうか?

smartyのような外部スクリプトに頼るのは極力避けたいと思ってます。
08608592005/10/29(土) 14:10:04ID:???
テーブル周りが特に厳しいです。
例えば、mysqlからデータひっぱってきて表示させる場合など、
どうしてもテーブル周りのhtmlとphpが混在してしまってごちゃごちゃ
する感じが非常に鬱です。
0861nobodyさん2005/10/29(土) 14:34:28ID:???
>>859
そもそもその用途にphpは向かない
0862nobodyさん2005/10/29(土) 14:36:41ID:???
>>859
というかタグでのデザインは最小限にしてCSSを主体にすればいいじゃん
0863nobodyさん2005/10/29(土) 14:38:07ID:???
>>859
どうしてSmartyを避けるのはなぜ?
0864nobodyさん2005/10/29(土) 14:54:57ID:???
寝違えた。右向けない。
0865nobodyさん2005/10/29(土) 15:27:45ID:???
質問です。
セッション変数の利用では
session_start
でセッションを読み込み
session_write_close
で(もしくはそのPHPを抜けると)書き出すようなのですが、
「読み込んだけど、やっぱり書き出したくない」という我がままさんな時に利用できそうな関数が見つかりません。
そんなものは存在しないのでしょうか?

ttp://manual.xwd.jp/ref.session.html
の一覧の中にそれっぽいものが無かったのです。
session_destroy
が近いかなと思ったら、セッションファイル自体が「削除」されてしまいました。

0866nobodyさん2005/10/29(土) 15:33:48ID:???
そもそもセッションって何のために使うのか分からない
0867nobodyさん2005/10/29(土) 15:42:21ID:cNmjzv6x
フォームでPHPにデータを送って、PHPでMySQLのテーブルに追加するっていうcgiを作ってるんですが、
フォームで送ると必ず文字化けしてしまいます。
phpMyAdmin上で追加するとちゃんと表示されるんですが・・・
0868nobodyさん2005/10/29(土) 15:45:59ID:???
>>865
セッション変数の値を変更しなければ、たとえ書き出されても
内容は変わっていないので問題ないと思うんだけど…
0869nobodyさん2005/10/29(土) 15:47:29ID:???
>>868
お返事ありがとうございます。
ファイルの更新日時を別のPHPが参照しているので、更新されると困ってしまうわけです。
また、書き込みにもパワーを使うでしょうから書き込まないにこしたことはないかなと。
0870nobodyさん2005/10/29(土) 15:49:20ID:???
>>867
フォームからのクエリをちゃんとコード変換してる?
0871nobodyさん2005/10/29(土) 15:52:55ID:???
>>865
unset

あとsession_write_closeは「普通は使わない」
0872nobodyさん2005/10/29(土) 15:54:01ID:cNmjzv6x
>>870
コード変換で調べてみます
できなかったらまた来ちゃいます
0873nobodyさん2005/10/29(土) 15:57:51ID:???
みんなセッション変数ってどういう場面で使ってる?
0874nobodyさん2005/10/29(土) 16:05:04ID:???
サイト内をぐりぐり移動させる系。
仕事だと頻繁に使うだろ。特に金がからむとこ。
0875nobodyさん2005/10/29(土) 16:05:33ID:???
>>873
セッション管理
0876nobodyさん2005/10/29(土) 16:05:59ID:???
>>873
ページ間で渡すデータが多い時、
ページ間で渡すデータにある程度の信頼性が必要な時、
ページ間の移行に自由度or制限を持たせたい時
等々・・・考えれば色々あると思うが
0877nobodyさん2005/10/29(土) 16:07:19ID:???
>>871
ありがとうございます。
unset試してみました。
だたセッションファイルの中身が0バイトになってしまい、望んでいた効果ではなかったようです。

0878nobodyさん2005/10/29(土) 16:08:54ID:???
>>876
> ページ間で渡すデータが多い時

それなら

tmp.php?val1=hoge1&val2=hoge2&val3=hoge3・・・

といった感じでデータ渡していけない?
0879nobodyさん2005/10/29(土) 16:10:32ID:???
>>878
ブラウザ側にデータを持たせると、どう改竄されるかわからない。
その点実データがサーバー側にあるセッション変数は楽ちん。
0880nobodyさん2005/10/29(土) 16:16:07ID:???
>>877
まさかunset($_SESSION)とかやったんじゃないだろうな・・・・?
そうでないなら何がしたいのか良く分からん

>>878
もし渡すデータが1Mバイトとかに及んでも問題ないと思う?
0881nobodyさん2005/10/29(土) 16:19:26ID:cNmjzv6x
>>867です。
調べてみると、mb_convert_encoding();という関数を使うのが見つかったんですけど、
これはわざわざインストールしないといけないみたいなんですが、他に方法はありますか?
08828682005/10/29(土) 16:20:19ID:???
>>877
ざっとPHPのソースを追ったみたけど無理じゃないかなぁ。
session_start() で内部の(外部から操作できない)アクティブフラグがオン、
スクリプト終了時にアクティブフラグがオンであればセッションファイルを更新しているみたいだし。
自前でsession_set_save_handlerを書くしかないのかな…
他のPHPからセッションファイルの更新日時を参照してゴニョゴニョするって仕様を
何とかした方がいいようにも思うけど。
0883nobodyさん2005/10/29(土) 16:23:09ID:???
>>880
session_unset();
とやった結果、セッションファイルが0バイトに上書きされました。


unset();
で試してみましたが、セッションファイルの中身はそのままですが、
更新日時が更新されているので書き込まれてしまったようです。

やりたいことをあらためて説明しますと
「session_start()したあと、セッションファイルに書き込みをすることなくcloseしたい」のです。
イメージ的に言うと
sessin_no_write_close();
のような命令が欲しいのです。
0884nobodyさん2005/10/29(土) 16:25:42ID:???
>>882
なるほど。了解しました。
セッションファイルに持たせているファイルが多めなので、いったん読ませるのを避けたかったのです。

何か別のファイルに更新情報だけもたせ、それを見るようにしてみたいと思います。
ありがとうございました。
0885nobodyさん2005/10/29(土) 16:26:18ID:???
>>881
・cgiが出力するHTMLの文字コード(作りによっては = スクリプトの文字コード)
・MySQLクライアントが使用する文字コード
・MySQLのバージョンによっては、MySQLサーバーが使用する文字コード
が合っていれば、特に文字コード変換をしなくても化けないと思うけど。
0886nobodyさん2005/10/29(土) 16:26:35ID:???
>>879-880
なるほど・・・
となると今後は

tmp.php?val1=hoge1&val2=hoge2&val3=hoge3・・・

というデータの渡し方は急速に過去の手法になってしまうわけ?
0887nobodyさん2005/10/29(土) 16:34:01ID:???
>>886
サーバーで保存するべきデータと、ブラウザから送るべきデータがあるだろ。
後者がある限り使われる
0888nobodyさん2005/10/29(土) 16:36:40ID:???
>>886
んな訳ない。セッションはページ間の受け渡しに使うものであって、
他の関係ないページにデータを渡す手段としてのGETやPOSTが無くなるとは
とても思えない。

例えばここ(掲示板等)からgoogleにだってデータ受け渡せるでしょ
http://www.google.co.jp/search?q=the+answer+to+life+the+universe+and+everything
0889nobodyさん2005/10/29(土) 16:45:31ID:62Wo0hD9
HTMLのフレームを使わないで、フレームっぽくみせる方法はあるでしょうか?
0890nobodyさん2005/10/29(土) 16:51:45ID:???
何をもってフレームっぽく?
あとここはPHPスレだから、htmlスレにいったほうがいいかと
0891nobodyさん2005/10/29(土) 17:51:01ID:cNmjzv6x
---header.inc----
<?php
function header($title) {
print <<< _HTML_
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
〜〜〜
<body>
_HTML_;
}
?>
-----------------

header.incをメインのphpで読み込んで、使いたいんですが、エラーがでます
<?php
require_once("header.inc");
function html() {
header("登録完了");
print <<< _HTML_
〜〜〜〜
_HTML_;
}
?>
0892nobodyさん2005/10/29(土) 18:02:31ID:???
>>891
エラーメッセージぐらい書け。
多分、header()という名前が標準関数と同じ名前だからダメと思われ。
0893nobodyさん2005/10/29(土) 23:55:06ID:???
mkdir("/var/www/html/hoge");

system("mkdir /var/www/html/hoge");
を動かそうとすると前者はFALSE
08948932005/10/29(土) 23:59:51ID:oJpOHanR
ぎゃーーー途中で書いてしまった・・・。
もう一度最初から
Fedoracore4、apache2でphpを動かしています。
mkdir("/var/www/html/hoge");

system("mkdir /var/www/html/hoge",$aho);
echo $aho;
を動かすと前者はFALSE、後者は1が帰ってきて
hogeフォルダが作れません。
windowsの場合だと上記の方法でうまく行っていたのですが
linuxではsystem関数やmkdir等を使う場合は特別な設定が必要なのでしょうか
0895nobodyさん2005/10/30(日) 00:18:38ID:???
>>894
つ「ぱーみっしょん」
0896nobodyさん2005/10/30(日) 00:20:33ID:1KfOrRxK
だめだ・・・MySQLの日本語のデータがどうしても文字化けしてしまう

[form.html]
 <meta http-equiv="content-type" content="text/html; charset=Shift_JIS">

フォームから送られてきたものを処理するphpではデータをそのままSQLに送ってます

で、SQLの照会順序は
sjis_japanese_ci
テーブルの照会順序も
sjis_japanese_ci

なんで文字化けするんでしょう??
他どこをいじったらいいですか?
0897nobodyさん2005/10/30(日) 00:23:55ID:???
なぜ取り出したデータのコードを調べない?
0898nobodyさん2005/10/30(日) 03:28:29ID:1KfOrRxK
え、そんなんできるんですか?
ちなみにどうやるんでしょう・・・
0899nobodyさん2005/10/30(日) 03:45:54ID:???
>>896
文字コードって知ってる?
SQLにデータを入れるときに、SQLのキャラクタにあわせて文字コード変換してる?
とりあえずSQLに入れる前にmb_convert_encording汁。
0900nobodyさん2005/10/30(日) 09:42:35ID:???
>>896
MySQLと接続後(mysql_connect() を呼び出した後)に
mysql_query('SET NAMES sjis');
を実行したら直らないか?
09018932005/10/30(日) 11:18:12ID:os3jjLkZ
>>895
だー!そんな基本的なこと何忘れてんだろう・・
ありがとう!
0902nobodyさん2005/10/30(日) 13:26:35ID:oTdkkAz2
ifやwhileを使いまくってると{}が
ごちゃごちゃしてきて、
どの{}かさっぱり分からなくなってくるんだけど、
何か分かりやすい記述方法ないでしょうか?
インデントとか使ってるが全く俺には効果なしです。
0903nobodyさん2005/10/30(日) 13:30:59ID:???
メモ帳だからしょうがない。
0904nobodyさん2005/10/30(日) 13:32:20ID:???
>>902
ショートカットで現在指定している始点・終点括弧に飛ぶやつとか
範囲色が出るやつとか色々あるからエディタを変えなさい。
0905nobodyさん2005/10/30(日) 13:35:41ID:???
>>902
ifやwhileを減らせばいい。
0906nobodyさん2005/10/30(日) 13:46:58ID:???
見通しが悪くなるぐらい {} の中が長くなったりインデントが深くなる時は
中の処理を適度に関数化。
後は while の中で if 〜 else なんかの処理は continue を使って else を
排除する(インデントを浅くする)ことができる場合もあるし。
まぁ賛否両論だろうけど、好きずきで。
0907nobodyさん2005/10/30(日) 14:10:08ID:???
>>902
if (nantyara){

aatarakoutara;

} // end if

0908nobodyさん2005/10/30(日) 14:11:21ID:???
セッション管理ってURLに埋め込む方法とCookieに埋め込む方法の2種類有るらしいけど
どう使い分けてる?
0909nobodyさん2005/10/30(日) 14:22:32ID:???
>>908
Cookieだと以下のようなことが起きるのでURL埋め込み or HIDDEN渡しにしてCookieは使用していない。

ブラウザAを起動してユーザー名 xxx でログオンしてセッションに xxx を保存
別にブラウザBを起動してユーザー名 yyy でログオンしてセッションに yyy を保存

ブラウザAでログオンしたユーザー名が yyy になってしまう
0910nobodyさん2005/10/30(日) 14:23:04ID:???
>>908
要求セキュリティーレベルに応じて
0911nobodyさん2005/10/30(日) 14:27:21ID:???
$_POST["abc"]
$_POST[abc]
どっちが正しい表記だっけ?
0912nobodyさん2005/10/30(日) 14:32:54ID:???
>>911
試してみればすぐ判るだろうに。
$_POST["abc"] が正解。
0913nobodyさん2005/10/30(日) 14:48:12ID:???
$_POST[abc]が正しい。
0914nobodyさん2005/10/30(日) 14:50:36ID:???
>>911
まあ define("abc", ... ) とかない限りは上だ罠。
0915nobodyさん2005/10/30(日) 15:49:34ID:???
配列オブジェクトの、オブジェクトIDみたいなのってとれますか?

やりたいことは、複雑な入れ子になった配列にたいしてある関数を適用させるのですが、
すでに関数を適用した配列に対して2回以上の適用を避けるために、配列のIDみたいなのを取得して記録しておこうと思っています。

$hash = array();
function foo($array) {
 global $hash;
 $id = object_id($array);
 if ($hash[$id]) return;
 $hash[$id] = true;
 foreach ($array as $item) {
  if (is_array($item)) {
   foo($item);
  } else {
   ...
  }
 }
}

よろしくお願いします。
0916nobodyさん2005/10/30(日) 15:53:45ID:???
>>915
$array["foo済み"] = true
とかは?
09179152005/10/30(日) 16:01:16ID:???
>>916
データである$array自体に変更を加えるわけにはいかないんです。
この制約があるために、配列のIDみたいなのがないかなーと。
0918nobodyさん2005/10/30(日) 16:32:01ID:???
携帯等でページを見た場合で出力サイズがデカイ場合にページを分割したいのですが、
出力用の変数に出力する内容をぶちこんでサイズを見て分割、受け渡しはセッションで。
っていう方法しか思いつきません。他になにか方法があればヒントだけでも知りたいです。
0919nobodyさん2005/10/30(日) 17:02:36ID:???
テキストファイルの内容を弄るスクリプト作りたいのですが、
(テキストファイルにある文字列を書き込んだり、修正したりする感じです)
一から作るのもあれなんで、
モジュールとかないもんでしょうか?
0920nobodyさん2005/10/30(日) 17:57:59ID:???
>>915
条件ごとにサブルーチンへ飛ばせばすっきり。
09219152005/10/30(日) 18:06:56ID:???
>>920
???
すみません、いみがわからないです。
0922nobodyさん2005/10/30(日) 19:17:33ID:???
掲示板なんかでフォームの入力値を判断して、問題あったらエラーを表示
させるみたいなのあるじゃないですか。
そこの部分が個人的にきったないコードになってしまうんです。
いい見本きぼんぬ
0923nobodyさん2005/10/30(日) 19:29:50ID:???
悪い見本を見せてくれ。
長いと見る気無くすので骨子の部分だけで。
0924nobodyさん2005/10/30(日) 20:01:08ID:???
>>922
フォーム関連はフレームワーク使うかHTML_QuickFormみたいなの使うのが今のところ主流
0925nobodyさん2005/10/31(月) 02:51:28ID:MpHxARpO
PHP+GDで画像を出力するスクリプトを書いています。
出力の際に↓のようなコードを書いてるのですが、


header("Content-type: image/gif");
imagegif($im);
imagedestroy($im);


IEだと、表示された画像を保存しようとしても、
ファイル名が  無題.BMP となり、保存形式もBMP形式しか選べません。
IEキャッシュの削除をしてみましたがだめでした。
(当然、PHPは4.x.x以上、GDはGIFが扱えるバージョンです。)

調べて見ると、どうもIEはContent-typeを無視するようで、
.htaccess で指定してみたんですが、これでも無視されてるようです。

text/htmlとして出力するようにしたら、うまく GIF形式になったんですが、
それだと、Firefoxなどのブラウザでファイルの中身が表示されるように・・・

なにかうまい解決策はないでしょうか??

0926nobodyさん2005/10/31(月) 03:25:34ID:???
>>925
それはIEがおかしくなってるよ
通常は元の画像形式で保存できる

ダウンロードされたオブジェクト(プラグインとか)が壊れてるとそうなるらしい
キャッシュフォルダーの設定のとこでオブジェクトを表示して全部削除すると直ったと思った
09279252005/10/31(月) 05:27:15ID:???
>>926

と思ってPCとかでも試してみたけどだめでした

Content-typeが無視されるIEのバグのせいだと思うんですが・・・

うーん、うまい対策方法はないんだろうか

ほんとIEは消えてほしい ort
0928nobodyさん2005/10/31(月) 05:28:10ID:???
PCとか −> 他のPCとかで

でした。
0929nobodyさん2005/10/31(月) 05:49:32ID:???
IEでファイル保存するときのファイル名はcontent-dispositionでfilenameを指定すればいけんジャマイカ?
0930nobodyさん2005/10/31(月) 06:03:41ID:???
>>925
これも試してみ

ツール>インターネット オプション>全般>インターネット一時ファイル>
設定>オブジェクトの表示

状態の不明、壊れていますを削除

ttp://support.microsoft.com/default.aspx?scid=kb;ja;810978
0931nobodyさん2005/10/31(月) 06:21:37ID:???
>>930

だめでした

PHPで直接ファイル等を出力した場合に、
というか、

「どんなファイルでも、指定したContent-typeを無視して、
 ファイルの内容から勝手にContent-typeを判断する」、

というIEのバグのせいらしいので、オブジェクトやキャッシュとは無関係だと思います。


>>929

ちょっと調べてそれでやってみます
0932nobodyさん2005/10/31(月) 06:32:47ID:???
>>929

の方法で、
Firefoxとかで保存する際に、デフォルトのファイル名が 〜.php (ファイル形式 GIF)だったのが、
〜.gif(ファイル形式 GIF)になるようになりました!!!

しかし、肝心のIEは 無題.BMP(ファイル形式 BMPのみ)のまま・・・

やはり、 header(〜); で出力されたヘッダー全てが完全に無視されてるようです。

試しに、Content-typeの出力を

 header("Content-type: text/plain");

としてみましたが、見事に無視・・・

ちなみにIEは6です。ほんとIEだけは消えてほしい・・・

バグだからしょうがないんですかね ハァ
0933nobodyさん2005/10/31(月) 06:36:32ID:???
ttp://72.14.203.104/search?q=cache:d9PD9Fd8ijsJ:rwiki.moonwolf.com/rw-cgi.cgi%3Fcmd%3Dview%3Bname%3DXSS%2Btext%252Fplain%E5%95%8F%E9%A1%8C+content-disposition+IE+%E7%84%A1%E8%A6%96&hl=ja&lr=lang_ja

>>292のでぐぐったらこんなのが。
ここ参考にもうちょっとがんばってみまつ ort
0934nobodyさん2005/10/31(月) 06:59:24ID:???
>>932
俺のPCではIEでもちゃんとGIFで保存できるよ
ファイルの中身で判断してるのなら中身がGIFなら問題ないはず
↓はどうなる
http://nike.s151.xrea.com/x/imagettf.php?text=ABC&size=30&margin=10&bgcR=255&bgcG=255&type=gif
0935nobodyさん2005/10/31(月) 07:16:43ID:???
>>933
送っているGIF画像は完全な画像ですかね?

>ほんとIEだけは消えてほしい・・・
IEお断りにしたらいかが
0936nobodyさん2005/10/31(月) 07:26:34ID:???
>>934

それはきちんとgifで保存できました!
PHPの呼び出しかたはほぼ同じです。
なぜだろう・・・
出力の時点でおかしいのか・・・

>>935

imagegifで動的に出力してますが、Firefoxとかで中身を見るとGIFなので間違いないと思います。
IEお断り、したい ort

934のはなんでできるんだろう・・・
0937nobodyさん2005/10/31(月) 07:47:33ID:???
>>932
>試しに、Content-typeの出力を

> header("Content-type: text/plain");

>としてみましたが、見事に無視・・・

text/plainでも無題.BMPになるってこと?もしそうだとしたら、ファイルの中身が実はGIFじゃないのでは?
本当に中身がGIFなら、先頭の6バイトにGIF89a(16進数で0x474946383961)って入ってるはず。
(面倒がらず、きちんと確認してみな)
つーか、GDのバージョンによってはGIFって扱えなかったと思うから、その影響だったりしない?
0938nobodyさん2005/10/31(月) 08:01:55ID:???
>>937

ファイルの先頭は透明GIFではないので、GIF87aになってます
これもなんか問題ありますかね???

FirefoxではGIFででてますし、GDもそんな古いバージョンではないので、
GDの問題はないと思うのですが・・・

今、テスト用のサーバーを設定したので、設定が完了したらスクリプトをアップしてみます・・
なぜだ・・・
0939nobodyさん2005/10/31(月) 08:05:23ID:???
と思ったら設定、もうできたみたいです。

つ ttp://phptest.s155.xrea.com/x/test.php

ちなみにスクリプトは↓です。
やっぱりBMPでしか保存できない・・・・。鯖のXREAの問題なのかな・・・

<?php
$im = ImageCreate(128, 64);
imagefill($im, 0, 0, ImageColorAllocate($im, 0x00, 0x00, 0xff));

header("Content-type: image/gif");
header("Content-Disposition: inline; image.gif");
header("Cache-control: no-cache");
imagegif($im);
imagedestroy($im);
exit;
?>
0940nobodyさん2005/10/31(月) 08:10:14ID:???
つ [ header("Cache-control: no-cache"); ]
0941nobodyさん2005/10/31(月) 08:22:25ID:???
なんと、no-cacheの出力やめたらできました!!!

データ入力を受けてその都度違うもん出力してたので、
no-cache っていれなきゃいけないもんだと思ったら、これいらなかったんですね・・・

もっかい勉強しなおしてきます O......rt

朝早くからいろいろとアドバイスくれたみなさん、本当にありがとうございましたm(_ _)m
0942nobodyさん2005/10/31(月) 09:31:37ID:???
なんでno-cache入ってるとだめなの?
09439412005/10/31(月) 09:56:27ID:???
IEはキャッシュにGIFファイルを作って、
それを読み込んできてるんですかね・・・

考えてみれば、キャッシュから読み込んできたとしても、
それはそのパラメータで作られた唯一の画像なわけだから、
別にno-cacheにする必要はなかったんだなぁ・・・

0944nobodyさん2005/10/31(月) 10:04:35ID:???
キャッシュに入っていない画像は表示したままをBMPで保存しようとするのはIEの仕様っぽい
だからキャッシュが壊れている時は、キャッシュに無い時と同様にBMPで保存される
Gecko系はもう一度要求し直すんだっけ?
0945nobodyさん2005/10/31(月) 10:22:58ID:???
no-cacheにするとキャッシュされないから、IEは保存しようとしても
BMPとして保存しようとするわけか。
0946nobodyさん2005/10/31(月) 10:28:01ID:vz5n2QeI
クラスいっぱい作ったら重くなったりする?
クラス1個の中にファンクションめっちゃ作るか
いっぱいクラス作ってファンクションちょっとずつ入れるかどっちがいいかな
0947nobodyさん2005/10/31(月) 10:58:17ID:???
オブジェクト指向をかじる程度でも勉強したほうがいいと思われ・・・。
0948nobodyさん2005/10/31(月) 11:20:53ID:vz5n2QeI
いや、今勉強中なんですよ・・・
クラスいっぱい作ってやってるんですが、
ある掲示板の配布スクリプトDLして見てみると、
クラス1個しか使ってなかったので、不安になって聞いてみました
0949nobodyさん2005/10/31(月) 11:27:56ID:???
>>948
よーし パパ ベンチしてみるぞっ、と思ったけど、
クラスいっぱいつー状況が想定できない・・・
掲示板程度なら、10個もいかないべ。
0950nobodyさん2005/10/31(月) 11:35:35ID:???
たとえ速度が速くなるとしても、無関係の機能が一つのクラスに押し込まれるのは勘弁。
なんのためのクラスなのかと。。。
0951nobodyさん2005/10/31(月) 11:44:35ID:vz5n2QeI
じゃあここのは悪い例?
ttp://www.phpweb.jp/
0952nobodyさん2005/10/31(月) 11:54:52ID:???
これでメンテナンスしやすいと思うんならいいんでないかい。
0953nobodyさん2005/10/31(月) 11:59:48ID:???
なんでもかんでもクラスにすればいいってもんじゃないからね
0954nobodyさん2005/10/31(月) 12:21:47ID:???
2ちゃんねるっぽい掲示板を作っていて、
スレッドとレスのログファイルを分割している構造にしていて、

スレッドログ
11111111,title,,name,mail,投稿日,内容
22222222,title,name,mail,投稿日,内容

レスログ
1111111,name,mail,投稿日,内容,レスID
1111111,name,mail,投稿日,内容,レスID
2222222,name,mail,投稿日,内容,レスID

このような書き込み方をしているときに、
最新10件の表示の方法がおもいうかびません(つд`)
レスIDは2から始まって1000までという形です。

表示するときは、
スレッドキーに該当するレスのスレッドキーと同じ物をIDの順番で表示しています。
0955nobodyさん2005/10/31(月) 12:33:31ID:???
>>954
2ちゃんねるとログ互換にしないんならデータベース使った方が
0956nobodyさん2005/10/31(月) 12:33:51ID:???
>>951
クラスってのは何かメリットがあって使うわけよ。
逆を言うと、何かメリットを享受できるような形のクラスを作成するわけよ。

そこのスクリプト(掲示板を1つDLしてみた)は、
クラスを使う事で便利になった(or 後になるだろうと期待する)部分が感じられない。
ただ、functionを並べて書いて最後にclassで囲んだって感じだよね。
まぁ、ページ全体を作成する別の枠組みからこれらのクラスを
パーツとして使うって事もあるかも知れないけど。
(でもソースを見る感じそれもないか。。)
あんまり言うと作者降臨するかも知れないのでこの辺で。
0957nobodyさん2005/10/31(月) 12:53:16ID:???
>>954
「最新10件」とは全スレッドで10件なのか、
各スレッド毎に10件なのか。

# 俺ならスレッド毎にレスを格納するファイルを分離するね。
0958nobodyさん2005/10/31(月) 13:00:13ID:???
>>954
ファイル全部読み込むしかないよ。file()が一番楽かと。
現在の件数を別口に記録してあるなら、fgetsで適切な回数読み捨てる手もあるけど。
まあDB使えばそんな心配もせずにすむわけで。
0959nobodyさん2005/10/31(月) 13:10:08ID:???
めんどいから一緒にすればいいじゃん。1スレ1ファイル1000行で。
スレ一覧→ファイルがあるかチェックして表示
スレ内→ファイルから読み込み
みたいな。
データベースの方がいいと思うが。
0960nobodyさん2005/10/31(月) 13:24:26ID:???
>>951
PEARのライブラリとかこれと似たようにやってるのが結構ある。
多分PEARのは関数名が被らないようにってだけだと思うけど。
0961nobodyさん2005/10/31(月) 14:03:20ID:???
>>951
そのサイトの「ツリー型掲示板」ってのを見てみたけど。
作者さんには申し訳ないがクラスの *使用例* としては良い例ではないな。
汎用性がないから他で使い回せないし、現状ではクラス化しているメリットはない。
もっとも、作者さんがクラスの使用例としてアップしているわけではないから、
この点をグダグダ言う必要はないんだろうけど。

元々の話が一つのクラスと複数のクラスでどっちが重い?という話だけど、
ベンチとってみないと判らない、ってのが正直なところ。
ただ、クラス化するのはプログラマが楽をするためであって、重い、軽いとは
次元の違う話だと思うよ。
掲示板であれば、データの保存方法、データの取り出し方法が重い、軽いに
大きく影響を与えるから、これらと比べると些末な事ではないかと。
0962nobodyさん2005/10/31(月) 14:27:01ID:???
boolのプロパティーのセッターは
trueにする場合、falseにする場合、それぞれどんな名前がよいですか?
0963nobodyさん2005/10/31(月) 14:29:00ID:???
SetFlagにでもしとけ。
0964nobodyさん2005/10/31(月) 14:30:00ID:???
二つに分ける必要ないんじゃないの?
名前はオブジェクトのキャラクターにあわせてつけろ
0965nobodyさん2005/10/31(月) 14:41:31ID:???
Geter,Seterの話じゃないの?
0966nobodyさん2005/10/31(月) 14:57:07ID:???
取得 is<状態(名)> ex. bool isSecure()
設定 set<状態(名)> ex. void setSecure()
てな話じゃないの?
get<X>、set<X>でもいいけどさ。
0967nobodyさん2005/10/31(月) 15:47:28ID:???
クラス名、関数名、メソッド名、変数名で
1.先頭を大文字にする(ToString()など)
2.単語の区切りはアンダーバー(is_null()など)
3.2単語目以降は大文字(imageCreateFromJpeg()など)
4.すべて小文字(imagecreatefromjpeg()など)
一般的にはどれですか?
0968nobodyさん2005/10/31(月) 15:55:34ID:???
class FooBar ← 単語の頭は大文字
{
  var $hoge; ← 変数は小文字
  var $hoge_hoge;  ← 単語はアンダーバーで区切る
  function toString(){} ← メソッドは動詞+名詞の形.最初の単語は小文字
  function getHtml(){} ← HTML ではなく Html
}

function to_string() ← 通常の関数は小文字でアンダーバー区切り

こんな感じ. PEAR CS 準拠.
0969nobodyさん2005/10/31(月) 16:07:27ID:???
通常の関数も toString() でないかい。
0970nobodyさん2005/10/31(月) 16:18:34ID:???
>>969
ごめ,そうみたい.ラクダ式.
http://pear.php.net/manual/en/standards.naming.php
09719672005/10/31(月) 21:54:47ID:???
分かりやすい解説をありがとうございました!
0972nobodyさん2005/10/31(月) 22:22:25ID:???
指定したURLのファイルが、テキストか画像か判断する方法ありませんか?

//テキスト
http://www.sample.co.jp/aaa.html
//画像
http://www.sample.co.jp/bbb.jpg
//テキスト
http://www.sample.co.jp/ccc.php
0973nobodyさん2005/10/31(月) 22:24:12ID:???
htmlでも画像に偽装できるし、jpgでもテキストに偽装できる。
受信してHTTPヘッダみないと分からん。
0974nobodyさん2005/11/01(火) 00:07:52ID:???
HTTPヘッダも変更出来るから、直接ファイルを確認しないと(ry
0975nobodyさん2005/11/01(火) 07:42:09ID:???
>>973
Apacheは拡張子見てヘッダー決めてるから拡張子偽装したらヘッダも変わるよ
0976nobodyさん2005/11/01(火) 08:57:02ID:???
>>975
Apacheの送出が全てでは無いがな
0977nobodyさん2005/11/01(火) 09:03:24ID:???
>>975
そんなこと言ってたら.phpや.cgiで画像の出力できないしな。
0978nobodyさん2005/11/01(火) 12:30:46ID:???
PHP(abc.php)が表示したXML文書をサーバにabc.xmlと
いう風に残したいんですが、どのようにしたらいいですか?
教えてください。
require(abc.php)とか使うんですかね?
0979nobodyさん2005/11/01(火) 12:33:52ID:???
>>978
ob_startとかどうよ?
09809752005/11/01(火) 12:38:00ID:???
俺はApacheのmime.typesファイルのことを言ってるだけです。
これでcontent-typeと拡張子を関連付けてるよってことです。
0981nobodyさん2005/11/01(火) 12:40:15ID:???
>>980
言い訳〜
0982nobodyさん2005/11/01(火) 12:56:38ID:???
>>979 下記のようにしたのですがうまくいきませんでした。
間違いを指摘していただけるとありがたいのですが。
<?php

ob_start();

require("abc.php");

$buffer = ob_get_contents();
ob_end_clean();

$fp = fopen("abc.xml","w");
fputs($fp,$buffer);
fclose($fp);

?>
0983nobodyさん2005/11/01(火) 13:00:57ID:???
>>982
echo $buffer;
も加えてやってくれ。

ちなみに、$bufferがあまりにもデカイ場合はob_startでcallback関数を指定して、その中で標準出力+ファイル出力したほうがいいかもね。
0984nobodyさん2005/11/01(火) 13:19:15ID:???
>>972
http://jp.php.net/manual/ja/function.mime-content-type.php
0985nobodyさん2005/11/01(火) 13:23:00ID:???
>>980
mime.typesファイルでの割り当ても偽装されている可能性には言及せんのか?
09869802005/11/01(火) 14:13:31ID:???
>>985
すいません
>>973が拡張子偽装してもHTTPヘッダでわかるような書きかたしてたので
ヘッダ見てもわからないよといいたかっただけです

結局拡張子やヘッダーからは判断できないということで
mime magicも偽装できるし完璧な方法はないということですね
GIF8で始まるテキストはgifにされるし
0987nobodyさん2005/11/01(火) 14:34:17ID:???
<?php
// セッションの開始
session_start();
?>
<html>
<head>
<title>session_start1.php</title>
<!-- セッションの開始:セッションIDの確認 -->
</head>
<body>
<?php
print "session_id = " . session_id() . "<br>";// セッションIDの確認
print "session_name = " . session_name() . "<br>";// セッション名の確認
print "session_save_path = " . session_save_path() . "<br>";// セッション情報格納ディレクトリの確認
?>
</body>
</html>


これを自鯖で実行してみたら↓


session_id = 39899d30896bb687e6f4e8f3d1511ccf
session_name = PHPSESSID
session_save_path =


session_save_pathだけ空欄になった。
この環境で問題なくセッションの操作ってできるんだろうか?
0988nobodyさん2005/11/01(火) 14:53:26ID:???
>>987
空の場合、テンポラリディレクトリ(UNIX系なら/tmpや/var/tmpなど)が
指定されたものとして扱われるので大丈夫。
一度、これらのディレクトリを覗いてみそ。多分 sess_xxx ってファイルがいるはず。
0989nobodyさん2005/11/01(火) 14:56:47ID:???
>>987
問題ない。勝手に一時ディレクトリに保存される。
気になるならsession_save_path()で引数指定するなり、php.iniのsession.save_pathを指定するなりすればよい。
0990nobodyさん2005/11/01(火) 14:59:37ID:???
>>988-989
( ´∀`)ノ
0991nobodyさん2005/11/01(火) 14:59:52ID:???
>>987
自鯖ならphp.iniで設定すればいい
0992nobodyさん2005/11/01(火) 15:12:45ID:???
>>988-989
あ、あともうひとつtmpフォルダがらみで質問をば。
一時ディレクトリにsession関係のファイルがたまっていくとのことだけど
こちらで消さない限りsessionが貼られるたびにファイルはたまっていく一方?
0993nobodyさん2005/11/01(火) 15:18:55ID:???
>>992
session.gc_probability/session.gc_divisorの確率でsession.gc_maxlifetime秒経過したファイルが削除される。
0994nobodyさん2005/11/01(火) 15:22:57ID:???
>>993
( ´∀`)ノ
0995nobodyさん2005/11/01(火) 16:39:53ID:???
セッションをURLに埋め込みたいんだが

<a href="./ahya.php?<?= SID ?>">リンク</a>

なぜかahya.phpへのURLにセッションIDが付与されない。
何か書きミスでもある?
0996nobodyさん2005/11/01(火) 16:45:35ID:9QgZWF8q
foreach ($arr as $val) {
 …
}

で $arr が空の時 warning が出てしまうんですが
みなさんどう対処していますか?
empty()とかで最初に調べるのはあまりしたくないんですが。
0997nobodyさん2005/11/01(火) 16:46:08ID:???
>>995
$SIDじゃなくて?
0998nobodyさん2005/11/01(火) 16:52:25ID:???
>>995
SIDが未定義とかエラーはでてないのけ
session_start()してる?
0999nobodyさん2005/11/01(火) 16:59:51ID:???
待て待て、セッションの渡し方がおかしい。
1000nobodyさん2005/11/01(火) 17:00:52ID:???
げと1000
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。