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

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

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん2006/02/24(金) 22:05:48ID:YHkZgU8b
PHPに関するくだらねぇ質問用スレです。 
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。 

まず読め【PHP マニュアル】 
http://www.php.net/manual/ja/

本スレ【PHP】質問スレッドpart33【php】
http://pc8.2ch.net/test/read.cgi/php/1140027592/l50

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

過去スレは>>2
0818nobodyさん2006/03/12(日) 22:33:33ID:???
>>815
提示されたソースを読んでないから何とも言えんが、
カレントディレクトリの処理が出来てるなら
>>807に示されてるのが、回答のひとつ
0819nobodyさん2006/03/12(日) 22:38:41ID:???
>>817
<?include("./accelyzer/store.php");?>
パスは本当にこれで合ってるんだろうな
0820nobodyさん2006/03/13(月) 00:20:10ID:???
>>795
IEとfirefoxでも動作が違うよね
IEだとformのselectedの状態に戻る。
firefoxでキャッシュが効く状態だとユーザが選択した状態を保持する
だったような気がする
0821nobodyさん2006/03/13(月) 00:54:53ID:???
>>795
JavaScriptを使おう
0822nobodyさん2006/03/13(月) 01:45:02ID:???
>>821
キャッシュさせないようにして$_POST全部配列ごと$_SESSIONにぶち込むのが最強かつ手軽じゃね?
0823nobodyさん2006/03/13(月) 02:03:55ID:???
file_existでinclude pathの中身も検索させる方法ってありますか?
0824nobodyさん2006/03/13(月) 02:18:42ID:???
get_include_path()かなんかで自前でやるしかないんじゃなかろうか
0825nobodyさん2006/03/13(月) 02:33:33ID:???
$hoge['name'] = "値";//配列の一要素
$hage = "値";//普通の変数

function kansu(){
ここ
}


引数は使わずに、globals宣言も使わずに、function内の「ここ」って書いてある位置からグローバルスコープの中にいる「$hoge['name']」を参照したい時はどうしたらいいのでしょうか?
グローバルの普通の変数「$hage」を参照したい場合は「$GLOBALS['hage']」というのは解るんですが、添字付きの配列の場合はどうしたらよいのでしょうか?
0826nobodyさん2006/03/13(月) 03:01:14ID:???
>>825
GGLOBALS['hoge']['name']
08278262006/03/13(月) 03:02:06ID:???
$GLOBALSの書き間違い
0828nobodyさん2006/03/13(月) 05:16:01ID:???
>>821 携帯とかにも使うかもしれないから、なるべくJavaスクリプトに依存したくないのです。

>>822
俺もセッションを使うことを考えたけど、これがたとえば選択肢5個のラジオボタンが
計100個もあるようなフォームだったら、気が遠くなるコーディング作業になるわけで・・・。
もちろんループ文でHTMLを生成するように組むんだけど、複雑でややこしくなる・・・。
単にブラウザがキャッシュしてくれてりゃそれで簡単に済む話なのに、
どうしてあるサーバではそれが可能で、別のあるサーバではそれが不可能なんだぁ〜!!
両者のphp.iniの設定を見比べてもほとんど違いが無いように思えるし。。。
0829nobodyさん2006/03/13(月) 06:11:45ID:???
>>828
php.iniの内容じゃなくて、HTTP上で実際にどういうデータ(特にヘッダ)が
やり取りされてるか調べる。
0830nobodyさん2006/03/13(月) 07:57:28ID:???
>>828
ドコモしか知らないけど、キャッシュ効いててもリンクしたらフォームの内容は全部飛ぶ。
0831nobodyさん2006/03/13(月) 08:37:24ID:???
>>829 すいません、それのデータはどうやって取得するのでしょうか??
    そういう環境変数(?)ってありましたっけ?
で、仮にそのデータを調べたとしても、それを修正するのはphp.iniの設定なのでは??
    見当違いのこと言ってたらごめんなさい。

