07/12/25 13:31:06 Kk9QHm5I
すいません、下げ忘れていました
test.iniってファイルを
parse_ini_file("test.ini",true);
で読み込むとshift_jisで読み込まれちゃうんですが、ファイル読み込みのエンコーディングをUTF-8にしたいんです。
iniや表示するphpファイルは全てUTF-8になっています。
php.iniでファイル読み込みのエンコードとかでしょうか?
iniの中身は
------------------
[友達]
"佐藤" = "コスプレ"
"伊藤" = "女装"
------------------
PHP Version 5.2.4
264:nobodyさん
07/12/25 14:32:50
>>263
とりあえずキーはダブルクォート出来ません。
265:nobodyさん
07/12/25 14:41:28 Kk9QHm5I
>>264
そうなんですか、それでも文字コードの問題は残るので解決方法があればお願いします。
ひとまずキーにダブルクォートで動いてはいます。
266:nobodyさん
07/12/25 14:45:46
キーを英語にし、ダブルクォートでも文字化けは変わりませんでした。
一応ご報告を
267:nobodyさん
07/12/25 14:47:22 V7kmAO2b
非常に下らないかもしれませんが、EOSでの質問です。
$bbb[0]['abc']="表示テスト";
$a=<<<EOS
<table>
<tr>
<td>$bbb[0]['abc']</td>
</tr>
</table>
EOS;
print $a;
EOS内で連想配列の変数を簡単に吐き出す方法はありますか?
そのままだと Array['abc'] となってしまいます・・。
変数に入れ直せば良いのですが種類が多いと大変で・・
皆さんはどうやってますでしょうか。
268:nobodyさん
07/12/25 14:51:23 ek1/aJk1
PHPの質問と言っていいのか悩んだんですが、PHPファイルに限って起きるので質問させてください。
WEBサーバーでSSLを設定してそこにPHPファイルを配置したところ、httpでのアクセスだとPHPは正常
に動くんですが、httpsだと何故か404になってしまいます。
他の形式(aspx、txtや画像)はhttpでもhttpsでも問題無く動くのでアクセスしているフォルダが違うとかは
考えられず、httpだとPHPは動くのでPHP自体がおかしいってことも考えられず…。
通常のSSLの設定は終えていますが、PHPをSSLに配置する際は他に何か設定等必要なんでしょうか?
環境ですが、
Windows2000ServerSP4 + IIS5.0 + PHP5.2.5 (+ VisualStudio2003)
です。
よろしくです。
269:nobodyさん
07/12/25 14:52:26
>>267
変数を挿入するときは
{$bbb[0]['abc']}
のように括りましょう。
270:nobodyさん
07/12/25 14:57:18 V7kmAO2b
>>269
即答ありがとうございます!それだけで良かったんですね
基本的な方法が分からずにいろんな遠回り処理した上で
えーーそんな簡単にできたの・・みたいな事がよくあります
有難うございました。
271:nobodyさん
07/12/25 15:32:13
>>268
404時のエラーログに出るフルパスは同じもの?
272:268
07/12/25 15:51:19
>>271
IISのログには相対パスのみ出てまして、httpとhttpsとで別サイトとして登録してますので
パスは別物です。
273:nobodyさん
07/12/25 16:12:23
>>263
自己解決しました。
凡ミスだったので気にしないでください・・。 ;-;
274:nobodyさん
07/12/25 16:32:12
PHPのメジャーな統合開発環境って何ですか?
フリーので。
275:nobodyさん
07/12/25 16:35:17
>>273
ヽ(・ω・)/ ズコー
\(.\ ノ
276:nobodyさん
07/12/25 16:41:01 Kk9QHm5I
>>275
すいません ><
ID出し忘れたので偽者と思われないようにも返信しときます・・
277:nobodyさん
07/12/25 16:44:26
>>274
ヽ(・ω・)/ ドボン
\(.\ ノ
278:nobodyさん
07/12/25 17:37:59
>>274
EmEditor→phpエディタ→phpeclipse→zend
と使ってきたけど俺はphpeclipseが一番使いやすかった
279:nobodyさん
07/12/25 19:39:53 YdyXWQpG
Yahooのニュース記事の表示が、馬鹿丸出しなんだけどwwwwwwww
URLリンク(headlines.yahoo.co.jp)
<futoji>元福岡地検検事正で公証人の絹川信博さんの話</futoji> 「鑑定結果が今後、民事訴訟の証拠として採用される可能性は十分ある。
民事分野でも、ポリグラフの活用範囲が広がる可能性がある」
280:nobodyさん
07/12/25 20:31:12 qdKsQYMA
質問です。
array("aaa" => "bbb", "ccc" => "ddd" "???" => "fff")
この配列から「三個目の要素」であること、又は「値がfff」であることから、
不明なキー名である???のみを抜き出したいのですがどのような方法があるでしょうか。
よろしくお願いします。
281:nobodyさん
07/12/25 20:43:37
>>280
URLリンク(www.php.net)
282:nobodyさん
07/12/25 21:14:34 qdKsQYMA
>>281
普通に定義されてるんですね。回答ありです。
283:nobodyさん
07/12/25 22:37:15
>>281
ゴクリ・・・
284:nobodyさん
07/12/26 00:37:13
>>283
やめとけ、その釣り針に味わいどころがあるようには思えない。
285:nobodyさん
07/12/26 00:57:00
下記 ※※※ の部分にconvertコマンドで画像を少し加工したいのですが、
×imagejpeg ($image_new , $uploadfile , $quality);
○imagejpeg ($image_new , $image_temp , $quality);
にして、
/usr/bin/convert オプション $image_temp $uploadfile;
にすると、
PHP Parse error: syntax error, unexpected '/'
in /home/webmaster/blog/nucleus/plugins/NP_ImageLimitSize.php on line 65,
referer: http://******/nucleus/plugins/mediatocu/media.php
と、出ました、フルパスで書けば問題無いと思ったのですが、どのようにコマンドを挿入すればいいでしょうか?
function event_PreMediaUpload(&$data) {
$collection = $data['collection'];
$uploadfile = $data['uploadfile'];
$filename = $data['filename'];
// evaluate the filetype from the filename
$filetype = strtolower(substr($filename, strpos($filename, ".")+1));
286:285
07/12/26 00:57:53
// filetype is jpeg
if ($filetype=='jpg' || $filetype=='jpeg') {
$size=getimagesize($data['uploadfile']);
// size[0] is the image width
if ($size[0]>$this->getOption('maxwidth')) {
$newheight = $this->getOption('maxwidth') * $size[1]/$size[0];
$image_orig = imagecreatefromjpeg($uploadfile);
$image_new = imagecreatetruecolor($this->getOption('maxwidth'), $newheight);
$quality = $this->getOption('quality');
imagecopyresampled($image_new, $image_orig, 0, 0, 0, 0, $this->getOption('maxwidth'), $newheight, $size[0], $size[1]);
imagejpeg ($image_new , $uploadfile , $quality);
※※※
// clear the memory
imagedestroy($image_orig);
imagedestroy($image_new);
}
}
287:nobodyさん
07/12/26 01:02:18
>>1
288:285
07/12/26 01:08:43
>>287
CentOS 5.1
PHP 5.1.6
apache 2.2.3
これ以外しか思いつきません。
289:285
07/12/26 01:10:06
×:これ以外しか思いつきません
○:これしか思いつきません
290:nobodyさん
07/12/26 01:39:36
CentOSってのもあるのか……
Linux界隈、ディストリ間の差異大杉でFreeBSD派にはついていけねえな
291:nobodyさん
07/12/26 03:42:29
カーネル一緒なんだから大差あるようで本質的には大差はない
292:nobodyさん
07/12/26 04:19:38
プリインストールされてるソフトが違うWindowsみたいなもんだからな
293:nobodyさん
07/12/26 04:56:01
>>285
> PHP Parse error: syntax error, unexpected '/'
PHPの文法レベルでエラーが出てるんだからフルパスとかコマンドの違いとか全然関係ねーよ。
> /usr/bin/convert オプション $image_temp $uploadfile;
> にすると、
ってこれ、PHPのソース中にシェルコマンドを生で書いてるのか?
PHPはシェルスクリプトじゃねーぞ?
system()とか使えよ。
294:nobodyさん
07/12/26 10:54:23 WFCxb7oZ
ローカル側のphpとサーバー側のphpで、相互通信する仕組みを作りたいのですが、
どのような実装方式が一番楽な方法でしょうか?
例
ローカルphpが、サーバー側phpを呼び出す
サーバー側phpが処理を実行し、実行結果を返す
ローカルphpがサーバー側のphpの実行結果を受け取り、その実行結果により処理を条件分岐する
このような感じで、サーバー側の実行結果によってローカルの実行結果が異なります。
ソケット通信での実装を考えたのですが、少々面倒なので、もっと簡易にできる方法があれば助かります。
宜しくお願いします。
295:nobodyさん
07/12/26 11:57:31
>>294
レスポンス速度重視でないならば、http で通信すればいいんじゃないの。サーバは apache経由にして。
296:nobodyさん
07/12/26 11:58:07
soap
297:nobodyさん
07/12/26 12:17:11
>>296
PHPネタじゃないけど、soapってどうなの?
以前 Javaでやったときは、なんか中途半端に隠蔽されて自由度が低いだけって印象なんだけど。
298:nobodyさん
07/12/26 13:15:38
PHP.iniの設定で
auto_prepend_fileを使いたいのですが、
一部のディレクトリんは適用させたくないのですが、
その場合どのように記述すれば良いのでしょうか?
299:298
07/12/26 13:16:09 0y2BVKsS
すみません、sageチェックついてました
お願いします
300:nobodyさん
07/12/26 13:30:41
つ auto_prepend_file htaccess
301:nobodyさん
07/12/26 13:33:05 0y2BVKsS
>>300
ありがとうございます
すみません、書き忘れていました
レンタル鯖の仕様によりhtaccessでのphp_value・flagが仕様できないのですorz
302:nobodyさん
07/12/26 15:08:20
情報小出しに日本語不自由か…ダメダコリャ
303:nobodyさん
07/12/26 15:14:38
これでまた、何か案を出したら、それはすでにやったんですが・・・
と続くからなw
304:nobodyさん
07/12/26 15:54:46
そして最後には、お前ら使えねーな、で締めるのか
305:nobodyさん
07/12/26 16:07:23 5CJgBllV
認証システム作りたいと思ってます 以下のような処理でOKなんでしょうか?
(ログインフォームの次の会員トップページの処理です)
0)session_start(); (タイムアウト設定も同時にする)
1)$_SESSION['LogIn']=0;//ログイン状態のフラグの用意
2)1)をチェック →0なら3)
3)POSTされたid,passwordをもとにログイン処理 →LogIn=1にする
4)以降のページでは0~3を(外部ファイル化して)最初にチェック
※3)のPOSTデータがなければ警告画面に遷移
PEAR:AUTHも考えたんですが、ログインフォームと認証後トップページを
同じにしなきゃだめっぽいんでやめました
環境はPHP5,APACHE2です
306:nobodyさん
07/12/26 16:10:25 0y2BVKsS
>>302
すみません、小出しではなく>>301はただの書き忘れです
307:nobodyさん
07/12/26 16:20:00
>>305
リクエスト毎に 1) の処理を行うの?
そうならヘンだと思うが。
308:305
07/12/26 16:32:50 5CJgBllV
>>307 ありがとう ごめんなさい、間違えました
LogInは初期化しません 最初にチェックするだけです
あと、今思ったんだけど、最初のログイン時にランダム値を持たせといて(DBにも登録)
それもリクエストごとにチェックするとかの方がいいのかな?
それがセッション名(?)てことだからわざわざやらなくていいんでしょうか?
309:nobodyさん
07/12/26 16:53:52
乱数を設定しても意味は無いだろうけど、「ログイン状態のフラグ」を管理するぐらいなら、
誰がログインしているのかという、「ログインユーザのID」を管理した方が良いと思う。
ログイン後は、それが誰だかわからなくても良いなら、別に良いけど。
310:305
07/12/26 17:23:39 5CJgBllV
>>309
ログイン開始と終了を記入するテーブルみたいなのを作るわけですか?
考えたこともなかったです。
ログイン状態のチェックだけなら305の内容でokなんでしょうか 度々すみません
311:nobodyさん
07/12/26 17:33:52
DBじゃなくてセッション変数の話。
「ログイン状態のチェック」が「だれかがログインしているが判定できる」なら、305の内容でOK。
普通は、このセッションでログインしているのが誰かも判らないと困るんじゃないかと。
312:305
07/12/26 17:53:13 5CJgBllV
親切にありがとうございます
しかしセッションの知識が不足でよく理解できません
idに依存したセッション名を発行するのかな、、 ちょっと勉強してきます
ありがとうございました
313:nobodyさん
07/12/26 18:50:16 7SSM1+qD
すいませんお教えいただきたいのですが、
キーボードからそのまま受け取ったデータaを
cに変更して<textarea>に出力する ことはできますでしょうか?
いろいろ調べて下記のようなものを書いてみましたが、できません。
<form>
<textarea>
<?php
set_time_limit(0);
($stdin = fopen("php://stdin", "r"));
$s = trim(fgets($stdin, 256));
if($s == "a"){
$s = "c";
}
print $s;
?>
</textarea>
</form>
ハッスルサーバを使っていて、phpはバージョン4.3です。
初心者の質問で申し訳ありませんが、どうかよろしくお願いします。
314:はっしゅ(前すれ703)
07/12/26 19:02:23 drjhjm0k
>>前すれ734
回答ありがとうごいました。
レベル低すぎて誰も答えてくれないのであきらめてたんですが、今日見たら回答きてたのでお礼に伺いました。
またわからないことあったら教えてください。
遅ればせながらありがとうございました。
315:nobodyさん
07/12/26 20:44:56
キー入力された時その場で変えたいなら
JavaScript使うかAjax使わないと無理
phpはサーバーサイドスクリプトです
316:315
07/12/26 20:45:19
315は313宛ね
317:nobodyさん
07/12/26 20:45:33
>>313
意味がわからない キーボードから受け取ったデータってなんだ?
サーバの送受信はするの? しないんだったらphpじゃなくてjavascriptでしょ
具体的にどういう操作と結果がほしいのかわからなきゃ回答不可だよ
318:nobodyさん
07/12/26 22:33:52
C言語の本読んでもキーボードから1文字ゲットから先に進めない人
ノシ
319:nobodyさん
07/12/26 22:40:10
$white = 'snow';
$black =& $white;
unset($white);
print $black; //snow
これで snowが出力されるんだけど、$blackは$whiteの参照になってるから
unset($white)で$blackの値も破棄されるんじゃないの?
なぜsnowがprintされるのかわかりません。
320:nobodyさん
07/12/26 22:46:40
>>319
URLリンク(jp2.php.net)
>参照渡しされた変数が関数内で unset() された場合に、 ローカル変数のみが破棄されます。
>呼出側の環境でその変数は、 unset() がコールされる前と同じ値を保持します。
って書いてあるから良いんじゃないの。
321:320
07/12/26 22:51:51
良く見たら >>320 とはちょっと違うパターンか。ごめん。
322:319
07/12/26 22:54:50
参照渡しの場合はローカル変数しかunsetされないでいいんかな
323:nobodyさん
07/12/26 23:00:42
mb_send_mail()の引数の本文部分に
「>」を入れると
勝手に「>」にエスケープされるんですが、
ホワイ?
特に htmlspecialcharsとかかけてないんですが。。。
324:nobodyさん
07/12/26 23:11:12
ethnaの$this->af->getで取得した変数だからでした。
勝手にエスケープされるんでつね。。。
mb_send_mail( $this->af->get('to'), $this->af->get('subject'), $this->af->get('body') );
みたいな送信の仕方できないですが、
一回エスケープしたのを戻すとかの作業するのが一般的なんでしょうか
325:324
07/12/26 23:20:58
いや、すんません
ethna関係ないっぽいです、普通にやってむりぽでした。
326:nobodyさん
07/12/26 23:53:50 5CJgBllV
条件分岐でページ遷移する処理をしたいんだけど
Header関数(location)がエラー起こします。ほかに方法はないんでしょうか?
echoでjavascript出力もできますがそれはあんまりなので、、 よろしくお願いします
327:nobodyさん
07/12/27 00:13:03 kzcBaheO
>>326
飛ばしたいページのファイルをincludeすればいいんじゃね?
328:nobodyさん
07/12/27 00:15:44
>>326
エラー書いた方が良い
>>324
うちの環境ではエスケープされなかった
329:nobodyさん
07/12/27 00:39:58
>>326
単に、header関数の前に何か出力されちゃってるんでない?
それか場所の指定に変数を使ったりしてるならそこがおかしいか。
330:nobodyさん
07/12/27 00:54:22
特にローカルの開発環境だと、
キャッシュが効いて動作がおかしくなったりもするがな<header()
331:326
07/12/27 00:57:52 k02W1D9g
>>327-328
ありがとうございます
前に一度相談してて、自力解決めざしたんですができなかったんです
詳細は>>111です 今apacheのエラーログ見たところ、
PHP Parse error: syntax error, unexpected T_EXIT in
C:\\Program Files\\Apache Group\\Apache2\\htdocs\\system\\admin\\hoge\\index.php on line 14,
referer: URLリンク(localhost) …らしいです
14行目は>>111のexit;なので、コメントアウトしたら(//exit;)今度は
unexpected '}'~~ と出ました。ただのif文なのに意味がわかりません
ググっても出てこないし、気が向いた方教えてください お願いします
332:nobodyさん
07/12/27 01:10:18
構文エラーじゃん
エラーの行なんて参考でしかないから
/* */で囲みながら範囲をせばめてエラーで出てる箇所特定しろよ
どうせ、おっぱいかっこ{}の数があってないとか、そういうのだろ
333:nobodyさん
07/12/27 01:32:39
>>313
そいつぁコマンドライン用です。
334:255
07/12/27 03:55:57 tJxOOzWu
>>258 遅れてすいません。
<?php
// メール送信先を指定します。
$to = "実際は指定しました。";
// フォームの値を取得します。
if ($_SERVER["REQUEST_METHOD"] == "POST") {
foreach($_POST as $k => $v){
// 「magic_quotes_gpc = On」のときはエスケープ解除
if (get_magic_quotes_gpc()) {
$v = stripslashes($v);
}
$v = htmlspecialchars($v);
$$k = $v;
}
}
else {
exit();
}
// メール本文を組み立てます。
$naiyou = "お名前:$name\n
メールアドレス:$from\n
タイトル:$title\n
内容:$naiyou\n"
335:255
07/12/27 03:56:48 tJxOOzWu
if ($name != "" and $from != "" and $title != ""
and $naiyou != "" ) {
if (mb_send_mail($to, $title, $naiyou, "From:$from")) {
echo "メールを送信しました";
}
else {
echo "メール送信失敗です";
}
}
?>
336:sage
07/12/27 05:13:26 aXynhXDH
setcookieで「味噌」と日本語を食わして吐き出すと「?」となってしまいます。
ちなみにEUC-JPです。
ファイルを確認した所、保存時では「+%CC%A3%C1%B9+」とurlencodeされているのですが
webで表示(print $_COOKIE[hoge];)するときだけバグります。
64encodeしてから食わし、64decodeして吐かすとも考えたのですが、
ファイル全部の保存と表示部分を直すことは大量すぎて辛いっす。
何かいい解決策は有りませんでしょうか。
337:336
07/12/27 05:28:15
sagemissしてすいません。
追加ですが「あへあへ噌」や「味噌漬け」はバグりません。
338:326
07/12/27 05:57:19 k02W1D9g
>>332
ありがとうございます
構文エラーということで、{の閉じ忘れなどチェックしてもなかったので、
ソースをガンガン削っていったら
1)これは動作する
<?php
header("Location: URLリンク(www.yahoo.co.jp)");
?>
2)これは動作しない
<?php
header("Location: URLリンク(www.yahoo.co.jp)");
exit;
?>
という状況になりました。ホントに上のソース以外一切何も書いてません
誰か同じ症状になった方いないですか? 参った、、
PHP5.2.3 winXP apache2です
339:nobodyさん
07/12/27 09:19:36 jblLPn+a
ドメインについて教えて下さい。
ドメインを正規表現を使って省こうとしているのですが、
このようなドメインが有効なのですが、
ドメインの2番目で3文字以上ないといけないのではないでしょうか?
ドメイン名の規約とかないでしょうか?
URLリンク(www.ms.com)
(モルガンスタンレー証券)
340:nobodyさん
07/12/27 09:22:25
>>339
宣伝乙
341:nobodyさん
07/12/27 09:26:19
>>326
例えば
header("Location: ./");
@file_put_contents("nnnnnnn.txt", "test" ,FILE_APPEND);//ファイル作成
とすると、表示はジャンプで終わるが読み込み処理は終わらずにファイルも作られる。
header("Location: URLリンク(www.yahoo.co.jp)");exit;
@file_put_contents("nnnnnnn.txt", "test" ,FILE_APPEND);
だとexitで終了され、ファイルは作られない。
exit終了しない場合の後述によるエラー文表記は動作が不安定なので一概に言えない。
if(!$a){header("Location: URLリンク(www.yahoo.co.jp)");exit;}
などとしてでも、Locationにexitはセットと考えた方がいい。
でもexitつけたら動作しないというのは初耳。
342:nobodyさん
07/12/27 09:27:56 NgfmXqR6
>>315
>>317
>>333
313で質問したものです、
ご回答ありがとうございました。
javascriptを勉強してみたいとおもいます。
343:nobodyさん
07/12/27 09:29:13
んなもんRFC読めよw
344:nobodyさん
07/12/27 09:33:20
>>305
SESSION使うと「戻る」が使えなくなるから、ユーザーがウザがるよ。
COOKIEでいいんじゃない?
めっちゃ重要なセキュリティーが必要?
345:nobodyさん
07/12/27 10:40:08
> SESSION使うと「戻る」が使えなくなる
んなこたーない
346:326=305
07/12/27 10:41:55 k02W1D9g
>>341
ありがとうございます 結局これは僕の環境の異常という他ないんですかね?
php.iniで自動的に全ファイルに共通読み込みさせる機能がONになってるのかと思い
チェックしたんですがそれも問題ありませんでした…
もうあきらめてjavascript出力してリダイレクトさせることにしました
回答いただいた方、ありがとうございました
>>344
「戻る」が使えないってどういうことでしょう?
本やサイトを見るとセッションを使ってるので自分もそうしようと思っただけで
深い判断はありませんでした
今は>>309さんのいう“誰がログインしているのかという「ログインユーザのID」を管理”
の方が気になってたんですが、、
「めっちゃ重要なセキュリティー」は意識してません 普通の会員システムで十分です
なんかすみません、わからないことだらけで
347:nobodyさん
07/12/27 12:00:59
多分 >>344が言いたいのは、複数のページにまたがって一連のデータを入力させるような場合、
「戻る」操作をするとブラウザ上の表示とセッション変数の状態が食い違うことがあることを
言ってるんだと思う。
セッションの使い方によっては「戻る」操作を禁止するのは定石だけど、セッションを使うと
ページ戻りできないって話はおかしい。少なくもログインチェックに使用しただけで、
ページ戻り出来ないってのはあんまりすぎる。
348:344
07/12/27 13:16:55
わかりにくくてごめん。
SESSIONをかましたページでデータの送信等をした際に
ブラウザの戻るや進むで前の画面に戻ろうとすると
「セキュリティーのどうたら」ってエラー文がでて、送信前の入力データが消えたり
新しくリロードしないとページが表示されないようになる。
セッション値とかは関係ないけど、上記理由で
普通の感覚で「戻る」と「進む」が使えないから
ID新規作成とか、何回もログインしない部分だけをセッション使用にして
ログインとか一般的な頻発部分はクッキーの方がいいと書いたのです。
例、ログインID-A(mailとか)/Passの入力→ID-B(Noとか)と暗号化したPASSのクッキーを発行
各ページでクッキーによって本人承認を行い、1日~4週間&ログアウトでクッキーを消滅させる。
暗号化といえばPHP5の初期設定のままで、md5(一方向)、base_64encode、
urlencode、mb_convert_encoding以外に使えるものってないですかね?
C++のXORみたいなのは用意されてないのかな・・・
349:344
07/12/27 13:21:00
追記。凡ミス。 ×base_64encode → ○base64_encode
350:nobodyさん
07/12/27 13:29:34
>>348
なんかめちゃくちゃ言ってない?
351:nobodyさん
07/12/27 13:36:30
>>349
XORを用意ってビット演算子はあるんだからそれくらいの手間をケチるなよ。
...rot13とかなかったっけ? あとcryptも
352:nobodyさん
07/12/27 13:43:05
>ブラウザの戻るや進むで前の画面に戻ろうとすると
>「セキュリティーのどうたら」ってエラー文がでて、送信前の入力データが消えたり
>新しくリロードしないとページが表示されないようになる。
これはフォーム送信した後に戻ろうとしたら「再送信します OK?」っていうアレのこと?
セッションとは関係なくない?
353:nobodyさん
07/12/27 13:45:14
>> 348
てゆーかセッションわかってる?
354:nobodyさん
07/12/27 13:50:22
>>348
それセッションとかクッキーとか全然関係無いだろw
355:nobodyさん
07/12/27 14:17:26
>>348
それは、no-cache の話じゃないかな。sessionを使うと自動的にno-cacheにしてしまうような
フレームワークがあっても不思議じゃないけど、一般論として、sessionを使うとno-cacheになると
いうものではない。
>>344は、特定の環境で教えられたんじゃないかって気がする。
356:nobodyさん
07/12/27 14:17:58
str_rot13() = 英字の置き換え ABCDE ←→ NOPQR
crypt() = 一方向ハッシュ化 $1$Ze5.ut0.$9k5PF7d6Wogm4fjfYcViE0
cryptってmd5より有名だったと知らなかったPHP暦1年の俺が来たよ
str_rot13についてはマイナーすぎて今知った
357:nobodyさん
07/12/27 14:31:22
「crypt」って、エニグマと同じ方式による暗号化プログラムで、暗号化キーで復号できるものだと
思ってたんだけど、最近はcryptといえば単方向ハッシュであるものを言うようになったのか。
確かにPHPのマニュアルにも単方向って書いてあるし、何時の間にって感じなんだけど。
358:344
07/12/27 14:40:06
>>344>>348デス。
>>347>>350-355
暗号化について解説ありがとうございます。早速今日から使ってみます。
sessionについても丁寧なご説明ありがとうございます。
今調べたらまさにその通りでした。>>305>>346さんゴメンナサイ。
2年も間違ったまま覚えてたってやっべえ恥ずい。
どれぐらいって恥ずかしい性癖とかばれたぐらい?
反省してROMに戻ります。
359:nobodyさん
07/12/27 15:45:25
>>357
たぶんUnixとかネットワーク関係プログラマ界隈では
crypt といえば crypt(3) のこと。
PHPのcryptもcrypt(3)の単なるラッパのはず。
>>356
rot13はたぶん一番古くて一番有名なそして一番弱い暗号だぞ!
シーザーさんをなめるな!
360:nobodyさん
07/12/27 16:52:06
URLリンク(ytteter.so.land.to)
361:nobodyさん
07/12/27 18:06:57
>>359は、宝塚出身の女優と一緒だな。
本人は芝居上手だと勘違いしているが、押し付けがましいパフォーマンスに過ぎない。
362:nobodyさん
07/12/27 18:27:55
だが、ぬくぬくと生き伸びていたりする。
363:nobodyさん
07/12/27 23:42:07
過疎ってルナ
364:nobodyさん
07/12/28 01:18:59 x8Ui+5jw
質問です。
次元数が任意の多次元配列で、その配列の要素数を数えながら
次元を自動的にさかのぼる処理をさせたいと思っています。
具体例を書くと、配列 $arr が下記のようなものだったとして、
Array
(
[0] => hoge
[1] => Array
(
[0]=> koke
[1]=> moke
)
)
$arr[1]の要素数(2)を取得できるようにしたいと思っています。
この時、この配列の内容は事前に分かっていないため、
count($arr) が1以上ならば、その要素を調べ、
更に配列あればが自動的に添え字を付加して(ここでは「count($arr[0])」として)
上位次元を走査するような方法を思いつきました。
そこで変数に格納した添え字を配列変数に付加したかったのですが、
その方法が分かりません。
感覚的には、 $index = "[1]"; だったとしてとして
$arr{$index}{$index} が 「 $arr[1][1] 」となり、「moke」を取得する、
というような動作を希望していますが、$index が文字列のためうまくいきません。
何か他に望む処理を行える方法があるでしょうか?
よろしくご教示ください。
365:nobodyさん
07/12/28 01:28:39
>>364
>>$index が文字列のためうまくいきません。
ここの意味が分からない。
$arr["$index"]["$index"]
って話じゃなくて?
366:nobodyさん
07/12/28 01:33:23
>>364
$index = "[1]";
と、絶対使いにくそうな値を敢えて仮定する理由は?
367:nobodyさん
07/12/28 01:35:23
つまり
$index = "1";
$arr["$index"]["$index"]
みたいな形がやりやすい方法です。
368:364
07/12/28 01:53:54
>>365-367
みなさんレスありがとうございます。
その問いが来るかな、とは思っていたのですが、うまく説明できませんでした。
>>364 の例でいうと、$arr が何次元の配列なのか事前に分からないところが
ネックとなります。
つまり処理を行う前に最高次元が「$arr[]」なのか、「$arr[][]」なのか、
「$arr[][][]」なのかが分からないため、決め打ちできないということが問題です。
そのため、「[]」の角括弧を最初から書いておく「$arr["$index"]」方式では
対応できないので、角括弧を後から自由に付加できるような形を
求めていたというわけです。
例えば、$i = 1; で $index = "[$i]"; ならば、
$arr . $index で「 $arr[1] 」となって欲しいと思っていました。
このような目的を満たす処理方法はありますでしょうか?
引き続き、よろしくお願いします。
369:nobodyさん
07/12/28 02:02:57
最初から分かってたらなら書けと・・
再帰的な手法は分かる?
「再帰的関数 php」とかでググッてみるといい
370:nobodyさん
07/12/28 02:08:52
home/hoge
home2/hoge4
home/hoge2
home/hoge3
home2/hoge5
これを
-----------------
home
hoge
hoge2
hoge3
home2
hoge4
hoge5
-----------------
と表示させられるように配列処理したいのですが、
良い方法思いつきません、
お助けを。
371:nobodyさん
07/12/28 02:10:06
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
372:364
07/12/28 02:21:01 x8Ui+5jw
>>369
申し訳ありません。
>>364 の「この時、この配列の内容は事前に分かっていないため」で
伝わるかと思い込んでしまいました。
再帰処理については知っています。
今回の処理も再帰処理で、と思っていたのですが、
どうしても配列変数の添え字を自動生成する方法の所が分からなかったのです。
何か方策はありますでしょうか?
>>371
重ね重ね失礼しました。追記いたします。
サーバのOS: 「Windows2000」
Webサーバ: 「Apache 2.0.59」
PHPのバージョン: 「4.4.7」
以上の環境です。
なおこの環境は、OS 以外は利用しているレンタルサーバのスペックを
模倣したもので、この環境下での動作を求めています。
373:nobodyさん
07/12/28 03:04:11
>>370
/でexplode()してキーと値に宛えば。
>>372
どうにも難しい処理だから微妙だけど
eval("return \$arr{$index};")
とか。
374:370
07/12/28 03:17:21
> キーと値に宛えば
詳しくキボンヌ
375:nobodyさん
07/12/28 04:14:13
「キーと値に使えば」と予想
つまり
home2/hoge4
を分割して
$hoge["home2"] = "hoge4";
って形にすれ
376:nobodyさん
07/12/28 04:44:15
まず読め→【PHP マニュアル】URLリンク(www.php.net)
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
スレリンク(php板)
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
377:255
07/12/28 06:41:54 rEU4Fn3c
環境fedora7
<?php
if (mail('ac10@fb3.so-net.ne.jp','titile','message'))
echo "<b>SUCCESS TO SEND</b><BR>";
else
echo "<b>fail to mail</b><BR>";
?>
でfail to mailという方が出ます。
恐らくphp.iniの設定が不足しているんだと思いますが、
php.iniのsendmail_pathについてまだよく分かっておらず、とりあえずデフォのままにしてます。
ポート25は開けていませんがこれでいいのでしょうか。
378:255
07/12/28 06:46:39 rEU4Fn3c
sh: /usr/sbin/sendmail: Permission denied
というログが出ました。
379:255
07/12/28 06:48:30 rEU4Fn3c
が、lrwxrwxrwx root root system_u:object_r:bin_t sendmail
とあったので別にパーミッションは良いかと思います、、、もしかしたら
bin_tをhttpd_sys_content_tにしなければならないですか。
380:nobodyさん
07/12/28 07:40:41
/var/logを (って/var/logがFedoraにあるのかしらないけど)
良く調べてみたら。隅々まで。
URLリンク(bbs.fedora.jp)
ちょっとググってみたかんじだと SELinuxがどうのこうの、って
話がいくつか出てくるけど
381:255
07/12/28 08:10:09 rEU4Fn3c
有力情報ありがとうございます。SELinux disableにして実行してみたんですけど、やはりfail to mailでした。
ろぐ追加です。
[Fri Dec 28 06:18:37 2007] [notice] caught SIGTERM, shutting down
[Fri Dec 28 06:18:48 2007] [notice] SELinux policy enabled; httpd running as context user_u:system_r:httpd_t:s0
[Fri Dec 28 06:18:48 2007] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Fri Dec 28 06:18:48 2007] [notice] Digest: generating secret for digest authentication ...
[Fri Dec 28 06:18:48 2007] [notice] Digest: done
[Fri Dec 28 06:18:49 2007] [notice] Apache/2.2.6 (Unix) DAV/2 mod_layout/4.0.1a PHP/5.2.4 mod_ssl/2.2.6 OpenSSL/0.9.8b configured -- resuming normal operations
sh: /usr/sbin/sendmail: Permission denied
もう少しググってみることにします。selinuxには気づきませんでせした。
382:255
07/12/28 08:12:50 rEU4Fn3c
あ、ほんとくだらない質問になるんですが、メル鯖立ててなくてもmail関数使えますよね。
sendmailpathの意味するところが分からなくて、、、
383:nobodyさん
07/12/28 08:19:14 /nAj2CVO
会員システム作ってるんだけど kaiin/以下が会員領域だとして
その中にあるファイルはリファラがkaiin/内のファイルじゃない場合強制ログアウト
という処理にしたらセキュリティ上がるかなぁと思ってます
この処理をする場合、効率よくリファラチェックする方法はないでしょうか?
ひたすらif&orでやってけばいいんでしょうが何かみっともないので、、
また、そもそも↑みたいなことやっても意味ないですか?
ファイルをDLして手を加えられる侵入に対策したいと思ったんですが…
384:nobodyさん
07/12/28 08:30:44
>>382
mail()を実行すると、
Windowsの場合 : メールサーバに接続する(ネットワーク越し) - php.iniのSMTP
Linuxなど : メール送信用のプログラムを呼び出す(プログラムの引数) - php.iniのsendmail_path
のように、OSごとに違った挙動をする。
>>383
ノートン先生のようにデフォルトの設定でrefererを送信しないものもある。
>ファイルをDLして手を加えられる侵入に対策したい
何をしたいのかよく分からないが、特定の人言い換えりゃ特定の情報を送信してくるブラウザを
識別するには次のどれかだろうね。
・cookie
・セッション(まぁ、これもcookieの場合もあるが)
・WebサーバのBasic認証とかDigest認証とか
385:255
07/12/28 08:34:06 rEU4Fn3c
>>384 ありがとうございます。
windows:mail()→ネットワークに接続
linux:mail()→mail program呼び出し→ネットワークに接続
みたいな感じに理解しました、(あってるかな。。。)
386:nobodyさん
07/12/28 08:47:14 /nAj2CVO
>>384
ノートンてリファラ送信しないんですか じゃあダメですね、やめときます
ありがとうございました
387:nobodyさん
07/12/28 11:31:19
今日で仕事納めです。
早速、phpも仕事を土管とやってみましたが、
やはりmb_系の関数が絵文字処理で悩まされました。
mb_をpregと統一して総合文字列関数として再スタートさせるべきではないでしょうか?
それでは、来年も良いお年をお過ごし下さい。
388:nobodyさん
07/12/28 12:52:34 gGF8c07c
処理が遅い時、ブラウザを勝手に閉じると、
サーバーのスクリプトが終了したときに返却されるレスポンスのパケットはどこにいくのでしょうか?
サーバーの動作が遅いのですが、このパケットが行き先を失って、
ルーター内で無限ループしているってことは考えられますか?
送信要求しておいて、ページが表示されないからって閉じられるクライアントをどうにかしたいのですが、そうもいかないので。
389:nobodyさん
07/12/28 13:04:54
横槍だが、メール送信を使いたいだけで自鯖にメール機能をインストする必要はなっしん。
無料レンタ鯖にデータ飛ばして、そこから送信して、必要なら戻ってくるようにすれば無問題。
使い慣れないメール設定やほーと設定で悩んでいる人にオススメ。
390:nobodyさん
07/12/28 13:14:14
>>388
URLリンク(jp2.php.net)
URLリンク(ja.wikipedia.org)
391:nobodyさん
07/12/28 17:13:21
こんど、
「天皇陛下もやっているPEARの活用講座」
という本を出すことになりました。宜しくお願いします。
392:nobodyさん
07/12/28 18:45:23
こんど、
「将軍様もやっているPECLの活用講座」
という本を出すことになりました。宜しくお願いします。
393:nobodyさん
07/12/28 21:09:26 41MrW7lh
作成中のシステムが
[notice] Parent: child process exited with status 3221225477 -- Restarting.
というメッセージをApacheのログに残して落ちるようになってしまいました。
多分、再帰に失敗してスタックオーバーフローか何かになっているのだと思うのですが、
例えば例外をスローしてくれたりする設定のような、場所を特定する良い方法はないでしょうか?
環境は、PHP5.2 Apache2.0 WindowsXP です。
フレームワークは使用していません。
ご存知の方、教えてください。よろしくお願いします。
394:nobodyさん
07/12/28 22:07:55 /nAj2CVO
自力で会員システム作ってるんですが、二重ログインという問題があることに気づきました
この問題はどう解決したらいいんでしょう? 同一IDで後から入ってくる人を有効にすべき?
仕組みとしてはどういうものが理想ですか?
今考えてるのは、会員情報の管理テーブルに、現行のセッション名を保持するカラムを作って、
各アクションごとにブラウザが持ってるものと保存してるセッション名とを比較する
→不一致の場合強制ログアウト
というものです
どうなんでしょう ご意見いただければ幸いです よろしくお願いします
395:nobodyさん
07/12/28 22:12:07
>>394
その処理が君のシステムにおける理想ならそれでいいじゃん
396:nobodyさん
07/12/28 22:20:49
>>395
調子に乗ってんじゃねーぞ。このニート!!!
397:394
07/12/28 22:28:49 /nAj2CVO
自分のアイディアや知識に自信がないから聞いているので、
それでいいじゃんと言われても…
念のためググって調べて考えた上で質問させてもらいました
不快にさせたんならすみません
398:364
07/12/28 22:38:10
>>373
返事が遅くなりました。
試してみたら eval() で希望の動作が実現できました。
どうもありがとうございました。
399:393
07/12/28 22:44:02 41MrW7lh
例外を生成し、そのスタック長がある上限を超えていたら throwする関数を作って、
これを再帰している箇所に埋め込む事にしました。
400:nobodyさん
07/12/28 22:44:30
>>394
二重ログイン禁止したいならそれでいいんじゃないかな。
後から来た方を拒絶しようにも、明示的にログアウトしてくれる人ばかり
じゃないしね。
一定時間経ったらログアウトって仕組みにしても、その間最ログインできないし。
401:nobodyさん
07/12/29 04:16:39
冬休みを利用して、何か簡単なwebアプリを作ってみようと思い
開発を始めてみたのですが、一点質問させていただいてもよろしいでしょうか。
a.html 内でに b.phpというファイルをインクルードし、a.html内でb.phpの関数を呼び出し
実行したいのですが、うまく実行することができずに悩んでいます。
<?php include('./b.php'); ?>
<html><head></head>
<body>
<?php b_test(); ?>
</body>
</html>
といった具合です。
b_testの内容は、単純に文字列をprintしているだけなのですが
実行されず、ブラウザ上でソースを見るとそのままphpの記述が
残されている状況です。
各所で見て回った簡単なカウンタ等のアプリで同様の記述を行っているものもあり
自分も同じようなことをやってみようと思ったのですが、何か問題がありますでしょうか。
もしくは、他にhtml内でphpの関数を呼び出すのに適したやり方はございますでしょうか。
ご教示お願いいたします。
環境は、windowsXPにxamppを使用し、apache2.2.6とphp5.2.5をインストールしています。
mb_string系を有効にした程度で、ほとんど設定ファイルは弄っていません。
402:nobodyさん
07/12/29 04:44:46
まず読め→【PHP マニュアル】URLリンク(www.php.net)
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
スレリンク(php板)
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
403:nobodyさん
07/12/29 04:45:44
.htmlという拡張子をphp扱いで動かさないとphpは実行できんよ
404:394
07/12/29 09:51:58
>>400
わかりました ありがとう!
405:nobodyさん
07/12/29 11:02:50
softbankの一部の機種じゃ
GETでマルチバイト文字を送れないので
変換すべきと思われるンですが
どんな関数でそれをやればよいですか?>
406:nobodyさん
07/12/29 11:25:51
マルチバイトが送れんつーか、逆に送れる文字つーのが決まってるんでURLエンコードすりゃええ
407:405
07/12/29 11:39:30
>>406
なるほど。
サンクスです。
408:nobodyさん
07/12/29 15:00:42
なんか、ここのスレってサービスが劣化したなぁ。
前は、質問したら丁寧に教えてくれたし5分以内には的確な回答がきた。
今は、質問するとニートとか氏ねとかそんなのが殆ど。
ストレスを発散する場所を間違えないで欲しい。
409:nobodyさん
07/12/29 15:08:36
なんだよもう…面倒くさいなあ。
仕方ない、面倒見てやるか
>>408
ニートとか氏ね
410:nobodyさん
07/12/29 15:11:14
ま、2chだし
411:nobodyさん
07/12/29 15:11:36
>>408
ニートとか氏ね
412:nobodyさん
07/12/29 15:36:55
相手をニートと断定しないあたりに、プログラマらしさを感じた。
413:nobodyさん
07/12/29 16:14:18
>>408
もしお前がニートなら氏ねそうでないならイ㌔
414:nobodyさん
07/12/29 17:09:40
if( >>408 == 'ニート' ){
$anser = '氏ね';
}else{
$anser = '市ね';
}
415:nobodyさん
07/12/29 17:11:40
>>414
ちょwwwwおまwwwスペルがwww俺氏ねorz
416:nobodyさん
07/12/29 17:27:27
確かに、誰からも参照されなくなったニートオブジェクトは、ガベージコレクトされるべきではある。
417:nobodyさん
07/12/29 17:56:44 tcLiBXaz
array("Apple" => "りんご", "Orange" => "みかん");
という連想配列を、
array('Apple' 'りんご' 'Orang' 'みかん');
という配列に変換したいんですが、どうすれば良いでしょうか?
418:nobodyさん
07/12/29 18:06:27
>>417
foreach ($array as $key => $val) {
$new_array[] = $Key;
$new_array[] = $val;
}
419:nobodyさん
07/12/29 18:19:38
$a = array("Apple" => "Ringo", "Orange" => "Mikan");
$b = array_keys($a);
$c = array_values($a);
$d = array();
for ($i = 0; $i <= count($a) - 1; $i++) {
array_push($d, $b[$i], $c[$i]);
}
print_r($d);
420:nobodyさん
07/12/29 18:23:01 tcLiBXaz
すげー
天才だ!
有り難うございます。
421:419
07/12/29 18:23:05
配列の値がローマ字に変わってたのはさっきなぜか日本語がうてなかったからだ
気にしないでくれ
422:nobodyさん
07/12/29 18:48:40 WA8jVfpj
PHPでコンストラクタのvisibility (public とか privateなどの指定) をsuper classより厳しく出来ないのは何で?
仕様というより、何の不都合があるのかという意味で。
423:nobodyさん
07/12/29 18:52:50
継承じゃねーからだろ
424:nobodyさん
07/12/29 18:56:45 yIBMpd50
ちりりDUKEの使い方を教えてほしい
425:nobodyさん
07/12/29 18:56:45 WA8jVfpj
>>423
むしろ、継承だと出来ないんじゃないの?
426:nobodyさん
07/12/29 20:06:36
>>414,415
しゅくだいはおわったのかい
427:nobodyさん
07/12/30 01:39:18
ブラウザからPOSTして送るデータの改行コードって
何に依存するんでしょうか?
CRLFになったり、LFになったりして困ってまつ
428:nobodyさん
07/12/30 01:42:14
phpでcookieの内容を受け取るにはどうすればええの?
自分でsetしたcookieではなくて、外部鯖から返されるcookieの値を取得したいんだけど
429:nobodyさん
07/12/30 01:43:35
>>1 も読めないのか。このヴァカども
430:nobodyさん
07/12/30 01:46:14
事故解決
431:nobodyさん
07/12/30 02:34:00 +D3WOxGf
2点質問させていただきます。
1. htmlに書くname属性に日本語を利用しても問題無いでしょうか?
2. htmlのフォームからphpの変数に変換するツール等は無いでしょうか?
例:html:<INPUT type="text" name="name"> ⇒ php:$name = $_POST['name'];
432:nobodyさん
07/12/30 02:50:16
>>431
2はextract()でできるけど危険
433:nobodyさん
07/12/30 02:57:27
>>431
foreachで回せ
つか$_POST['name']で使うのがそんなに嫌なのか
434:nobodyさん
07/12/30 02:57:38
1 は html 的には何の問題もない
435:nobody
07/12/30 03:15:18 8C08uScj
PHPで多次元配列の値を半分だけとりだすのはどうすればいいでしょうか?
436:nobodyさん
07/12/30 03:21:54
半分だけってどう半分なの
437:nobody
07/12/30 03:35:21 8C08uScj
$a["a"][0]=>1
[1]=>1
[2]=>0
[3]=>1
[4]=>0
の$a["a"][0],$a["a"][1],$a["a"][2]の値です
438:nobodyさん
07/12/30 03:38:15
forなりforeachなりで回して半分まで行ったらbreakすりゃいいでしょ
439:nobodyさん
07/12/30 04:45:05
まず読め→【PHP マニュアル】URLリンク(www.php.net)
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
スレリンク(php板)
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
440:nobodyさん
07/12/30 05:31:14
>>439
お前いい加減うざいよ
わざわざ>>1貼る必要ないだろ
冬休みだからって何回繰り返してるんだよ池沼
せめて>>1嫁ぐらいに留めとけ
441:nobodyさん
07/12/30 05:38:36
>>440
まず読め→【PHP マニュアル】URLリンク(www.php.net)
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
スレリンク(php板)
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
442:nobodyさん
07/12/30 05:44:17
予想通りの流れだな
さすが冬休み
443:nobodyさん
07/12/30 06:49:36
冬休み (笑
444:255
07/12/30 07:51:44 G9WMPe2A
やはりsendmailの設定を何もしていないとまづいんじゃないかと思ってます。が、、、
445:255
07/12/30 08:01:43 G9WMPe2A
でも #sendmail ~ でメールは送れました。。。混乱しながら1週間くらい悩んでます。
446:nobodyさん
07/12/30 08:41:04
そのスクリプトでエラー表示させてる?
エラーが出てて表示させないで真っ白になってるんと違う
447:255
07/12/30 08:52:27 G9WMPe2A
出せてます ifでmail()がtrueを返したらok falseならno をprintさせてます。
、、、先ほど少し進展がありました。
#setenfoce 0
#restorecon -R /var
を設定することでメール関数がokを返すようになりました。
上のはselinuxを無効にするという意味で、下のは、、、どういう意味だろう。
(cd URLリンク(www.atmarkit.co.jp)
でもメールがこない。。。httpdのerroelogを見てみると
Domain of sender address apache@localhost.localdomain
→やっぱりsendmailの設定をいじらないといけないのかなと思い、
とりあえず#sendmail 自分のメルアド
~~~
としてsendmailをテストしてみると無事に自分のアドレス(プロバイダからもらったやつ)に届く
sender addressを設定しなくてもグローバルな環境でメール送れるじゃん
となって今また悩んでいるところです。
448:255
07/12/30 08:54:11 G9WMPe2A
失礼しました。Domain~のところですが、Domain~~~does not exitです。
449:nobodyさん
07/12/30 09:06:56
Fedoraって /var/log/maillog とかないの?
あとif文でOKとか、そういうんじゃなくて、
PHPが吐くwarningとかnoticeとかもみてるのかな?
> Domain~~~does not exit
does not exist? 自分宛に送ったメイルの差出人も localhost.localdomainに
なってるのかな?
450:255
07/12/30 09:46:25 G9WMPe2A
maillogの内容です。基本的にerrorlogと同じようなことがエラーになってま
す。
Dec 30 08:39:28 localhost sendmail[4414]: lBTNdBJQ004412:
to=<:::::::::@fb3.so-net.ne.jp>, ctladdr=<apache@localhost.localdomain>
(48/48),
delay=00:00:17, xdelay=00:00:17, mailer=esmtp, pri=120328,
relay=mxin2.ms.so-net.ne.jp.
[202.238.83.12], dsn=5.1.8, stat=User unknown
Dec 30 08:39:28 localhost sendmail[4414]: lBTNdBJQ004412:
lBTNdSJQ004414: DSN: User unknown
>>Does not exitst
自分宛(?.so-net.ne.jp)に送ったメールの差しだし人が
localhost.localdomaiになってる可能性大です。
この場合やはりsendmailの設定を変更すべきなのでしょうか。
上にも書いた通り端末からsendmailを利用して自分宛(?.so-net.ne.jp)に
送った場合成功するので、
どこを変更すればいいのかで悩んでいます。
451:nobodyさん
07/12/30 10:04:09
もう完全に PHP とはかけ離れてるな
452:nobodyさん
07/12/30 11:35:19
なんか面白い関数とかありませんかね
正月っぽいの
453:nobodyさん
07/12/30 11:40:04
omikuji();
でおみくじが引けるよ!
454:nobodyさん
07/12/30 11:48:59
php_logo_guid()だろ、、、常考
455:nobodyさん
07/12/30 11:59:43
>>450
> メールの差しだし人が
> localhost.localdomaiになってる可能性大です。
俺mail関数使ったことないんで間違ってるかもしれないけど
これ見た感じだと→ URLリンク(jp.php.net)
「メールを送信する際には、必ず From ヘッダが含まれていなければなりません」
とかいてあるけど「可能性大」ってのは自分で「localhost.localdomail」のメアドを
指定した、っていう意味?
456:455
07/12/30 12:13:57
なんか変なこと書いてるな俺。気にしないで
457:nobodyさん
07/12/30 12:28:12
PHPに関係するのは、ctladdrの所だけだぁね。
ctladdr=<apache@localhost.localdomain>
ctladdr - The ``controlling user'', that is, the name of the user whose credentials we use for delivery.
こいつは mb_send_mailの4だったか5番目だったかのパラメータで設定したものが使われる。
指定してなきゃ、sendmailを呼び出したプロセスの所有者が使われるんだったかな。
で、apacheになるっと。
その部分を除いてPHPには全く関係無く、”sendmailを適切に設定していないことが原因” だから板違い。
Linux板か自宅鯖板のsendmailスレで、どういうメル鯖の構成(ISPのメル鯖に全部投げとか)にするかを書いた上で聞けばいいよ。
458:nobodyさん
07/12/30 13:13:30
ユーザー認証のページの作成をしています。
登録後のIDとPASSの管理をファイルでしようと思うんですが、
セキュリティを向上させるための定石というのはあるのでしょうか。
また、どのようにユーザーがログインする時はPOSTでデータを送信、
その後はセッションでログイン情報を維持という風にしたいのですが
これは特に問題ありませんよね?
459:nobodyさん
07/12/30 13:29:12
>>458
とりあえず、オライリーの「入門PHPセキュリティ」を読むことを勧める。
460:255
07/12/30 16:15:22 G9WMPe2A
不本意ながらこの泥沼から逃げることで一応解決しました。つまりpostfixに移行しました。
461:nobodyさん
07/12/30 16:50:41
逃げちゃだめ
とりあえず、オライリーの「sendmail」を読むことを勧める。
462:459
07/12/30 16:56:03
>>461
別に逃げても良いんじゃないの?
463:nobodyさん
07/12/30 19:23:36
<tr>
<td class="aaa">あああ</td>
<td class="bbb">いいい</td>
</tr>
↑をまるごと変数に入れるにはどうすればいいでしょうか・・・
464:463
07/12/30 19:26:45 MvMxVYb6
ID出し忘れました
申し訳ない
465:nobodyさん
07/12/30 19:27:27
1読め屑
466:nobodyさん
07/12/30 19:29:49
$hoge = "<tr>\n<td class="aaa">あああ</td>\n<td class="bbb">いいい</td>\n</tr>";
$hoge = "
<<< HTML
<tr>
<td class="aaa">あああ</td>
<td class="bbb">いいい</td>
</tr>
HTML;
";
467:nobodyさん
07/12/30 19:33:13
>>466は「"」→「\"」で。
下の方法が合ってるかはわからn
468:nobodyさん
07/12/30 19:42:11
>>466
なんか、色々間違ってる気がする。
URLリンク(www.php.net)
469:nobodyさん
07/12/30 20:02:47 1r819gof
聞きたいんですが、php5のマニュアルってどこかでダウンロードできないですか?
昔マンモス本の中身ダウンロードできるサービスがあったような気がするんだけど、
ああいうの今もないでしょうか?
あったら教えてほしいです、田舎に帰って勉強したいんだけど、
でかい本持ち歩くのキツイ、、
470:nobodyさん
07/12/30 20:08:55 lUFWIq2Z
MVCでテンプレートエンジン使わずにVIEWをやりたいんだけど
コントローラーで
$title = "タイトル";
require("hoge.php");
exit;
とかみたいなやりかたってダメ?
他に何かいい方法あるかなー?
っていうかviewを別にするならテンプレート使わないといけないのかな?
471:nobodyさん
07/12/30 20:12:51 lUFWIq2Z
>>469
URLリンク(www.php.net)
472:nobodyさん
07/12/30 20:18:46
>>459
すいませんわがままだと思うんですが
Web上で参考になるセキュリティ対策のサイトというのはないでしょうか・・・
473:469
07/12/30 20:24:49 1r819gof
>>471
すごい! ほんとにあったんですね!! 大感謝です
ありがとう!
474:nobodyさん
07/12/30 20:33:01
>>472
>>1
475:nobodyさん
07/12/30 20:38:53
>>466
レスありがとうございます
↑の書き方で例を表示することはできたんですが、
自分の場合"あああ"、”いいい”の部分も<?=$hogehoge?>の様に変数になっていて、
このまま実行してもセルの中が空になります
変数に変数を代入しようとしてるのが問題だと思うんですが、どうにかならないでしょうか
ローカルでテストしてる場合OSとPHPのバージョンは自分の環境を書けばいいんでしょうか
WindowsでPHP5.25なのですが
476:463
07/12/30 20:39:38 MvMxVYb6
またやってしまった
申し訳ない
477:nobodyさん
07/12/30 20:44:11 lUFWIq2Z
>>475
変数を『{}』でくくるか、
文字列と変数を『.』で繋げればいいんじゃない。
478:nobodyさん
07/12/30 20:48:41
普通にシングルクォートで囲って入れればいい話じゃないのか?
479:431
07/12/30 21:24:43 +D3WOxGf
>>432-434
レスありがとうございます。
とりあえずやりたいことは出来そうです。
もう少し勉強してみます。
480:463
07/12/30 21:58:49 MvMxVYb6
>>477-478
$hoge="<tr>\n<td class="hoge2"><?=hoge3?></td>\n</tr>";
変数と言うか、<td>~</td>間にPHPの書式を書こうとするとだめみたいです
<td class="hoge2">のようにタグの中だと効くのですが、<?=hoge3?>は無いものとして扱われてます
<?=hoge3?>を{}や''で囲むとその囲んだ記号だけ表示されます
481:nobodyさん
07/12/30 22:00:51
俺はシングルクォートで文字列括って改行コードは定数にしてるな
$html = '<a href="hoge.html" onclick="alert(\'ラヴィ\')">'.$hoge.'</>'.NEW_LINE.
'以上ラヴィでした';
こんな感じで書いてるなー
#てーか携帯でソース書くの辛いな
482:nobodyさん
07/12/30 22:09:56
つーかロジックとビューは分離しろ。
ヒアドキュメントとかアホじゃねーのか。
483:nobodyさん
07/12/30 22:22:57
ヒアドキュメント使うと、ロジックとビューが混ざるの?
ヒアドキュメントと文字列に差はないと思うけど。
484:nobodyさん
07/12/30 22:24:45
PHPのヒアは変数展開とかしてくれないから、混ざらないと思う。
485:nobodyさん
07/12/30 22:28:09 UcZOMDnE
>>484
展開したと思う。
486:484
07/12/30 22:34:14
ごめん、勘違いしてたみたい。
自重します。
487:nobodyさん
07/12/30 22:35:18
配列の展開やオブジェクトの参照はしてくれないけど({}付は省く)
普通に$unkoとかは展開されてる
488:nobodyさん
07/12/30 23:08:06 WyJGCA3E
.cgi .plのスクリプトを使いたいのだが
どうすれば いいだろうか?
クリックしても .bat / .exeみたいに 動かないし…
489:nobodyさん
07/12/30 23:15:01
>>488
スレ違い
PHPからなら
<?php
exec("pl hoge.cgi");
?>
とか
490:nobodyさん
07/12/30 23:16:28
(;´Д`)
491:nobodyさん
07/12/30 23:51:59
吹いたwwwwwww
492:nobodyさん
07/12/31 00:40:49
>>427
クライアントのOSだったと思う
俺はLFに統一してる
493:nobodyさん
07/12/31 02:01:26 ye8NBX1l
クッキーにIDとパスがあった場合、
そのままログイン後の画面を表示させるか、
入力フォームに値を入れてボタンを押させるか、
どっちが主流?
494:nobodyさん
07/12/31 02:05:01
IDはまだしも、パスワードはクッキーに保存しちゃ駄目wwwwwwwwww
495:nobodyさん
07/12/31 02:07:28
mysqlも穴だらけだなぁと思う今日この頃。
ソフトウェア開発のがリスクがない分楽かもしれん
496:nobodyさん
07/12/31 02:22:13
>>493
IDやPASSをそのまま入れてる訳ではないけど
ログインしたままが多いんじゃないかな(Googleとかニコ動とかそうだし)
497:nobodyさん
07/12/31 03:43:38
そこらへんのphpゲーム見て回ってるんですけど
普通にhiddenでIDとPASSをやり取りしてページを移動していますよね、
これってセキュリティ的にどうなんですか?。。
498:nobodyさん
07/12/31 03:55:53
最悪
499:nobodyさん
07/12/31 04:08:11
そうなんですか、どこでも普通に使われてるので何かやってるのかと・・・。
ログイン画面でID・PASSを送信、ハッシュ化、
それに応じたハッシュがあればセッションを作成してページ間の移動に利用、
ページを移動したらセッションを破棄、また移動時にセッションを作成、破棄・・・
というの無知ながら考えたんですが、これはセキュリティとサーバーの負担から考えてどうなんでしょう・・・。
どなたかご教授お願いいたします。
500:nobodyさん
07/12/31 04:09:21
クッキーに保存して良いのはセッションIDのような、ワンタイムパスワードっぽいのだけ。
501:nobodyさん
07/12/31 04:44:33
まず読め→【PHP マニュアル】URLリンク(www.php.net)
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
スレリンク(php板)
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
502:nobodyさん
07/12/31 04:46:57
KY
503:nobodyさん
07/12/31 04:59:41
いっそのことテンプレをNGワードにしてしまおうか。
504:nobodyさん
07/12/31 05:18:46
普通に答えてやればいいのに
505:nobodyさん
07/12/31 10:13:13
自信満々な態度でテンプレを貼り付けてくるバカを見ると失笑を買う
506:nobodyさん
07/12/31 14:09:09 ExHZywTc
phpでMySQLからデータを引っ張ってきて、XMLに加工して出力してるんですが、
XMLの加工そのものは成功してて、IEなんかのブラウザで見てる分には問題ないんですが、
Ajaxで非同期受信すると、responce has no propertiesとなってしまいます。
(status=4を受信できないっぽい)
上記のエラーは、FirefoxのFirebagで見てます。
Firebag上は、ちゃんとXMLが取得できてるので、php側からstatusの4を送信できればいいんだと思うんだけど、やり方わかる人っていますか?
507:nobodyさん
07/12/31 14:09:53 ExHZywTc
もしくは、Ajax用にphpで動的にXMLの生成を経験した人っておりますか?
508:nobodyさん
07/12/31 14:21:09
どうせどっかでタイプミスしてんだろ
509:nobodyさん
07/12/31 14:21:27
質問する時は、せめて「どうすればいいですか?」って聞き方にした方がいいと思いますよ。
わかる人、経験した人ってのは案外多いもんです。
510:nobodyさん
07/12/31 14:29:56 ExHZywTc
phpでxmlを出力すると、ヘッダーが違うからっぽいですね。
何を出力すればいいんだろ?
>>508
してないです。
>>509
はぁ・・・
511:455
07/12/31 14:32:14
> php側からstatusの4を送信できればいいんだと思うんだけど
HTTPのことを全く理解せずにAjaxとかやってるやつって
色々大変なんだろうなー
512:nobodyさん
07/12/31 14:33:17
ヘッダなら、これで
header("Content-Type: application/xml; charset=utf-8");
513:nobodyさん
07/12/31 14:37:06 ExHZywTc
自己レスです。やっぱりヘッダでした。無事解決しました。
514:nobodyさん
07/12/31 14:39:10 ExHZywTc
>>511
Ajaxやったことない人からすると、羨ましいですか?
>>512
はい、それです。やっぱ実力のある人は回答をスパッと出しますね。
実力無い人って、なんでウザイんですかね?
515:nobodyさん
07/12/31 14:40:39
>>514
そうそうお前みたいに質問者の癖に無駄に解答者煽ったりとかな。
本当に勘弁して欲しいわ。早く巣に帰れ。
516:nobodyさん
07/12/31 14:43:42
「実力のある人は回答をスパッと出しますね」
実力のないやつがえらそうにこういうこと言うのって恥ずかしいなあ。
"responce has no properties"
"Firebag"
この手の注意力散漫なやつはくだらない打ち間違いで時間を無駄にするタイプ。(中学生か?)
ふつーにFirefox使ってりゃ、この手のバカが打ち間違えないように
赤い下線で打ち間違いを教えてくれるのに、それでも間違えるってのは真性だなあ
517:nobodyさん
07/12/31 14:45:09
恥知らずの中二病が冬休みのお勉強中か?
はやく「php側からstatusの4を送信」してみろよカスが
518:nobodyさん
07/12/31 15:11:38 ExHZywTc
>>515-517
そんなに悔しかったんですか?(w
久しぶりに必死な人を見ました。
今年の歳暮れも大変だと思いますが(w 頑張って下さいね。
519:nobodyさん
07/12/31 15:23:53
Firebag(笑)
> 上記のエラーは、FirefoxのFirebagで見てます。
> Firebag上は、ちゃんとXMLが取得できてるので、
520:nobodyさん
07/12/31 15:24:29
>>518
随分舐めた態度の奴だなあ
何様のつもりなんだろう
521:nobodyさん
07/12/31 15:28:11
おまえが何様だ
522:nobodyさん
07/12/31 15:28:26
____
/ \ /\ キリッ
. / (ー) (ー)\
/ ⌒(__人__)⌒ \ 上記のエラーは、FirefoxのFirebagで見てます。
| |r┬-| |
\ `ー'´ /
ノ \
/´ ヽ
| l \
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、.
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
523:nobodyさん
07/12/31 15:30:50
>>521
「php側からstatusの4を送信」ってのはいつになったらできるの?
524:nobodyさん
07/12/31 16:17:17
>>521は質問者ではないぞ。
大して解決策も出してない輩が粋がっていて、なんだかなーと。
525:nobodyさん
07/12/31 16:18:07
____
/ \ /\ キリッ
. / (ー) (ー)\
/ ⌒(__人__)⌒ \ php側からstatusの4を送信
| |r┬-| |
\ `ー'´ /
ノ \
/´ ヽ
| l \
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、.
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
/_ノ ヽ、_\
ミ ミ ミ o゚((●)) ((●))゚o ミ ミ ミ
/⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\ /⌒)⌒)⌒)
| / / / |r┬-| | (⌒)/ / / //
| :::::::::::(⌒) | | | / ゝ :::::::::::/ だっておwwwwwwwww
| ノ | | | \ / ) /
ヽ / `ー'´ ヽ / /
| | l||l 从人 l||l l||l 从人 l||l バンバン
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
526:nobodyさん
07/12/31 18:23:23 ExHZywTc
今、家の用事から帰ってきました。
まぁリアルで高校生なんですけど、高校生より劣っていることが
そんなに悔しかったんですか?(w
527:nobodyさん
07/12/31 18:26:45 ExHZywTc
まぁ高校生でもプログラム歴5年くらいあるからなぁ。
PHPは1年だけど(w
おっさん、めげるな!
528:nobodyさん
07/12/31 18:29:44
NG推奨 ID:ExHZywTc
いい加減しつこい。
529:nobodyさん
07/12/31 18:36:41
しつこさは同意だが、おまえも同じくしつこい野郎だな
530:nobodyさん
07/12/31 18:38:52
5年もやってて>>506か。頭の病気かも分からんね。
531:nobodyさん
07/12/31 18:41:07
いちいち反応するなよ。はい次の質問者どうぞ。
532:nobodyさん
07/12/31 18:41:25
極論厨死ね、リアルで死ね
533:nobodyさん
07/12/31 18:44:12 3CT6jxWV
投稿フォームでURLリンク(yahoo.co.jp)のようなアドレスを自動リンクさせるには
正規表現で<a href=""></a>を加えて置換する以外に何か方法ありますか?
534:nobodyさん
07/12/31 18:46:14
>>533
URLかどうかを判断する方法は正規表現以外でもできるが、結局は置き換えになる。
535:nobodyさん
07/12/31 18:52:11
URL入力欄を設ける
536:nobodyさん
07/12/31 18:58:49
>>535
おまいは何を言ってるんだ
537:nobodyさん
07/12/31 19:01:45
>>536
頭の固い馬鹿だな
538:533
07/12/31 19:02:09 3CT6jxWV
>>534-535
ありがとうございました。
都合のいい正規表現を考えるか、探した方が良さそうですね。
539:nobodyさん
07/12/31 19:36:21
>>537
ちょww質問の意味を汲み取れてない馬鹿はお前だろww
投稿フォームでアドレスの入力があった場合のオートリンクの話をしてるのに
なんでURL入力欄を設けるとかイミフなこといっちゃってるわけ?wwww
540:nobodyさん
07/12/31 19:43:39
必死な釣り人がいるが
低学歴は数年後にちゃんとみじめな人生送ることになってるから
放置しておいてやろう
家が金銭的に小康状態を保っているから
他にやることが無いから書き込みをしているんだ
今の彼は最高に輝いている
541:nobodyさん
07/12/31 19:47:16
煽らんでいいからおとなしく自分の非を認めて黙って引っ込んどけよ。
1. URL入力欄
URLリンク(www.example.com) (自サイトのURL)
2. 投稿フォーム
こんにちは。よかったらサイトに遊びに来てください。
最近 URLリンク(www.2ch.net) にもたまに出没しています。
1と2で張られたリンクには関連性はないだろ。
542:nobodyさん
07/12/31 20:41:37
>>538
正規表現関連、英語で良ければ
URLリンク(regexlib.com)
が便利。
543:nobodyさん
07/12/31 22:34:43 zQ+yU81P
たとえば
<name>ひろゆき</name>
って文字列があるとして、ここから「ひろゆき」だけを抜き出すには、どんな方法がスマートなの?
substrとstrposでゴチャゴチャ処理するのが嫌なんだけど。
544:nobodyさん
07/12/31 22:36:38
>>543
>>542
545:nobodyさん
07/12/31 22:36:53
>>543
DOM
SimpleXML
546:nobodyさん
07/12/31 22:46:18 zQ+yU81P
>>545
xmlって言ってないのに気を遣ってくれてありがとう。
simplexml使ってみます
547:nobodyさん
07/12/31 23:01:32 fLI7N5P/
インクルードさせて使うファイルが直接ブラウザで開かれたときに
エラーを返す方法ってありますか?
そもそもそんなこと気にしないで良いんでしょうか?
548:nobodyさん
07/12/31 23:04:14
.htaccessとかでインクルードさせる鯖アドレスだけを許可すればいんじゃね。
order deny,allow
deny from all
allow from localhost
みたいな
549:nobodyさん
07/12/31 23:07:17
ドキュメントルートの上に置けよと
550:nobodyさん
07/12/31 23:07:40
includeする時は別にHTTPでアクセスする訳じゃないから
localhost許可する必要すらないよ。
普通に全て拒否すればおk
551:nobodyさん
07/12/31 23:12:28
おいらはクラスや関数にして、直接呼び出しても出力や処理が実行されない形で書くから、
そういうのは気にして無いな。
その他には、他の人と重複するけど、
・Webサーバから直接アクセスできない場所に置く
・htaccessを使うなどして、アクセスを制限する
・設定ファイルなどで定数を設定して、インクルードファイル内でそれを確認
ってところかな。
552:nobodyさん
07/12/31 23:22:44
Webサーバからアクセスできない場所に置いたらincludeできねーだろw
553:nobodyさん
07/12/31 23:26:57
まぁ所有者と権限の設定をきちっとしろよという事だな
554:nobodyさん
08/01/01 00:01:03
あけおめ
555:nobodyさん
08/01/01 00:03:26 QS3lzF/U
くわしい解説ありがとう
勉強になりました
あけましておめでとうございます!
556: 【中吉】 【1298円】
08/01/01 00:42:52
<?php echo "A Happy New Year !!\n"; ?>
557:nobodyさん
08/01/01 01:54:00 mia1J22w
PHP5の正規表現について質問です。
PHP5.2.5 (cli) を使用しています。
1. PHPスクリプトのエンコードはUTF-8
mb_regex_encoding('UTF-8');
mb_internal_encoding('UTF-8');
2. URLリンク(2ch.net) を fsock で取得(これは問題なし)
3. mb_convert_encoding で UTF-8 に変換(これも問題なし)
4. その文字列を正規表現で処理…(ここで問題発生)
//if (mb_eregi('<div[^>]*>(?:(?!</div>)(?:.|\s))*?利用者各位', $body, $matches)) // 動かない(エラーも吐かずに停止状態になる)
if (mb_eregi('<div[^>]*>(?:(?!</div>)(?:.|\s))*?利用者各位', $body, $matches)) // 動く
print_r($matches);
else echo 'NO MATCH';
正規表現的に問題は無いと思うのですが…
「(?!</div>)」を消したり、「(?:.|\s)」を「(?:.|s)」や「.」にすると動きます。
「.」が改行にマッチするので、「.」に置換すればいいのですが、何故この様な事になるのか解りません。
何か無限ループ的なことになっているような気も…
558:nobodyさん
08/01/01 02:58:34 mia1J22w
確認用ソースです。[\r\n] でも発生する事があるようです。
URLリンク(abc.s65.xrea.com)
559:nobodyさん
08/01/01 03:19:28 mia1J22w
PHP4.4.7だと正常に動作しました。
MLog: [PHP-users 29514] Re:UTF-8、正規表現で全角スペースがヒットしないことがある?
URLリンク(mlog.euqset.org)
見たいなのも有るようなので、仕様(納得行かないのでバグのような気がしますが)でしょうか・・・?
560:nobodyさん
08/01/01 03:21:45
>>559のURLは関係無かったようです
561:nobodyさん
08/01/01 04:44:18
まず読め→【PHP マニュアル】URLリンク(www.php.net)
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
スレリンク(php板)
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
562:nobodyさん
08/01/01 04:48:03
>>561
そろそろいい加減にしないとアク禁されんぞ
563:nobodyさん
08/01/01 06:09:31
PHPで、既存のクラスにメソッドを追加することはできませんか?
RubyやPythonやJavaScriptでは、既存のクラスに対してあとからインスタンスメソッドやクラスメソッドを追加できるんですが、同じことをPHPでしようとして、やり方が分からず困ってます。
なおこの質問はPHP批判ではなく純粋に質問なので、「Ruby使えやボケ」とかはなしでお願いします。
564:nobodyさん
08/01/01 06:13:35
>>557
その現象が発生する $body はどんなの?
なるべく短いのを書いてみて。
565:nobodyさん
08/01/01 06:18:22
>>563
PHPをハックすればできるんじゃない?
ていうか既存のクラスいじるとかトリッキーなことしないで、
継承してからいじればいいと思う。
クラスの再利用ってそういうものでしょ。
566:nobodyさん
08/01/01 06:45:56
>>565
継承すると別のクラスになります。
使おうとしいてるライブラリがクラス名を固定しているため、他のクラスは使えません。
factory methodとかDIコンテナを使っていればいいのですが、そうではないので、継承では解決できません。
567:nobodyさん
08/01/01 06:52:45
単純な興味なんだけど
何のクラスにどういうメソッドを追加しようとしてんの?
568:nobodyさん
08/01/01 06:59:41
>>557
止まってるんじゃなくて、マッチングに時間がかかってるだけみたい。
対象文字列を短くしたら、数秒で終わるようになった。
たぶんeregi()のマッチングアルゴリズムがまずいんだろう。
UTF-8でいいなら、mb_eregi()のかわりにpreg_match()を使って、パターンに u オプション使えばいい。
それから、質問するときは現象が発生する最小限のコードにしてほしい。
getPage()とかいらんから、対象文字列を短くしてコードに貼付けるべし。
569:nobodyさん
08/01/01 07:02:35
つかあえてeregi使う利点ってあんの?
570:nobodyさん
08/01/01 07:03:40
>>567
privateやprotecedになっているインスタンス変数に対して、publicなアクセッサを定義したいというだけです。
他人が作ったまずい設計のクラスを、なんとかして使わなければいけないときに、RubyやPythonだとなんとかできてしまうので、同じことがPHPでもできたらいいなと思って。
571:nobodyさん
08/01/01 07:19:12
ふーん、ま無理だから自力で何とかするのがいいかと
572:nobodyさん
08/01/01 07:37:33 9i91PKAG
皆さんあけおめです
php_qrってのを使おうと思ったんですが、インスコまではやったんだけど
php_output_from_zvalがみつかんねぇってこと言われました
php_output_from_zvalってなんのパッケージ入れればいいんですか?
573:nobodyさん
08/01/01 07:46:35
PHPのバージョンが合ってないんじゃね
574:nobodyさん
08/01/01 07:54:18 9i91PKAG
>>573
php4なんですが、php_qr-0.1.0.tgzとphp_qr-0.1.3.tgzを試したんですが出来ませんでした。
php4ではどのバージョンを使えばいいんでしょうかね?
とりあえずエラーメッセージ載せておきます
Warning: dl(): Unable to load dynamic library '/usr/lib/php4/qr.so' - /usr/lib/php4/qr.so: undefined symbol: php_output_from_zval in /var/www/html/index.php on line 3
575:nobodyさん
08/01/01 09:04:48
>>564,568
有難うございます。色々試してみた所、仰るとおり、
PHP5だと何故か異常に時間が掛かるだけで(PHP4だと一瞬)、固まっている訳ではなかったようです。
どういう表現&対象文字列だと遅くなるのかがよく解らなくて困りますが…
一応、テストに使用したスクリプト、対象のソース、結果を纏めた物を用意してみました。
URLリンク(abc.s65.xrea.com)
後、異常に遅い表現は、preg_match + i,s,uオプション ではマッチしないようです(PHP4.4.7のmb_eregiだとマッチする)。
もう訳が解りません…
576:nobodyさん
08/01/01 09:27:18
>>574
そりゃドキュメントなりリファレンスなりreadmeなり見れば書いてあるんじゃないの
あとは作者に聞け
577:574
08/01/01 09:54:04
しょうがないからコード書き換えた
php_qr.cの594行目のチェックをはずしたらうまく行ったっぽい
578:nobodyさん
08/01/01 10:08:13
>>575
//if (preg_match('{<div[^>]*>(?:(?!</div>)(?:.|[\r\n]))*?管轄裁判所)}isu', $body, $matches)) // NO MATCH(何故一致しないのかわからない…)
i,s,uはパターン修飾子だから、 /正規表現/isu の書式じゃないの?
URLリンク(jp.php.net)
579: 【大凶】 【1876円】
08/01/01 10:15:38
自分で正規表現考えながら書くのは結構好きなんだが、
他人が書いてるものを見るとわけがわからなくて嫌いになりそうになるよな。
580: 【大凶】 【1905円】
08/01/01 10:24:01
そこでコメントですよ
581: 【末吉】 【1693円】
08/01/01 10:35:04
大凶 2連チャンとかw
582:nobodyさん
08/01/01 10:56:15
>>578 は関係ないっぽい。忘れて。
583: 【吉】 【1505円】
08/01/01 13:54:05
この板の連中は運悪いなw
今年もくだらねぇ質問して、時には回答にまわって勉強させてもらうぜ。
ヨロシクな
584:nobodyさん
08/01/01 14:43:07
コーディングが冗長になると、スクリプトの動作速度も鈍くなったりする?
585:nobodyさん
08/01/01 15:02:55
とんでもない冗長なら遅くなるね
586:nobodyさん
08/01/01 15:06:59
理論的には単純にコードが長くなれば誤差程度だが当然影響は出る
ただ100行のコードが1万行になるわけではないだろ?
せいぜい数行~数十行増えるだけのはずだ
そうなると体感動作速度は一緒だし実測しても変わらない
気にする必要はないからわかりやすく書くよろし
間違っても条件文で読みにくい三項演算子なんて使うなよ
587:nobodyさん
08/01/01 15:31:35
行数で判断できるもんじゃないよ
588: 【豚】 【542円】
08/01/01 15:33:09
2chの書き込みは行数で判断できるから3行以上の長文はスルーだな
589:nobodyさん
08/01/01 15:35:00
>>588にスパムフィルタとか作らせたら凄いことになりそw
590:nobodyさん
08/01/01 15:35:06
気になるならプロファイラ使って調べれば良いんじゃね。
あとで使い勝手とか教えてくれたら嬉しい。
591:584
08/01/01 15:56:16
>>585-590
レス、thx.
ちょっと安心したわ。
プロファイラってのも使ってみようと思う。
ありがとう。
592:nobodyさん
08/01/01 16:14:59
>>588
豚ってwwwwwwww
593:nobodyさん
08/01/01 17:29:15 F2c2JMdr
setcookieのドメインの所に、
クッキーを与えるドメインとは別のドメインを書いても
別のドメインでそのクッキーを使えるようにはならないのでしょうか?
やってみたけど上手くいかないので、やり方が悪いのか根本的に出来ないのかを知りたいです。
594:nobodyさん
08/01/01 17:31:31
$sql = "SELECT id,pass FROM login WHERE id = '".$id."' AND pass = '".$password."'";
$result = mysql_query($sql, $link) or die("クエリの送信に失敗しました。<br />SQL:".$sql);
この記述でクエリの送信に失敗しました と出るのですが
記述が間違っているんでしょうか?
595:nobodyさん
08/01/01 17:43:33
>>593
多分だけど、それが可能だとしたら他のドメインのcookieを書き換える事が可能ということに
なるので、ブラウザ側が許可しない気がする。
596:nobodyさん
08/01/01 17:49:21
>>594
mysql は使ってないから、詳しくは知らないけど、これで調べれば少しは判るかも。
URLリンク(jp.php.net)
597:nobodyさん
08/01/01 18:02:26
>>596
その関数を使ってみたところ
単純にデータベース接続が完了してなかったみたいでしたorz
くだらない質問にありがとうございました。
598:nobodyさん
08/01/01 19:52:12 gtyeLFx+
少人数利用のBBSで
setcookie("pass", $pass,time()+60*60*24*30);
$pass = $_COOKIE["pass"];
if($pass == abc){BBSを表示}
を使って、簡単なログイン制限を掛けてるのですが、
この処理のあるbbs.phpを直接表示した場合、IE7.0でもFireFoxでも全く問題なく処理されるのですが、
bbs.phpをIE7.0でインラインフレームを使い入れ子にした場合、
フォームの処理を行うとクッキーがクリアされて、またpassの入力画面に戻ってしまいます。
FireFoxでは問題ないようなのですが、インラインフレームの利用で何か特別な問題が起こることはあるのでしょうか?
599:nobodyさん
08/01/01 21:46:01
IEとFirefoxではcookieが共有されるセッション管理の単位が違うせいかな。
同じPCから複数のユーザとしてログインする必要がないなら、 setcookieで path とか domain も指定すれば
cookieが共有される気がする。
600:nobodyさん
08/01/01 22:55:23
javaでいう static intializer はPHPではどう書きますか。
class Foo {
static Map table = new HashMap();
static { // static initializer
table.put("<", "lt");
table.put(">", "gt");
table.put("&", "amp");
table.put("¥"", "quot");
}
}
601: 【大吉】 【314円】
08/01/01 23:02:33
>>1
602:598
08/01/01 23:04:36 gtyeLFx+
>>599
ここでも仕様が違うんですね。
他の方法を試してみます、どもでした。
603:nobodyさん
08/01/01 23:30:56
Parse errorでunexpected T_PAAMAYIM_NEKUDOTAYIMとか出てきた
ハァ?何これフザケテンノ?
URLリンク(php.liukang.com)
ぐぐってみたら同じこと思った人がいたようで
URLリンク(p0t.jp)
604:nobodyさん
08/01/01 23:43:58
ユダヤの陰毛でつね
605:nobodyさん
08/01/02 03:58:58 xlZOpAZW
画像レスできる板とできない板のある掲示板の画像レスできない板で
投稿フォーム改造して画像レスを送ってみたら
アップロードされちゃったんですが見ることができません。
これをHTMLやヘッダに手を加えて画像レスが見れる状態のHTMLを送って
もらうことはできますでしょうか?
PHPを使ってる掲示板なのでここで質問してみました
よろしくお願いします
606:nobodyさん
08/01/02 04:25:51 zb153+EZ
12345678790
みたいな可変する文字列のn番目に文字列"\n"を挿入する場合、
substrで切り出してシコシコ成形する以外にスマートな方法ありませんか?
607:nobodyさん
08/01/02 04:44:42
まず読め→【PHP マニュアル】URLリンク(www.php.net)
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
スレリンク(php板)
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
608:nobodyさん
08/01/02 06:24:31 XSzMXv90
sqlへのselectの結果(オブジェクト化したもの、$obj)に対して、
$obj->NAMAE で名前カラムのデータが求められるとします(カラム名は必ず大文字)
で、上記の呼び出しを関数化したとき
function yobidashi($name){
$name=strtoupper($name);
return $obj->name;
}
としても上手くいきません
$obj->の後に続くのはカラム名でなければいけないからなんですが、
どういう書き方にしたらいいのかわかりません
どなたかアドバイスお願いします
609:nobodyさん
08/01/02 06:46:53
>>608
$obj->$name
610:nobodyさん
08/01/02 07:34:16
4:44 のテンプレ貼り ktkr
611:nobodyさん
08/01/02 07:51:34
手動スクリプト乙w
612:nobodyさん
08/01/02 08:26:14
>>608
いまいち状況がワカラン中でレスをするが・・・・
return $obj->$name;
これでどう?
関数呼び出す時は呼び出し方の例も記載すると
レスし易いと思う
613:nobodyさん
08/01/02 08:56:01
>>608
return $obj->__get($name);
ではどうですか?
614:nobodyさん
08/01/02 08:59:39
>>608
そのオブジェクトを返してる部分にメソッドを追加する
615:nobodyさん
08/01/02 09:49:13
>>608
global $obj;
616:nobodyさん
08/01/02 10:06:19
>>608
evalを使うしか思いつかない。
URLリンク(jp.php.net)
return eval('return $obj->'.$name.';');
ってかんじかな。
617:nobodyさん
08/01/02 10:12:07
ありがとうございます
単純に$obj->$nameでOKでした すみません、クダ質で…
evalとかglobalとか調べてついでに覚えます
ほんとにありがとう
618:616
08/01/02 10:17:01
>>617
そんな書式があったのか...。
逆に勉強になった。ありがと。
619:nobodyさん
08/01/02 12:44:05
Active Perlをインストールしないと 「.pl」は動かないの?