>>830 「リンクしたら」??? すみません、ちょっと意味が分からない…
0832nobodyさん2006/03/13(月) 08:51:54ID:???
centos4.2へphpcollab入れたんだけどフィールドへ日本語入力した際に
文字化けします。 直りますでしょうか。
0833nobodyさん2006/03/13(月) 08:59:02ID:???
>>810
>>811
自分の曲?
そうじゃなきゃダメ。
0834nobodyさん2006/03/13(月) 09:00:26ID:q2braTai
mail関数でメールを送信する際にmail関数の設定ミス等でメールを送信できない場合
処理が止まってしまうようなのでmail関数を実行する前にmail関数でメール送信できるか調べ
できない場合はエラーメッセージを出すようにしたいのですが、うまくいきません。
function_exists関数では設定ミスまでは調べてくれないようでした。
どうすればうまくいくでしょうか?
0835nobodyさん2006/03/13(月) 10:35:57ID:???
>>833
別に他人の曲だろうと何だろうと、
ローカルでPHP動かしてリスト作るのは違法じゃないだろ。
0836nobodyさん2006/03/13(月) 10:51:13ID:???
私はスーパーグローバル変数を初期化するために、何度も下のような
記述をしているのですが、かなり面倒です。
もっと簡単な方法があったらぜひ教えてください。

$_COOKIE['example'] = isset($_COOKIE['example']) ? $_COOKIE['example'] : NULL;
0837nobodyさん2006/03/13(月) 11:05:51ID:nCSNQGQc
開発環境、テスト環境、本番環境などの運用方法のノウハウに詳しいサイトなどありましたら、お教え下さい。
チームで開発してて、本番環境がすでに稼働している状態で、
新機能を開発し、テストに上げ、システム管理者やユーザにメンテナンスを連絡し本番に適用する、
という流れを詳しく知りたいです。
0838nobodyさん2006/03/13(月) 11:07:59ID:???
>>835
そうだよね
0839nobodyさん2006/03/13(月) 12:28:12ID:???
>>836
スーパーウルトラグローバルエターナル変数を使えばいい。
0840nobodyさん2006/03/13(月) 12:31:56ID:???
>>836
foreachで回すとかじゃダメ?
0841nobodyさん2006/03/13(月) 13:59:50ID:???
HTTPのレスポンスヘッダってどうやって調べるの??
0842nobodyさん2006/03/13(月) 14:03:43ID:???
>>836
if (isset($_COOKIE['example'])) $_COOKIE['example'] = $_COOKIE['example'];
if (isset($_COOKIE['hogehog'])) $_COOKIE['hogehog'] = $_COOKIE['hogehog'];
素直にこうするといいかも。
スペースで縦をそろえると結構ソース読みやすいし。

三項演算子は(〜?〜:〜);か(〜)?(〜):(〜);と括弧で括られてないと何故か不安な俺が居る。
0843nobodyさん2006/03/13(月) 14:33:50ID:19XzlIjZ
フレームワークを使用していると
URLが、クエリの連なった形になります

?module=hoge&action=fuga&id=piyo

getで投げたい場合、
formタグのaction属性にこのようなURLを書いても、
うまく投げられません。
みなさんはどうやっていますか?
0844nobodyさん2006/03/13(月) 14:41:36ID:???
>>843
method="get"

PHP5を使ってます。
正規表現で&(アンパサンド)をヒットさせたいのですが、
preg_match ("/\&/", $src, $match)や"/&&/"とやってもヒットしません。
どのようにすればヒットさせられますか?
0845nobodyさん2006/03/13(月) 14:49:29ID:???
掲示板を作ってるのですが、コメントの文字数が多い場合に2chのように(省略)などとしたリンクを作成し、その記事へジャンプさせたいと思います。
というかここまではできたんですが、これとは別に、コメント中にURLがある場合に自動的にリンクになるようになっており、
省略のリンク部分が↑のリンクタグと重なるとおかしくなってしまいます。
これをウマーく回避したいのですが、どうしたらいいでしょう?
今はコメントの文字数が多い場合にstrip_tagsしてるんですがそれだとURLの自動リンクも無しになってしまうので困ってます。
0846nobodyさん2006/03/13(月) 14:55:59ID:???
>>845
省略を先にやってそれから自動リンクを判断するとかはダメか?
0847nobodyさん2006/03/13(月) 14:58:49ID:???
>>844ですが、$srcのデータを間違えてました。
&の部分が打ち間違えで$になってました…

>846に同じく、
strip_tagsを先にやって、その後自動リンクを張るのはどう?
もしくはstrip_tagsで<a>タグを有効にするとか。
08488452006/03/13(月) 15:04:44ID:???
>>846-847
省略を先にやったら出来ました、ありがとうございます。
これを数時間も悩んでいたとはorz
0849nobodyさん2006/03/13(月) 15:08:59ID:???
>>848
いやいや、俺も打ち間違えで1時間半は時間つぶしてたから気にすんな。
かなりぐぐったけど全然情報出てこないで新手のバグ?なんて無駄な詮索してしまったよ。
0850nobodyさん2006/03/13(月) 15:12:20ID:uoSdweNm
あるページ(もしくは画像)を開いて、簡単にHTTPヘッダやソースを取得するにはどうしたら良いでしょうか。
0851nobodyさん2006/03/13(月) 15:37:20ID:???
多分PEARとか言うのがいいんじゃないかな。
0852nobodyさん2006/03/13(月) 16:14:48ID:???
>>842
それ意味ないよ
やりたいのは
if (!isset($_COOKIE['example'])) $_COOKIE['example'] = NULL;
と未定義変数を定義したいのだと思う
0853nobodyさん2006/03/13(月) 17:19:30ID:???
PHPでJSP/ServletのServletContext(スコープ:application)のようなもの
を使いたいんですが、PHPで同じ感じのやつありませんか?
0854nobodyさん2006/03/13(月) 17:32:53ID:???
>>850
ttp://www.heeha.ws/index.php?Firefox%B4%D8%B7%B8
この辺でいいんじゃね

他にも方法いっぱいあるだろうけど
0855nobodyさん2006/03/13(月) 17:38:45ID:???
あとheaderの操作はphpで出来るよ
マニュアルでheaderって検索してみれ
0856nobodyさん2006/03/13(月) 17:42:31ID:???
>>854-855
ありがとうございます。
でも、PHPで取得して出力させるにはどうしたら良いのでしょうか。
0857nobodyさん2006/03/13(月) 17:47:19ID:???
>>801,>>855
あたりで解決だし、ちょっと調べれば分かるはずだけど・・
検索しなって・・
0858質問2006/03/13(月) 18:02:01ID:???
いろいろと試行錯誤してなんとか成功しました。
みなさんのヒントは、寸分の狂い無く私の脳を活性化させ
見事プログラミングの成功という偉業を達成させて下さいました。
初めてプログラムを組んだのですが、成功したときは涙がちょちょぎれました。
本当にありがとうございました。

                                みつを
0859nobodyさん2006/03/13(月) 19:14:57ID:???
皮先ウザイ
0860nobodyさん2006/03/13(月) 20:08:04ID:???
スレが違うよ
0861nobodyさん2006/03/13(月) 22:25:52ID:???
>>574.802.804.805.806.810.815.858
限りなく皮先のにほいがする。
巣に帰れ!
0862nobodyさん2006/03/13(月) 22:48:02ID:???
>>861
おまいさんは2chブラウザを知らんにほいがする
出来たらこう書いてくれ!
>>574,802,804
08638612006/03/13(月) 23:00:17ID:???
>>862
スマソ
悪気はなかった
吊ってくるわ
0864nobodyさん2006/03/13(月) 23:08:08ID:???
>>856
いい加減うざい。
自分で調べる癖つけような、な。
0865nobodyさん2006/03/13(月) 23:39:46ID:???
>>862
自分の使ってる2chブラウザは普通にリンクになってるが?
0866nobodyさん2006/03/13(月) 23:48:41ID:???
当然、このスレの常連ならみんなp2使っているよね?
0867nobodyさん2006/03/13(月) 23:55:59ID:???
rep2では>>861のアンカーは認識されず。
0868nobodyさん2006/03/14(火) 00:09:21ID:???
JaneDOEでも認識されてないぽ
0869nobodyさん2006/03/14(火) 00:19:23ID:???
>>867
それくらい自分で改造汁
0870nobodyさん2006/03/14(火) 00:38:33ID:???
前に話題になってたけどstr_split使えない環境だったら
$chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
があるみたいだね。やっぱマニュアル天才。
0871nobodyさん2006/03/14(火) 01:27:19ID:???
何を今更…
0872nobodyさん2006/03/14(火) 11:40:24ID:???
フォームでの画面遷移時に「戻る」ボタンで戻ったときの
値の保持についていろいろググってみたけど、
まだ誰も根本的な解決策や原因が見つかってないみたいだね。

フォームなんてごくごく一般的に誰もが使うのに、意外な結果だ。
0873nobodyさん2006/03/14(火) 12:33:52ID:???
>>870
マルチバイトだとそれもつかえない。
おれはmb_substr()を回してやってる。
0874nobodyさん2006/03/14(火) 13:40:27ID:???
> 原因が見つかってない
?????
0875nobodyさん2006/03/14(火) 13:45:29ID:???
バカはほっとけ
0876nobodyさん2006/03/14(火) 13:49:38ID:???
PHPとはあんまし関係ないんだけどさ
PHP本家からダウンロードできる.chmのヘルプって壊れてる?
何回やってもページを表示できませんってでてしまう
08778362006/03/14(火) 13:52:31ID:???
>>839(?)
>>840
>>842
>>852
返事が遅くなってすみません。
いろいろなアイディアを教えていただいて、参考になりました。使ってみて
一番入力が楽なヤツを試してみます。
ご回答ありがとうございました。
0878nobodyさん2006/03/14(火) 14:15:15ID:???
function getSGlobal ($gname, $name) {
return (isset ($$gname[$name]))?($$gname[$name]):(NULL);
}

$_COOKIE['example'] = getSGlobal ('_COOKIE', 'example');
という方法もある。

俺も凄い気になったんだよな、もう少し楽にスーパーグローバル取得できないか。
そんで前スレかどっかで、Cのマクロ関数みたいな事ってできませんか?みたいな事聞いたら、
関数でやれって返ってきた。
0879nobodyさん2006/03/14(火) 14:15:25ID:???
>>876
キーワードが文字化けしてるが壊れてはいない
0880nobodyさん2006/03/14(火) 14:30:02ID:???
>>878ってできないんだな
ttp://php.s3.to/man/language.variables.variable.html
0881nobodyさん2006/03/14(火) 14:31:41ID:???
>>877
こんな感じになった。
<?php
// デバッグ用
// エラーは全て表示する
error_reporting(E_ALL);
function getSGlobal (&$gname, $name) {
return (isset ($gname[$name]))?($gname[$name]):(NULL);
}
$hogehoge = getSGlobal($_GET, "hogehoge");
echo $hogehoge;
?>
0882nobodyさん2006/03/14(火) 14:45:52ID:???
三項演算子 (〜?〜:〜);

ほんと便利だよね。
0883nobodyさん2006/03/14(火) 15:06:54ID:???
IDとパスワードでログインする仕組みをセッションを使って作ったのですが、
ログイン後しばらく放置しておいてからアクセス(更新など)すると、ログアウトされてしまいます。

これは放置時間が一定以上続いた場合にセッション情報が破棄されているのだろうと思いますが、
このセッション破棄までの時間は、php.iniのどこをいじればいいのでしょうか?
「session.cache_expire」が関係あるのかとも思いましたが、デフォルトの「180」のままなのに、
180分も経たないうちに(具体的には10分くらいで)ログアウトになってしまいます。
0884nobodyさん2006/03/14(火) 15:12:29ID:???
>>882
俺への何かのあてつけかと一瞬勘ぐった。
08858822006/03/14(火) 15:14:33ID:???
>>884
あてつけのつもりはないから安心汁
0886nobodyさん2006/03/14(火) 15:14:58ID:???
>>883
http://php.s3.to/man/ref.session.html
session.gc_maxlifetime integer
0887nobodyさん2006/03/14(火) 15:17:49ID:???
>>885
ってか三項演算子って言葉って知ってて当然なんかな?
(〜?〜:〜);と全部記号だから検索でヒットさせられるのが無くて困る。
Cだと#defineと併用して使うからマクロ関数とかばっかり出てくるし。
0888nobodyさん2006/03/14(火) 15:24:55ID:???
>>887
三点演算子だと思い込んでいて検索でかからなくて困ってたことが・・・。

http://www.sra.co.jp/people/t-ishii/php_new/php4_new.html

第一部 PHPをはじめよう(3360KB)

だけでもいいから読んどいた方がいいよ。
0889nobodyさん2006/03/14(火) 15:25:36ID:???
>>887
マニュアルをじっくり読めば書いてある
08908882006/03/14(火) 15:26:55ID:???
「ふざけんな、そんな初心者向けの本なんて読むかbk」と言われそうだから追記
ざっとでいいから、眺めれば「三項演算子」という言葉ぐらいは分かるって意味ね。
0891nobodyさん2006/03/14(火) 15:27:21ID:???
>>886
あいたしゅ。
0892nobodyさん2006/03/14(火) 15:48:49ID:???
sessionスタートさせて(セッション用プログラムをrequire)、
セッション値を参考にしてダウンロード場所を選択して
ファイルをダウンロードする仕組みを作ってるんですが、
どうもセッション用プログラムをrequireすると
上手くダウンロードログが表示されません。

セッション用プログラムをコメントアウトすると機能するので、
おそらくヘッダー関係あたりの問題かなと思うのですが、
何か良い解決方法は無いでしょうか。
0893nobodyさん2006/03/14(火) 16:36:12ID:???
日本語おk
08948772006/03/14(火) 17:02:51ID:???
>>878
>>881
更なるアイディアありがとうございます。
教えていただいた方法を試してみた結果、881に紹介していただいた
方法を自分好みにして、以下のようなコードで記述することにしま
した。

function getSGlobal (&$gname, $name) {
$gname[$name] = isset($gname[$name]) ? $gname[$name] : NULL;
}
getSGlobal($_GET, "hogehoge");
echo $_GET["hogehoge"];

これなら、入力が楽です。本当にありがとうございました。
0895nobodyさん2006/03/14(火) 17:06:30ID:???
〜です。本当にありがとうございました。
0896nobodyさん2006/03/14(火) 18:36:34ID:???
>>892
まず問題点を整理し、そして質問する前に国語の勉強から・・・
0897nobodyさん2006/03/14(火) 18:49:44ID:???
配列を foreach で回すときの
順番って設定した順番になりますが
これは保証されてるのでしょうか?

0898nobodyさん2006/03/14(火) 19:01:58ID:???
>>897
されてるはず。
0899nobodyさん2006/03/14(火) 19:05:12ID:???
>>897
されてる。
0900nobodyさん2006/03/14(火) 19:13:33ID:???
>>899
して
0901nobodyさん2006/03/14(火) 19:57:29ID:???
されてるっけ?
不安になってきた
0902nobodyさん2006/03/14(火) 20:45:04ID:???
>>897
保証はされていないが、設定した順番になる。
0903nobodyさん2006/03/14(火) 20:50:40ID:???
>>901
foreachで取り出される順番はリンクリストに従ってるので
「設定した順番」つうのが通常のpushしていくやりかたなら
保証されてると考えていい。明確に保証するとは書いてなかったと思うけど。
0904nobodyさん2006/03/14(火) 21:33:46ID:???
それが保障されてなかったらasort()なんて意味なくなるだろ。
PHPでの連想配列は格納順番を内部に保持していてその通りに取り出せる。
0905nobodyさん2006/03/14(火) 22:01:08ID:???
>>892
ソースコードを出すのが手っ取り早い。
09068972006/03/14(火) 23:17:06ID:???
>>898-904
みなさんありがとうございました
安心して回します
0907nobodyさん2006/03/15(水) 00:27:49ID:???
>>906
っていうかこんなとこで聞いてるヒマがあったら、
自分で実験して確かめてみりゃあいいのに。。。
ループでecho使えば分かる話だろ。
0908nobodyさん2006/03/15(水) 00:34:04ID:???
>>907
それ、偶然動いてるのか環境依存なのか言語仕様なのか、動きを見ただけでお前は分かるのか?
0909nobodyさん2006/03/15(水) 02:02:25ID:???
>>908
>907じゃないが、俺なら数十回は試すな。
知的探究心ってのは止められないね。
その中で出てきた結果から憶測を何度も繰り返す。
再度何度も試し憶測どおりだったら頭の中に入れとく。

ところでPHPで、OSが違うと処理が変わる事ってあるん?
機会に便乗して質問してみる。
0910nobodyさん2006/03/15(水) 02:19:33ID:???
>>909
数十回試して同じ結果ならそれが正しいと?
0911nobodyさん2006/03/15(水) 02:27:00ID:???
>>910
正しいって言ってるか?好奇心の話だろ?

>>909
そんな話は聞いたこと無いな。インストールはまったく違うけど
0912nobodyさん2006/03/15(水) 02:33:21ID:???
マルチバイト関数はwinでのバグなのか挙動が違うって話はあったような・・

なんか話がずれてる人同士が言い合ってて不毛そうなのでやめたら?
0913nobodyさん2006/03/15(水) 02:36:17ID:???
>>907
むしろお前が暇人
0914nobodyさん2006/03/15(水) 03:14:22ID:???
>>913
このスレでそれは禁句(爆)
0915nobodyさん2006/03/15(水) 04:09:05ID:???
>>908
2〜3回試せば十分。ヲタは何事も粘着質でキモイな。

>>913
なんで? 5分もあれば出来ることだろ。
0916nobodyさん2006/03/15(水) 04:34:09ID:A2wD7hwK
質問です。
print関数の出力先を変える関数、方法をおしえてください。
0917nobodyさん2006/03/15(水) 05:10:12ID:???
>>915
危険なプログラマハケーン
そんなハンパな知識でWebアプリ組むなよ
レス数が900を超えています。1000を超えると表示できなくなるよ。