08/04/22 11:49:33
アトミックで鉄腕アトム的ってこと?
416:nobodyさん
08/04/22 11:50:02
>>415
ちょーーー受けるwwwww
417:nobodyさん
08/04/22 11:50:32
>>415
その発想はなかったわwwww
418:nobodyさん
08/04/22 12:41:18
このスレもこの程度か
相手になりませんでした
419:nobodyさん
08/04/22 13:17:40
クォリティ高須クリニック
420:nobodyさん
08/04/22 14:11:59
>>415-419
無職ニート池沼うざい
421:nobodyさん
08/04/22 15:32:48
mkboardの穴なつかしすぐるw
wwwlangとかあゆ板とかなゆ板にもあるんだよな
422:nobodyさん
08/04/22 18:20:03
mkタクシュリティ
423:nobodyさん
08/04/22 21:57:48
固定の拡張子を付けてテンポラリファイルを作りたいんですけど
何かいい手法はありますか?
tempnamでprefixじゃなくてsuffixの指定ができれば悩む必要なかったのだが
424:nobodyさん
08/04/22 22:30:17
>固定の拡張子を付けてテンポラリファイルを作りたい
何故に?
425:nobodyさん
08/04/22 22:31:44 FtmTZwRr
一意の名前ということなら
time() . '.tmp' じゃだめ?
426:nobodyさん
08/04/22 22:39:33
一時的なファイルではあるんですけど、セッションの途中でブラウザに渡す必要があったもので
コミットしちゃえば正式なファイル名を振るんでユニークなIDも付けるんですが
time() . ".tmp"だと1秒以内に同時に作成されたときに一意性が保証されないですよね
microtime()を使ってファイルを作ってみてダメならリトライを数回やるってのは
よほどのアクセスが無ければ大丈夫な気はしますが泥くさいかなあ
427:nobodyさん
08/04/22 22:42:11
uniqidは?
428:nobodyさん
08/04/22 22:44:15
あ、microtimeを使うならuniqidでも一緒でしたね
429:nobodyさん
08/04/22 22:47:02
uniqidでやってみます
ありがとうございました
430:nobodyさん
08/04/23 02:18:22 Wcjf8rbS
すみません、下記の2点がわからなくて困っています。
すみませんが対処法をお分かりになられる方がおられましたら教授よろしくお願いいたします。
1.PHPでフォルダ(中にフォルダ・ファイルが入っています)を削除(unlinkやrmdir)しようとrmdirコマンドを実行しましたが、「中にファイルなどが入っているので消せません」とエラーになりました。再帰的にファイルを削除するしか方法はないのでしょうか?
参考になる再帰的にファイル・フォルダを削除するロジックを
ご存じでしたらご教授よろしくお願いいたします。
2.同様に、フォルダ(中にフォルダ・ファイルが入っています)をコピーしようとcopyコマンドを実行したら「権限がありません」とエラーが表示されました。
当方の環境はlinux環境ではなくwindows環境ですので権限とか関係ないように考えていたのですが、
windows環境でもディレクトリに権限の設定が必要なのでしょうか?
(また、chmod関数で0777権限を設定しましたがコピーできませんでした・・・)
431:nobodyさん
08/04/23 02:23:13
>>430
1.いい経験になるから自分で考えられるところまで作ってみるべし
432:nobodyさん
08/04/23 03:07:35
>>430
そのあたりのファイル関数は単体に使うものなので再帰的に処理するのが普通
環境依存してもいいとかならsystem()で"rm -rf foo"等のCLIコマンドを叩く方法もあるけどオススメしない
opendir()とか使ってロジックを組んでみるといいよ
433:nobodyさん
08/04/23 05:14:59
>>430
既出だが、異常系の処理をしっかりと対応するなら、JP1とかがお勧め。
そういうのを最初から実装するのは手間とお金が掛かるし、
なんでもphpという一つの技術だけで解決しない方がいい。
434:nobodyさん
08/04/23 05:26:30
あらやだ。JP1君がいらしたわ。
435:nobodyさん
08/04/23 05:51:15
JP1に敵意むき出しの富士通社員がいるね。
436:nobodyさん
08/04/23 06:25:52
jp1にこだわりをみせるフリをした新米se君がいるスレですね
437:nobodyさん
08/04/23 08:33:19
日本一()笑言語w
438:nobodyさん
08/04/23 09:06:47
phpも極めてる人のソースはすごいけどね
439:nobodyさん
08/04/23 10:30:51
__ ____
//  ̄ \\
//--.-- -─\\
// (● ●) ((●(●) \ 地震とかどこの田舎だよ
.| |.| ( . ((_人_人__) | _ _== =
\\ ⌒ ` /,/ | |  ̄ ̄ ̄  ̄| ||
ノ \\| | | | ||
/´ | | | |
| l | | |||
ヽ -一ー_~、⌒)^),-、 | |_________| |
ヽ ____,ノγ⌒ヽ)ニニ- ̄ | | | = =
440:nobodyさん
08/04/23 19:54:20
>>439の画像、より目にして、
黒の目玉を二つにすると、
なんと画像が立体に見えません。
441:nobodyさん
08/04/23 23:30:52
php5を使っていると、不定期に「Out of memory (Needed 2095360 bytes)」
のエラーが発生していて困っています。
具体的には、MYSQLに接続してmysql_queryを発行した後に結果セットが返却されません。
このエラーが発生した直後の接続は、半分程度の確率で以下のエラーが発生してDBへの接続エラーが発生します。
:mysql_connect() [<a href='function.mysql-connect'>function.mysql-connect</a>]: Lost connection to MySQL server at 'reading initial communication packet', system error: 0
対処方法がありましたら、教えて下さい。
宜しくお願いします。
442:nobodyさん
08/04/23 23:31:14 k1ODucws
441です。sageてました。
443:nobodyさん
08/04/23 23:31:28
メモリ食いすぎの部分を直す
444:nobodyさん
08/04/24 00:22:52
ファイルが存在する場合のみ処理を実行するため、
$fp = fopen("./$abc.txt", "r");
if($fp != null)
処理~
というように組んでいるのですが、
この時、ファイルが存在しておらず、$fpの値がnullだった場合でもfcloseで閉じる必要はあるのでしょうか?
445:nobodyさん
08/04/24 00:58:17
>>444
fopenでファイルの存在確認するのはお行儀が悪いですね
446:nobodyさん
08/04/24 00:59:05 LaHdtlHM
>>439の画像、目玉をトリプルクリックするとなんと目からビームを発射しません。
447:nobodyさん
08/04/24 00:59:25
>>444
しかもfopenで失敗したのだからファイルは開けてないのに何故閉じる必要があるのだ
あけてないものを閉じる意味が理解不能
448:nobodyさん
08/04/24 01:01:45
> fopenでファイルの存在確認するのはお行儀が悪いですね
それは素人の意見ですね。
どうせfopenの前にfile_existsとかで調べろといっているのでしょうが、
file_existsとfopenの間にファイルが消されたらどうするんですか?
マルチタスクOSなのだからありえる話です。
449:nobodyさん
08/04/24 01:01:47
とりあえず・・・そんなあなたにfile_exist()
450:nobodyさん
08/04/24 01:03:10
書く前に否定された。
451:nobodyさん
08/04/24 01:04:50
file_exists(笑)
452:nobodyさん
08/04/24 01:08:05
なんで最後に「マルチタスクOSだから!OSがマルチタスクなんだから!」という
ネタを持って来るんだ。
453:nobodyさん
08/04/24 01:09:47
どうでもいいところに突っ込むな
454:nobodyさん
08/04/24 01:26:58
>>>444=448
455:nobodyさん
08/04/24 01:28:00
つーことは、お前、質問者に
ダメ出しされてるのかよw
456:444
08/04/24 01:32:57
>>445-
ありがとうございました。fcloseは必要ないようですね。
fopenで処理を分けるのもよく無さそうなので再考してみます。
457:nobodyさん
08/04/24 02:08:48
ファイルの存在確認後に削除されてたなら、それが正しい「Worning」たる理由なんじゃね?
458:457
08/04/24 02:09:11
Warning.
459:nobodyさん
08/04/24 02:13:26
何を言いたいのかさっぱりわからんw
460:nobodyさん
08/04/24 02:40:13 LhY+BYrB
PHPでCのように 7 / 2 で整数の 3 が欲しい時は
floor(7/2) とするのが一般的ですか?
461:nobodyさん
08/04/24 03:19:38
>>460
C99 と合わせたかったら 0 に近付くように丸める。
intval(7/2) か整数型へのキャスト (int)(7/2) で。
462:nobodyさん
08/04/24 04:00:47
file_exists、fopen、 両方で判別するのが大人。
どっちの方法とか言ってる時点でウンコ。
463:nobodyさん
08/04/24 04:19:28
セーフモードも考慮するとfile_existsなんて使わないで別の関数があるだろ
464:nobodyさん
08/04/24 04:21:02
>>462
それで満足気に話しているお前が痛々しいだけ。
file_existsで存在を確認した後に、fopenの処理をするまでの間に
ファイルが存在しなくなる可能性はある。
1日10万PV位のサイトを運営していると、そんなケースなんて日常茶飯事。
まぁ、素人に言ってもしょうがないがwww
465:nobodyさん
08/04/24 04:24:12
煽りたいだけの奴はよそいってくれ
466:nobodyさん
08/04/24 04:36:22
素人ども向けに「俺様がてめえらに教えてやる排他制御」でも書いてくれたほうが
煽りよりずっといいよ。
467:nobodyさん
08/04/24 04:41:32
>>462
JP1は黙れ。
468:nobodyさん
08/04/24 05:26:59
レスが増えてると思ったら煽るだけで提案しないバカがまた沸いたのか
469:460
08/04/24 06:31:20 1f8tGK11
>>461
ありがとうございます
470:nobodyさん
08/04/24 10:09:19
俺はPerl出身なんだけど、普通、ファイルオープンするだけでも
やっぱそこまでファイルの存在の確実性を意識しないとダメ?
if(($IN = @fopen($file,'r+')) < 0)
これじゃダメ?
あと、書き込みの時は、物理的ロック(自作ロック)して、
ファイルオープンしてflockってしてるんだけど、これでもやっぱ不十分?
物理的ロックってのはロック用ファイル作成する方法です。
471:nobodyさん
08/04/24 10:32:12
おれはデータベース使ってロックする方法を取り入れてる
472:nobodyさん
08/04/24 11:29:16
データベースのロック機構使いながらファイル使うって、
レインコートを着ながら、傘を差すようなものだな。
頭にウジでも湧いているじゃないだろうか?
473:nobodyさん
08/04/24 11:33:25
頭に蛆は湧いていないけど、風呂場に蛆が湧いているよw
474:470
08/04/24 11:47:44
いや、俺も最近はデータベースばっかだけど、
でもファイル使わないといけない時もあるしな。RSSとか。
475:nobodyさん
08/04/24 11:56:29
>>472
君はいろんなものを作って知識を貯めたほうがいいよ
自分の無知を晒すことになるから
476:nobodyさん
08/04/24 12:09:45
無知をさらしているのはお前だよw
データベースも実体はファイル。
ファイルを操作するI/Fが違うだけ。
使うばかりじゃなくて、仕組みを理解しないと、応用が効かないよ。
477:470
08/04/24 12:27:26
で
> if(($IN = @fopen($file,'r+')) < 0)
これじゃまだダメだと思う?
478:nobodyさん
08/04/24 12:34:58
>>477
う~ん、なんかごまかしって感じ
479:nobodyさん
08/04/24 13:09:05 RVXwLuUy
Wikipediaみたいな
URLリンク(example.com)
みたいなURLってPHPでどうやるの?
index.php?←消せるの?
480:nobodyさん
08/04/24 13:11:46
>>479
$_server['path_info']
481:479
08/04/24 13:17:47 RVXwLuUy
>>480
PATH_INFOって↓みたくなるんじゃないの?
URLリンク(example.com)
482:nobodyさん
08/04/24 13:20:33
それかrewrite
483:nobodyさん
08/04/24 13:30:51
こういう口の利き方の質問者は教えても感謝をしないから教えなくて良いよ
484:nobodyさん
08/04/24 14:23:25
>>470
> やっぱそこまでファイルの存在の確実性を意識しないとダメ?
それは要求次第。
単純に読み取りしたい時は調べても無駄だからやらない。
状態が分かってもそれは fopen() を呼んだ時点の状態ではないから。
>>444 が言う「ファイルが存在する場合のみ処理」の場合は
存在が分かればいいのだから file_exists() がより妥当っていうお話でしょう。
質問にまともに答えず別の話にもってく奴が悪いんだけどな。
あと fopen() の返り値はリソース型もしくは論理型の false なので
比較は fopen() !== false または is_resource(fopen()) で。
> ロック用ファイル作成する方法
システムコールのロックが使えない、欠陥がある場合や
mandatory lock したい時は使わる一つの手だね。
485:nobodyさん
08/04/24 14:37:34 WKXs89Ye
質問させてください
ヘッダとフッタだけ出力する.PHPに 中身のコンテンツを表示させる.PHPを
includeさせているとします。
このとき、中身のPHPにheader関数でリダイレクトさせる機能はつけられないんでしょうか?
この機能はそれより前に何も出力してないことが条件とありますが、
(親の.phpが)ヘッダを出力してるから無理?
テストしたところ動かないです。 これは上記の理由によるものですか?
486:nobodyさん
08/04/24 14:44:04
こういう図か
test.phpの中身
フッタ
コンテンツ(ここは外部ファイルをインクルードして表示)
ヘッダ
んでtest.phpではじめの出力でheaderを送信させてリダイレクトさせたいということか?
487:nobodyさん
08/04/24 14:44:23
質問の仕方としては15点
488:485
08/04/24 14:57:52 WKXs89Ye
<html>
<header></header>
<body>
<?php
include "nakami.php";//中身を読み込み。この中でリダイレクトさせてる(header()で)
?>
</body>
</html>
って感じです(外側の.php)
こういうやり方だと、リダイレクトしないんです。
489:485
08/04/24 15:02:12 WKXs89Ye
>>486
どうもです
リダイレクトの関数を設置してるのは、読み込まれている側(コンテンツ部分)の
.phpです
490:nobodyさん
08/04/24 15:05:25
>>485 yes
491:nobodyさん
08/04/24 15:07:19
>>488
nakami.phpを読み込んでheader関数使う前にタグが出力されてんじゃん
492:nobodyさん
08/04/24 15:09:14
>>488
で、なんでリダイレクトする必要があるわけ?
アフィ厨で不正やろうってわけじゃないよな
出力させたいページをそのコンテンツ部分に読み込ませればいいじゃん
493:485
08/04/24 15:14:28 WKXs89Ye
すみません、沢山の人に答えてもらって感謝してます
結局ムリってことですよね、親のphpに出力されてるから…
この場合はjavascriptを中身の.phpに入れるしかないですよね?
>>492
フォームで、アンケート.php に「トップ.php」「確認.php」「完了.php」を
読み込ませてるんです。(ブラウザに表示されるURLは常にアンケート.php)
完了まで行ったら二重送信防止にリダイレクトさせたくて。。 って事情でした
494:nobodyさん
08/04/24 15:17:33
ファイルを分けたいのなら
アンケート.phpにいろんなファイルを読み込ませて一つのファイルで処理してるように見せかけたいの?
なんかあなたがやってるのは無駄な処理だな
495:485
08/04/24 15:21:36
>>494
どんなやり方がオススメですか? 良かったら聞かせてください
496:nobodyさん
08/04/24 15:24:59
id隠れてるのは偽者?
497:nobodyさん
08/04/24 15:26:08
>>485
ここまでの回答の流れをぶったぎってレス
ob_start 使えば実現できる
498:nobodyさん
08/04/24 15:34:24
Smarty使えば一発で解決する
499:485
08/04/24 15:36:55 WKXs89Ye
>>496
僕のことですか? >>495も僕ですよ
本題とずれてきたのでsageたほうがいいかなと思いました
enq_top.php > enq_conf.php > enq_rewrite.php > enq_finish.php と、
トップから完了まで全パターンの.phpを(使いまわせるはずのヘッダやフッタ含めて)
作るのがめんどくさいのでincludeさせたんですが、、 他にどんな良い方法があったんだろうと
気になってます。 smarty使えば、ヘッダやフッタをテンプレートとして効率よく管理できるとは思いますが…
>>497
ありがとうございます 調べてみます
なんだか特殊な機能みたいで難しそうですが、、 ありがとう
500:485
08/04/24 15:39:29 WKXs89Ye
>>498
あ、やっぱりsmartyですか…
一度勉強し始めて、基礎も出来てないのによしておこうと思ってやめました
またやってみようかなぁ。。 プロはみんな使ってるんでしょうか?>smarty
501:nobodyさん
08/04/24 17:02:09
ob_*なんてデフォで使えるようになってるだろ
502:nobodyさん
08/04/24 17:57:45
$url="hoge"; を<a href=hoge>hoge</a>にする楽なやりかたないでしょうか?
503:nobodyさん
08/04/24 18:22:27
echo "<a href=\"$url\">$url</a>";が面倒ですと?
504:nobodyさん
08/04/24 18:40:44
こういうときは間違った方向に走るもんじゃないのか。
$str = '$url="hoge"; がいっぱい出てくる $url="hoge"; だらけの文字列';
echo str_replace('$url="hoge";', '<a href=hoge>hoge</a>', $str);
505:nobodyさん
08/04/24 18:45:03
俺は printf( "<a href=\"%s\">%s</a>", $url, $url ); の人
506:nobodyさん
08/04/24 18:59:23
メソッドっていうのか
echo linkfy($url);
こうできませんかね。。。
507:nobodyさん
08/04/24 19:01:45
jibunndekannsuuwotukurebaiijannka
508:nobodyさん
08/04/24 19:01:56
メソッドは知ってるけど関数は知らないのか?
509:nobodyさん
08/04/24 19:09:35
ということはVBの人か。
510:nobodyさん
08/04/24 19:15:05
>>506
URLリンク(www.php.net)
ここ読んで function linkfy($arg) 作ればいいよ。
sprintf( "<a href=\"%s\">%s</a>", $arg, $arg) を return するだけの関数。
511:nobodyさん
08/04/24 19:16:46
なんだこの流れ・・・
512:nobodyさん
08/04/24 19:22:07
素質ある技術者の技術的な考察とかJP1よりは、のどかでいいよ。
513:nobodyさん
08/04/24 19:26:21
>>510
キモイ書き方薦めるのやめれ
514:nobodyさん
08/04/24 20:18:10 1f8tGK11
このマニュアルってオフラインで使えるダウンロード版はありますか?
URLリンク(www.php.net)
515:nobodyさん
08/04/24 20:39:33
ここから好きなの落として使って
URLリンク(www.php.net)
516:nobodyさん
08/04/24 21:15:56 mjxa+9jc
本当にくだらない質問で申し訳ございません。
リンク先のa.phpに文法エラーが存在する場合、IE6:500エラー Firefox:syntax error が
表示されます。
上記の場合、IEでsyntax errorを出現させる設定等あるのでしょうか?
どなたかご教示くださいませ。
517:nobodyさん
08/04/24 21:25:59
IE側の設定だった気がす
518:nobodyさん
08/04/24 21:30:32
メニューの
[ツール] - [オプション]
[詳細設定]タブ
ブラウズ カテゴリの
HTTP エラー メッセージを簡易表示する
のチェックを外す
これIE6ね。IE7はワカンネ
519:516
08/04/24 21:35:25 mjxa+9jc
>>517-518
IE6です。>>518の設定方法を試してみたところ syntax error が表示されました。
本当にありがとうございました。
520:nobodyさん
08/04/24 21:44:51
どういたしまして。
521:nobodyさん
08/04/24 21:46:13
>>518
IE7でも同じ設定項目があるyo
522:nobodyさん
08/04/24 22:50:12
>>518
JP1でも同じ設定項目があるyo
523:nobodyさん
08/04/25 07:00:29
JP1って流行っているの?
何なの、このJP1、JP1ってレス?
524:nobodyさん
08/04/25 08:22:49
JP1を売り込む営業さんが数字伸ばすためにここで宣伝してるんだろ
営業へただからここで宣伝してるんだろ
525:nobodyさん
08/04/25 15:18:13 ETeE5V7l
PHPからcronにジョブを足したり消したりできませんか?
526:nobodyさん
08/04/25 15:19:24
>>525
それができたらどうなるかわかりますか
527:nobodyさん
08/04/25 15:31:54
>526が何を懸念してるのか知らないが、system使えば出来るんじゃ?
やったことねーけど
528:nobodyさん
08/04/25 15:40:10
>>526
PHPでスケジューラーが作れます
529:nobodyさん
08/04/25 20:54:21
phpでもperlでも、良いんですが、
フリーの掲示板のcgiを探しています。
条件は
1.英語の掲示板であること。
2.投稿時にCAPTCHA認証すること。
です。
知ってましたら、教えてください。
530:nobodyさん
08/04/25 20:55:42
>>529
kentにcaptchaがついてた
日本語は自分で英語にすりゃできる
531:nobodyさん
08/04/25 21:06:33
大文字JPはゆうメイトを思い出すからやめれくれ
532:nobodyさん
08/04/26 00:43:34
とりあえずPHPエディタというエディタのスタンドアローン版でも使ってみたら?
533:nobodyさん
08/04/26 00:45:30
>>532
phpspotさん乙
534:nobodyさん
08/04/26 00:50:37
あれは使えん
535:nobodyさん
08/04/26 01:10:46
Emacs使ってるけど、ヒアドキュメントがちと書きにくい。
536:nobodyさん
08/04/26 01:52:48
FlashDevelopは意外と快適。
537:nobodyさん
08/04/26 06:10:19
JP1、JP1ってもういいよ。
確かに、一流のソフトであることは間違いないし、
色々な公共機関、金融システムで使われているし、
そんなことは周知の事実だと思うよ。
538:nobodyさん
08/04/26 10:59:49
>>537
ってか、そういうレスしているのが逆に宣伝になっていると思うんだが・・・
539:nobodyさん
08/04/26 11:18:17
>>538
537はJP1JP1ってうるさい奴だろ
批判するような感じで宣伝してるんだ
540:nobodyさん
08/04/26 12:50:06
PHPからうまくメールが送れません。
というか、maillogをみると、Fromが変わらないので、localhost.localhostからメールが飛んでしまい
受信先に拒否されてる感じです。
もともと、ZendFramwork使っていたのですが、問題を特定するために
mail("hoge@hoge.jp",'test','body','From: info@hoge.net' . "\r\n");
という最小限のコードで試しました。
php.iniのsendmail_from=なんかもいじってみましたが、Fromがlocalhost.localhostになってしまいます。
他になんか送らなきゃいけないheaderとかあるのでしょうか?
541:nobodyさん
08/04/26 12:59:44
営業成績上げないと夏ボが危ういんじゃね?w
542:nobodyさん
08/04/26 13:20:52 ZONOtLDh
URLリンク(jp.youtube.com)
543:nobodyさん
08/04/26 13:21:44
>>542
グロ注意
544:nobodyさん
08/04/26 13:42:04
>>540
そういうのは環境依存の可能性が高いんだから、環境を書くべき。
あと、騙られる前にあげとけ。
545:nobodyさん
08/04/26 14:13:17
>>544
お前に、そんな偉そうにレスされる覚えはない。
546:nobodyさん
08/04/26 14:28:18
>>545
質問者なのに、随分と偉そうですね。
そういう人には、誰も答えないと思いますよ。
547:nobodyさん
08/04/26 16:46:11 eenghTEY
簡易的なウェブメールプログラムを作っています。
mb_send_mail でメールを送信する際に
あて先を
山田 <hoge@example.jp>
など使いたいのですが、
日本語や任意の文字列をアバウトに許可すると
セキュリティ的に怖いと感じます。
mb_send_mail のあて先部分は
この文字列を制限・エスケープかけておけばOKという
基準はあるでしょうか?
またお勧めの方法がありましたらお願いします。
548:nobodyさん
08/04/26 17:32:23
>>547
入力文字のエスケープに関してのみならば
"メールヘッダーインジェクション"で検索すると
詳しいページが出てくる。
でも、その対策だけでは不充分。
掲示板で、htmlspecialcharsだけ使っても、大量の投稿であっという間に
荒らされるのと同じ。
一定時間内の多重投稿を防いだり、送信者のIPをメールの本文に記録したり
宛先がユーザーから入力可能な場合は、かなり対策が面倒。
ここでメールヘッダーに関して質問しているレベルで
メールの宛先をユーザーが入力可能なウェブメールなんてやると、
確実にメールサーバーがブラックリストに載る。
549:nobodyさん
08/04/26 17:32:47
ググレば不具合があるmb_send_mailを何故貴様は使ってるのだ
550:nobodyさん
08/04/26 18:08:34 TgkCKAum
サーバー部門からロードアベレージの原因はディスクI/Oが原因みたいだけど
プログラム側で何とか軽減できないかって、相談をうけているんだすけど
出来るだけディスクへの負荷を減らす為のプログラムの設計だったり
そんな素敵なノウハウをまとめているサイトてありませんかね
551:nobodyさん
08/04/26 18:18:03
ググレカス
552:nobodyさん
08/04/26 18:20:09
ククレカレー
553:nobodyさん
08/04/26 18:21:45
クレクレカレー
554:nobodyさん
08/04/26 18:21:54 iM9ZNRfW
コンパイル済みプログラム atract (バイナリ)をPHPから呼んで
動かしたいと思い、シェルスクリプトatr.sh
#!/bin/bash
/dir/atract
を用意して、index.php中で
<?php
system("./attract", $ret);
?>
として動かそうとしましたが、$ret=127が返ってくるのみで、
attract自体は動きませんでした。
もちろん、シェルで./atr.shと打つと atract が動きます。
どうしてphpから呼んだときだけ動かないのでしょうか?
環境はRed Hat Enterprise Linux v5、Apache2.2.3、php4.3.9(cgi)です。
555:nobodyさん
08/04/26 18:37:22
場所は?
556:nobodyさん
08/04/26 18:39:38 iM9ZNRfW
場所は/public_html/atract/にindex.phpとatr.shがあります。
557:nobodyさん
08/04/26 18:49:40 uk8GT5CY
質問です。
PHPのオブジェクト指向を勉強できる書籍で、オススメなのありますか?
ご教示ください。
558:nobodyさん
08/04/26 19:01:26
"シェル本体 シェルファイル"
559:nobodyさん
08/04/26 19:09:33 iM9ZNRfW
>>558
system("/bin/bash /dir/atr.sh", $ret);
ともしてみましたが、動きませんでした。
560:nobodyさん
08/04/26 19:20:35
>>557
PHPマニュアル
561:nobodyさん
08/04/26 19:30:51 uk8GT5CY
>>560
ありがとうございます。
もう少し丁寧に解説しているものが欲しいです・・・
562:nobodyさん
08/04/26 19:47:35
>>561
ここ
563:nobodyさん
08/04/26 20:19:06 uk8GT5CY
常駐します。今日からよろしくお願いします。
564:nobodyさん
08/04/26 20:43:25
PHPのオブジェクト指向とか基本がズレてる
オブジェクト指向を学んでPHPに取り入れろ
565:nobodyさん
08/04/26 20:48:59
>>564
オブジェクト指向を覚えることが偉いとでも(笑)
566:nobodyさん
08/04/26 21:01:40
Java禁止
567:547
08/04/26 22:58:04
>>548
サンクスコ
>>549
ソースきぼんぬ
不具合って脆弱性でしょうか、
ちなみに現最新バージョンのPHPでも直ってないのでしょうか?
568:nobodyさん
08/04/26 23:33:03
>>567
興味があるんなら自分で調べろよ
有名なんだからググればすぐみつかるし、プログラム書く人間なら知らないのが疑問
569:nobodyさん
08/04/26 23:54:09 EXulrG+H
php3ってクラス使える?
570:nobodyさん
08/04/27 00:05:10
>>569
つマヌアル
571:nobodyさん
08/04/27 00:19:21 TNTz3zy3
Zend Frameworkをちょっと勉強しているんだけど、
フレームワークって簡単なものは作れるけど、
結局、サイトによって独自関数やクラスを多用しなきゃいけないから
わざわざフレームワークにする意味無いよね?
単に、「他者と作業する上で便利」なだけであって、
開発者が自分だけの場合は、気にしなくて良いのかな?
572:nobodyさん
08/04/27 00:24:25
>>571
フレームワークにたよるのって気持ち悪くてやりたくない
自分だけのネイティブなコードだけ残したいから
573:nobodyさん
08/04/27 00:35:45
>>571
一人で構築してるけど使ったほうが楽で助かる。抽象的に考えられるのがいい。
合わないと感じたなら無理に使わなくてもいいんじゃない?仕事ならともかく趣味の範疇なんだし。
574:nobodyさん
08/04/27 01:34:12
一度Ethna使ってみたことがあるけど、
自作クラスの関数内から(Ethnaから呼ばれることを前提とした)既存クラスにアクセスするところで嫌気がさしてやめた。
その手の問題を起こさない(もしくは処理できる)スキルがあれば一人FWもいいかも。
575:nobodyさん
08/04/27 01:48:03
中堅規模のサイトをいくつか製作したら
自然とFWが出来上がった漏れは天才。
576:nobodyさん
08/04/27 04:28:19
JavaよりPHPやJavaScriptのオブジェクト指向の方が優れている件について。
PHPのバージョンが古い鯖に移植とかする際、関数毎にバージョン確認が面倒です。
ソース内の関数をリストアップして、バージョン○○以降で動きます、
みたいなチェック関数とかありませんか。
自分で作ればいいんだろうけど関数が数千もあるとさすがに面倒。
PHPマニュアルから自動取得するような技術力はありません。
577:nobodyさん
08/04/27 04:43:21
自分で作れ
578:nobodyさん
08/04/27 04:54:38
PHP4 以降で、関数の存在チェックだけでいいのなら、 token_get_all と function_exists で比較的簡単に作れんじゃないの。
まぁ関数名は、変数名と同じくシンボルとしてしかパースされなかったと思うから、判定が若干面倒ではあるけど。
579:540
08/04/27 05:00:08 pXevviUZ
>>544
遅レスですがサンクス
2chブラウザ使ってるんですけど、一回下げるとそれ覚えてるみたいで思いがけず下げちゃうことがあるんですよね。
すいません。
ちなみに>>545は別人です。
別サーバーで問題なく遅れてたんですけど、新しいサーバーかりてそこに入れてみたら
まったくFromを変えられなくなったんですよ。
ちなみにCentOS5+qmail+PHP5.1.6です。
サーバーの設定の問題かと思ってサーバー借りてるところのサポートに連絡取ってみたら
「PHPの問題だ、こんなことで連絡してくんな。ググれカス!」
って怒られて、いろいろ調べてみたんですけど、にっちもさっちも行かなくて。
やっぱりPHPの問題なのですか?
580:nobodyさん
08/04/27 05:08:05
PHPの問題だ、こんなことで連絡してくんな。ググれカス!
581:nobodyさん
08/04/27 05:27:03
sendmail_path か QMAILの設定の問題なのかなぁ。
とりあえずQMAILのエラーログも見てみたら?
582:nobodyさん
08/04/27 12:00:48
>>557
>>565
583:nobodyさん
08/04/27 13:01:00 EBk2n3bR
PHP開発5年ほどやってるが、あんまり他と交流ないのでチョット疑問なのですが、
$_SESSIONって、どれくらいの値を入れてます?
$_SESSION['user_id'] だけ入れて、各処理毎にDB接続は鯖コスト高いだろうし、
俺はログイン処理後DBからパスワード以外(user_id, user_name, user_mail)は入れてます。
変数でいうと10個分くらいまで とか勝手な基準でやってたんですが、
$_SESSION['html'] とかで、膨大なデータ(文字列、配列)を入れたりしてる人もいますか?
584:nobodyさん
08/04/27 13:02:55
はい?何のために入れんの?
585:nobodyさん
08/04/27 13:09:17
セッションセーブパスにDBから受け取ったユーザー情報を
一度全部書き出して、処理後はガーベッジコレクションを待ったり、
あるいは自分で消したりする処理を書き加えたりしたいですか。
586:547
08/04/27 13:18:03
>>568
ぐぐっても現状で改善されていないmb_send_mailの
問題なんて見つからないから聞いてるんだけど。
まさか昔の脆弱性やバグの話持ってきて、
不具合が、、、とか言ってるんじゃないよね?
587:583
08/04/27 13:22:27 EBk2n3bR
あっー言葉足らずで非常に申し訳ないです。
$_SESSION['html']は喩えでして、
MySQLでユーザ情報テーブルがあり、そこに繋がるTEXT長のフィールドがあった場合でも、
通常DB接続は鯖コスト的に高いし、ソースコード的にも$_SESSION参照よりは冗長になるし
セッションに格納したほうが見通しは良いのかなと思いました。
※今は$_SESSION['message_id']と数値で保存して、表示の際にDB接続という処理を作る場合が多いです
セッションファイル読み込む際に鯖メモリ使うわけだし、ケースバイケースですよね。
すんませんでした。
588:nobodyさん
08/04/27 14:11:52
>>586
昔からバグなんて無いよ。
文字化けしてる奴はini設定間違ってるだけだろ。
589:nobodyさん
08/04/27 14:24:39
>>586
きっとスーパーハカーなんだよ
590:nobodyさん
08/04/27 14:49:03
>>587
前にいた会社はめちゃくちゃセッションに入れまくってた。
検索結果を全部セッションに入れて、それをページングして表示してたりした。
ログイン時にユーザ情報もほぼ丸ごとセッションに入れてたなあ。
まあそれほど規模が大きいわけでもなかったから別に問題はでなかったけど。
591:nobodyさん
08/04/27 16:30:17
>>590
それ何の自慢だよ
592:nobodyさん
08/04/27 22:06:13
今、HTTP:requestを使ってよその検索エンジンのAPIへ問い合わせて結果をリターンするプログラムを作って置いてるんだけど
リクエスト数が毎秒ってぐらい半端じゃなく多くなりました
全てサーバー回線で問い合わせてるから異常なほどリクエストが多いとアク禁を食らう可能性もあるかと思い
PHPでJavascriptのAjax.requestみたいに(非同期通信?)利用ユーザー回線で問い合わせる方法ありますか?
593:nobodyさん
08/04/27 22:12:53
PHPがどこで動いてると思っているんだ?
594:nobodyさん
08/04/27 22:14:13
PHPは医療業界を救えますか?
595:nobodyさん
08/04/27 22:18:56
>>594
∧ ∧ ┌─────
( ´ー`) < シラネーヨ
\ < └──/|──
\.\______//
\ /
∪∪ ̄∪∪
596:nobodyさん
08/04/27 22:23:35
>>593
ですよね。めんどいけどローカルで動くようprototype使ってjavascriptで書き直します
597:nobodyさん
08/04/27 22:47:27
明日からインターネットが使えなくなるので
今入れといたほうが良いものってありますか?
ちなみにfirefox2.0、php5.25、apache2.61,DWは入れてます
598:nobodyさん
08/04/28 01:41:34
>>597
何がしたいんだ・・・
599:nobodyさん
08/04/28 02:09:46
>>597 AV
600:nobodyさん
08/04/28 02:38:25 XDsHBgsJ
質問させていただきます。よろしくお願いします。
別ドメインのphpからjavascritpを出力させたいのですが、
<iframe marginwidth="0" marginheight="0"
type="text/javascript"
src="URLリンク(example.com)"
>
</iframe>
とすると、Javascriptがそのままテキストとして表示されてしまいます。
後で部分的に更新させたいのでフレームを使いたいのですが、
このような使い方は出来ないのでしょうか?
ほとんどスレ違いかと思いますがよろしくお願いします。
601:nobodyさん
08/04/28 04:17:52
動的にスクリプトを読み込ませたいなら、scriptをcreateElement して、documentにaddChildするのが定石だと思う。
javascript 動的ロード とか Dynamic Script でぐぐって見て。
JSAN とかも参考になるかも。
詳しくは Javascriptスレでやったほうがいいと思う。
602:nobodyさん
08/04/28 05:12:11
>>598
PHPの開発だろ条項
603:nobodyさん
08/04/28 08:44:54
PHPでサイトを作っているのですが、携帯に対応しようと思っています。
そこでサイト閲覧の経過時間を表示したいのですが、
方法がわかりません。
携帯ではJavaScript使えないみたいなので。
スレ違いだとは承知していますがよろしくお願いいたします。
604:nobodyさん
08/04/28 08:47:52
>>603
SESSION
605:nobodyさん
08/04/28 08:58:14
>>604
すみません。説明不足でした。
サイト閲覧時間をデジタル時計みたいに1秒区切りで
随時表示していきたいのです。
それともそれがSESSIONでできるのでしょうか?
無知で申し訳ありません
606:nobodyさん
08/04/28 09:07:47
flashとか使うしかないんじゃないの?
607:nobodyさん
08/04/28 09:09:09
>>605
SESSION使えば出来るでしょ。
別にSESSIONじゃなくても、初期時間を常に引き回せば良いのでは?
ページ表示中もリアルタイムでカウントアップしたいならFLASHも一緒に使いなはれ
608:nobodyさん
08/04/28 09:10:35
>>606
flashを使うという手がありましたね。
参考になりました。
ありがとうございました。
609:nobodyさん
08/04/28 09:12:10
>>607
ページ表示中もリアルタイムでカウントアップしていきたかったのです。
検討していただきありがとうございました
610:nobodyさん
08/04/28 09:21:50 eHo0WZE0
認証しないと見れないページを作ってます。
ログインフォームにIDとパスを入力して、正しかったら$_SESSION['login']に1を格納してます。
認証しないと見れないページで$_SESSION['login']に1が入ってるか確認して、入ってたらページを見せます
これはセキュリティ的にどうなんでしょうか?
改善するとしたらどのようにしたらよろしいでしょうか?
611:nobodyさん
08/04/28 11:22:21
>>610
色々な意見は有るだろうけど、少しでもシビアにやる必要が有るのなら
私なら、少なくとも一緒にIPとUAぐらいは格納しておいて常時チェックします。
と、セッションの有効期限を短めに。
ま、セッションハイジャックされても大して困らないようなサービスだったら、
login=1だけでもいいと思います。
612:nobodyさん
08/04/28 11:58:35 U6D2eVEj
VirtualHostを使って80とは別のポートで受けているのですが
$_SERVER['SERVER_PORT']の値がおかしい時があります
ポートを変えているのに、なぜか80が入っています
URIを長くしたりすると、正しいポートの番号が入っていたりします
その規則性が分からないのですが、
この問題についてご存じの方がいたら教えてください
SetEnvを使って、代替となる環境変数を設定するか、
ホストを自分でパースすれば、
ポート番号を知りたいという要求は満たせるのですが、
奇妙な動作なので気になります。
613:nobodyさん
08/04/28 16:35:05 ASacEEs/
PHPでSOAP使ってるんですが、Digest認証のページにアクセスするいい方法ってあります?
Basic認証のページへはSoapClientのコンストラクタに引数渡してアクセス出来るんだけど、
Digest認証のところでひっかかって先に進めないのです。
614:nobodyさん
08/04/28 17:09:28
echo '<table width="'.$width.'"';
echo ( $titleHeight )? ' height="'.($aaa-$bbb).'"':' height="'.($aaa-$bbb).'"';
プログラムが長すぎるのでエラーが出る行だけの書き込みです。
$titleHeight っていう値がないので削除したいのですが
echo '<table width="'.$width.'"' height="'.($aaa-$bbb).'"':' height="'.($aaa-$bbb).'"';
とするとエラーでPHPが正常に処理してくれません。
どこがおかしいのでしょうか??
615:nobodyさん
08/04/28 18:30:45
echo
'<table width="'
.
$width
.
'"'
height="'
.
($aaa-$bbb)
.
'"'
:
' height="'
.
($aaa-$bbb)
.
'"';
616:nobodyさん
08/04/28 18:31:23
>>614
>>615を100回嫁
617:nobodyさん
08/04/28 19:23:00
三項演算子だお
echo '<table width="'.$width.'" height="'.($aaa-$bbb).'"';
618:nobodyさん
08/04/28 19:53:50
しかし糞汚ねえゴミソースだな
619:nobodyさん
08/04/28 20:51:50
>>618
見本をお願いします。
620:nobodyさん
08/04/28 21:00:34
ヒント:太いにあって大にないものが足りない。
621:nobodyさん
08/04/28 21:04:21
>>619
見本出してやるから元のコード出せ
つうかechoでhtml全部吐くな
ちゃんとviewと分離しろ
622:nobodyさん
08/04/28 21:07:33
viewと分離ってどういう意味?
別ファイルにしろってこと?
623:nobodyさん
08/04/28 21:09:03
太を
大と
、
に分けるってこと
624:nobodyさん
08/04/28 21:10:24
<html>
<head>
</head>
<body>
<table width="<?php echo $width; ?>" height="<?php echo $aaa-$bbb; ?>">
</body>
</html>
こういうことだろ
625:nobodyさん
08/04/28 21:29:48
埋め込み方式で<?php echo $hoge; ?>ってのを短縮するやつあったよな
<?= $hoge ?>だっけ?
626:nobodyさん
08/04/28 21:34:18
>>624
それだと掲示板みたいに増減する複数個のテーブルを、
内容を変えながら表示すること出来ないんじゃね。
627:nobodyさん
08/04/28 21:39:58
>>624
期待して損した
これはヒドイw
ブログのテンプレートとか見て勉強してこいクズ
628:nobodyさん
08/04/28 21:44:25
>>626
それはControllerの仕事だよ
629:nobodyさん
08/04/28 22:07:12
>>626
複数個のテーブルを表示したいなら
<?php foreach(ほげほげ){ ?>
<table width="<?php echo $width; ?>" height="<?php echo $aaa-$bbb; ?>">
内容
</table>
<?php } ?>
すればいいんじゃないの?
630:621
08/04/28 22:11:27
>>627
ブログのテンプレートが見本だなんて頭大丈夫か?
あんなスパゲティ糞コードいらね
お前みたいのはPerlでもやってろ
一番いいのはCakePHPのソースを見ること
命名規則やコーディングが若干気に入らないが勉強になるぞ
631:nobodyさん
08/04/28 22:33:01
>>630
デザインと分離するんじゃなかったのか?
だいじょうぶか?あたま
632:nobodyさん
08/04/28 22:40:59 ofPhinBe
会員制サイトで
仮登録→登録という流れのとき、
$reg_key = sha1(uniqid(rand(), true));
のように、メールを受信した人にしかわからないトークンを作り、
認証のアドレス.php?email=xxx®_key=yyy
や、
認証のアドレス.php?id=xxx®_key=yyy
としている場合が多いのですが、
パラメータとして渡すのは、reg_keyだけではだめなのでしょうか?
uniqidが入っているので、問題ないかと思うのですが・・・
説明が足りないところがあるかもしれませんが、
理解していただける方がいましたら、アドバイスお願いします。
633:nobodyさん
08/04/28 23:02:26
それだけで賄えるならそれでいいじゃん
634:nobodyさん
08/04/29 00:08:00 AbJjjUx5
以前php.iniについて質問したものです。
教えて頂いた方法で数週間試してみましたが、
全くエラーが出来なくなりました。
お礼が遅くなりましたが、どうもありがとうございました。
めちゃ助かりました!
635:597
08/04/29 00:15:02 UrbOD/FY
だれかおねがいします
636:nobodyさん
08/04/29 00:36:53
>>635
使えてるみたいだしいいじゃねーか
637:nobodyさん
08/04/29 02:39:37
>>636
今日モデム返すのですよ
638:nobodyさん
08/04/29 03:44:02
coLinux
639:nobodyさん
08/04/29 03:50:53
何ヶ月もつなげられないような僻地にでもいくのか?
とりあえずマニュアルをオフラインでも見れるようにダウンロードしといたほうがいいんじゃね?
あとDW使ってPHP書いてるんならそれでもいいけどEclipseとかのIDE入れたり
あとはMySQLなりPostgreSQLなりDBもちゃんと入ってるか?
phpMyAdminやphpPgAdminなどのWebから使えるDBの管理者ツールとか
必要ならDBのマニュアルなんかもダウンロードしといたほうがいい
メール開発するならメールサーバも必要
XAMPPなら全部入ってるが自力で各個いれて設定できるなら余裕だろ
640:nobodyさん
08/04/29 04:57:58
>>515
レス遅くなり申し訳ありません。
ちゃんとサイト内にあったのですね
ありがとうございます
641:nobodyさん
08/04/29 07:55:26
>>613
コンストラクタの $options に
'authentication' => SOAP_AUTHENTICATION_DIGEST
を追加してみるとどうでしょうか。
ドキュメント化されてないので確証はないですが。
>>632
reg_key が一意なら使えます。
見直す点は uniqid() も sha1() も返り値が一意的でない事。
642:632
08/04/29 08:57:25 QM2GtqNT
>>633
>>641
回答ありがとうございます!
>>見直す点は uniqid() も sha1() も返り値が一意的でない事。
そうですか・・・uniqidだけではだめなのですね。
一応、データベース側でreg_keyをユニークに指定してあるので、それほど問題はないかもしれませんが、
やはりエラーがでてしまうのは避けたいです。
お手数ですが、
もしよかったら、値が一意になる具体例(こうすれば一意になるというもの)を教えていただけないでしょうか?
よろしくお願いします。
643:nobodyさん
08/04/29 11:46:43
rand()だけでなくユーザIDも一緒に
644:641
08/04/29 12:53:49
>>642
データベースに UNIQUE KEY 制約が指定してあるなら sha1(uniqid()) で問題ないですよ。
一意かどうかは集約側に問い合わせるまで保証できませんので、
適当に生成→クエリが成功するまでトライするぐらいしか思い付きません。
データベース側で生成できるならそちらで。
MySQL の場合は UUID() とストアドプロシージャで出来そうな気もします。
詳しくないのでやり方はDB板にお任せします。
645:nobodyさん
08/04/29 13:16:12
UNIX/Linux系OS上において、PHPでの開発実務経験者
っていう求人に応募したいのですが、これはlinuxが入ってるパソコンでコードを書いて開発してる人だけってことですか?
windowsでコードかいてlinuxにアップロードして開発するのはこの枠には含まれないのでしょうか?
646:nobodyさん
08/04/29 13:51:56
WINEつかって開発すればいいんだよ。
647:nobodyさん
08/04/29 13:59:35
>>645
こんなところで聞いている時点で何だかな~って気がするけど、
応募先に質問すればすぐに分かることじゃない
質問先が明確にあるなら、まず聞く
以上
648:nobodyさん
08/04/29 14:05:37
だからここで聞いてるだろ?
649:nobodyさん
08/04/29 14:13:54
募集先ってことじゃないの?
ここで聞いて
「そっか!大丈夫なんだ!るんる~ん♪」
と応募しても、
先方が却下だったら却下なわけだしね
650:nobodyさん
08/04/29 14:54:31
あんなマゾいlinuxだけで完結して開発してる人なんているわけ?
651:nobodyさん
08/04/29 15:06:49
UNIX/Linux系OS上において(動く)、PHPでの開発実務経験者
って意味だろw
652:nobodyさん
08/04/29 15:56:32
>>645 は
知るかボケ、と言われるのが好きなマゾ。
653:初心者
08/04/29 17:09:19 o9+cl7aK
質問です。
aaaa
aaab
aaac
.
.
.
zzzy
zzzz
とこのようにaからzまでの4文字の数字を全種類表示させるにはどうしたらいいでしょうか?
654:nobodyさん
08/04/29 17:15:53
for($i='aaaa'; $i<='zzzz'; $i++){
echo $i."\n";
}
655:nobodyさん
08/04/29 17:18:21
こんなのもね。
<?php
foreach(range(a,z) as $str1){
foreach(range(a,z) as $str2){
foreach(range(a,z) as $str3){
foreach(range(a,z) as $str4){
print "{$str1}{$str2}{$str3}{$str4}<br>\n";
}
}
}
}
?>
656:初心者
08/04/29 17:24:33 o9+cl7aK
>>654
そりゃ違うよ。
>>655
ありがとう^^
657:nobodyさん
08/04/29 17:34:40
>>656
>>654も>>656も結果は同じ。
初心者のうちは、まず試してみること。
658:nobodyさん
08/04/29 17:37:06
初心者のくせに何で否定してるんだよw
659:nobodyさん
08/04/29 17:37:16
>>656
試しもしねーアタマの硬いクズは二度と来るな
660:nobodyさん
08/04/29 17:42:10
>>654の不憫さにフイタwwww
661:nobodyさん
08/04/29 18:06:48 FcuzQKHA
index.html
<html><body>
<form action="index2.php" method="post">
<input type="text" name="keyword" size="40">
<input type="submit" value="送信">
</form>
</body></html>
index2.php
<html><body>
<?php echo $keyword ?>
</body></html>
こういった単純なプログラムなのですが、index2.phpにて入力した文字が表示されません。
本来ならばindex.htmlで入力した文字が変数$keywordに代入されて、index2.phpで表示されるはずなのですが・・・。
何が原因なのでしょうか?
662:nobodyさん
08/04/29 18:12:37
これは釣りなのか?w
PHP云々じゃなくてHTTPやWebプログラムの基本から勉強したほうがいいよ
URLリンク(www.php.net)
663:nobodyさん
08/04/29 18:18:31
まだ、覚え始めたばかりで基本を勉強している方なんだろうけど、
そんなコードが生み出せる勉強方法があるのかと不思議に思う。
664:nobodyさん
08/04/29 18:19:53
>>661
もし参考にしてる本か何かが「そうなるはず」だと
説明してるのなら、記述が古すぎるかも。
URLリンク(www.php.net)
665:nobodyさん
08/04/29 18:24:39 TMlzPliF
wordpressを導入しようと思い、phpにも取り組み始めたのですが、phpファイル内に直接日本語を記入すると出力時に文字化けしてしまいます。
例えば
<h1><a href="<?php echo get_option('home'); ?>/"><?php bloginfo('name'); ?></a></h1>
だと正常に表示されますが
<h1><a href="<?php echo get_option('home'); ?>/">テスト</a></h1>
だと化けてしまいます。
charsetはutf-8にしています。(wordpressもMySQLも統一してます)
対処法がありましたらアドバイスお願いします。
666:nobodyさん
08/04/29 18:24:51
>>662-664
ありがとうございます。どうやら根本的な勘違いだったようですね・・・。
ちなみにこの方法はこちらのページを参考にしました。
URLリンク(www.stackasterisk.jp)
667:nobodyさん
08/04/29 18:30:09
>>654
これ動かないだろ
668:nobodyさん
08/04/29 18:30:59
>>665
エディタはちゃんと内部文字コードがunicodeのやつをつかってるよな?
669:664
08/04/29 18:31:56
>>666
> 【動作環境】
> バージョン PHP3
こういう古い解説には気をつけましょうね、ということです。
おまけ。
URLリンク(www.php.net)
670:nobodyさん
08/04/29 18:40:50
>>667
コピペじゃね
671:665
08/04/29 18:53:49
>>665
どうもそういう問題だったようです。
DreamWeaverで書いていたのですが、sakuraでUTF-8で開きなおして保存したら表示できました。
ありがとうございました。
672:nobodyさん
08/04/29 19:03:35
Dreamweaverも文字コード指定できると思うんだが
>>667
$i<='zzzz' この書き方はダメかもしれないね
文字列に++するのは問題ないんだけど
673:nobodyさん
08/04/29 19:25:44
>>671
サクラとかterapadは内部文字コードsjisだから~←とかの文字が化けるぞ
いまからでもエディタは秀丸とかemediterとかunicodeのやつを使ったほうが良い
674:nobodyさん
08/04/29 19:39:57
>>661って要はPOSTで値を変数に格納してないのが間違いなんだよな。
675:nobodyさん
08/04/29 19:46:20
register_globalsがデフォルトでonだった危険極まりない頃なら間違いじゃないんだけど
php3を勉強しかかってる人を止められてよかったね、と
676:665
08/04/29 20:36:21
>>672
指定していたつもりだったのですが、「エンコードを指定していない~」という欄にチェックが入っていたためか、コピペして使っていたファイルに適用されていなかったようです。
ただ、プロパティで変更できることに気づきました。
>>671
助言ありがとうございます。
ちょっとした変更は秀丸を使うことにします。
677:nobodyさん
08/04/29 21:18:09
>>672
>$i<='zzzz' この書き方はダメかもしれないね
だめじゃないって。試してからレスしようよね。
678:nobodyさん
08/04/29 21:33:27
だめだろう。おまえ本当に試してから書いてるのか?
679:nobodyさん
08/04/29 21:46:07
>>654を試したら止まらないのだがどう修正すればいい?
680:nobodyさん
08/04/29 21:48:16
ネタをどこまでひっぱるんだい
681:nobodyさん
08/04/29 21:48:52
for($i='aaaa'; $i!='aaaaa'; $i++){
echo $i."\n";
}
682:nobodyさん
08/04/29 23:08:02 8TiTMo6p
PHPプログラムに限った話ではないかもしれないのですが、PHPで開発してる
のでここで質問させてください。
if($ext != "jpg" && $ext != "jpeg" && $ext != "gif" && $ext != "png")
{
...
}
上記のif文の中身を美しく書き換えたいのですが、($ext !=の繰り返しをなくしたい)
どのようにすればいいか分かりません。教えてください。お願いします。
683:nobodyさん
08/04/29 23:20:10
if(!in_array($ext, array('jpg', 'jpeg', 'gif', 'png'))
684:nobodyさん
08/04/29 23:22:50
$ary= array('jpg', 'jpeg', 'gif', 'png');
if(!in_array($ext,$ary)
685:682
08/04/29 23:40:33
>>683,684
ありがとう。配列にしないといけないのか。
今環境ないので明日やってみます。ありがとうございました。
686:nobodyさん
08/04/29 23:50:01
配列にしないといけないわけではないけど、こっちのほうがいい
687:nobodyさん
08/04/29 23:54:29
MYSQLでデータベースを構築しようと考えてます。
まず何から始めればいいのか分かりません。
PHPの知識はもちろんあります
688:nobodyさん
08/04/29 23:59:00
まずMysqlのホームページからプログラムをダウンロードしてきてください
689:nobodyさん
08/04/30 00:00:34
>>688
インストールしました。
PHPMYADMINも導入しました。
690:nobodyさん
08/04/30 00:08:41
はじめてこのスレを覗いたのだが、ここの住人は親切で向上心があって素晴らしい。
PHPやってて良かったと思った。
691:nobodyさん
08/04/30 00:09:53
>>689
よし、つぎはphpmyadminからデータベースをつくれ
692:nobodyさん
08/04/30 00:55:18 +RqiWmec
ちょっとスレチかもしれませんがお願いします。
URLを開きたいのですがphpのfopenと同じ関数はperlにありますか?
693:nobodyさん
08/04/30 01:07:32
>>692
URLリンク(homepage2.nifty.com)
694:nobodyさん
08/04/30 01:11:11 +RqiWmec
>>693
はい。そこ見ましたがURLを開く関数が載ってなかったのです。
695:nobodyさん
08/04/30 01:32:03
phpのfopenと同じ関数はperlにありますか
と
URLを開く
はイコールじゃないんだが
696:nobodyさん
08/04/30 02:08:24
URLを開くことができるphpのfopenと同じ関数はperlにありますか?
697:nobodyさん
08/04/30 02:14:06
>>696
>>695を100回読んでもう一度出直してきてね
698:nobodyさん
08/04/30 02:20:46
「URLを開くことができるphpのfopen」
これ理解できませんか?
699:nobodyさん
08/04/30 02:25:54
もうあっちで聞いた方がいいよ
ここじゃ答えてくれないと思う
【ANTI】今、あえてPerlで攻める【PHP】
スレリンク(php板)
700:nobodyさん
08/04/30 02:27:55
やっと理解できたみたいですね(笑)
PHPのfopenはURLを開けるんですよ。
はいはい。初心者は消えた消えた
701:nobodyさん
08/04/30 02:28:19
>>687=689
まず↓で色々と聞いてくるといいと思うよ
MySQL 総合 Part13
スレリンク(db板)
702:nobodyさん
08/04/30 02:52:22
ここはphpもロクにできない集まりかよw
perlもわかんないやつ多すぎてフイタ
703:nobodyさん
08/04/30 03:38:29
なんでperlスレで聞かないんだ?
それにURL開くならfile_get_contentsとかcurlとか使うだろ
704:nobodyさん
08/04/30 05:55:36
Perlもわかんないって別物だから当然だろ
705:nobodyさん
08/04/30 07:14:44
ホレ
use LWP::Simple;
print get('URLリンク(www.2ch.net)');
706:nobodyさん
08/04/30 07:55:55 UIHB9PA8
っていうか、
「URLを開く」って表現がおかしいんじゃないか?
「URLを読み込む」の方がいいような気がする・・。
707:nobodyさん
08/04/30 08:02:11
「URLを読み込む」ってなんだよ
ってレスが3つは付くね
708:nobodyさん
08/04/30 10:09:26
「URLを読み込む」ってなんだよ
709:nobodyさん
08/04/30 11:16:56
「URLを読み込む」ってなんだよ
710:nobodyさん
08/04/30 11:57:43
>>692
Perlならソケット使うしか俺は知らん。
711:nobodyさん
08/04/30 12:25:11
「URLを読み込む」ってなんだよ
712:nobodyさん
08/04/30 12:56:59
完全論破w
このスレはこの程度かwww
713:nobodyさん
08/04/30 13:08:47
職場の花でしかない女性PGは黙ってろwww
714:nobodyさん
08/04/30 13:10:54
URLをfopenで開くやつは素人
715:nobodyさん
08/04/30 13:26:50
じゃあ何で開くんですか
716:nobodyさん
08/04/30 13:38:00
ケイコの夢は夜ひらく
717:nobodyさん
08/04/30 14:18:48
ケイコの股も夜ひらく
718:nobodyさん
08/04/30 15:05:21 C5WTvXyu
すみませんちょっと質問です。
PHP×MYSQLで検索システムを作ってるんですけど、外部のページからもフォームから
検索したいと要望がありました。MYSQLのポート開けて、外部から接続するのは条件的に
厳しいです。何かいい方法ありませんでしょうか?API的なものを用意できれば良いのでしょうけど。
719:nobodyさん
08/04/30 15:28:38
>>718
フォームから検索したいのになぜ外部にポート解放する必要があるのか逆に質問したい
720:nobodyさん
08/04/30 15:31:58
>>718
アプリケーション層(PHP)ですべて解決しようとせずとも、
TCP/IP や VPN で解決してはいかがでしょう?
統合型 Firewall などを導入していれば、
パケットを転送してあげればよいと思います
ネットワーク板あたりで該当スレを探してみては?
721:nobodyさん
08/04/30 15:41:58
レスありがとうございます。
>>719
検索対象のDBは、Webサイトの置いてあるサーバーと違うところにあるんですね。
DBの置いてあるサーバーに、検索キーワードを投げて、XMLやJSONで返り値を
もらうような仕組みを書けばいいのかなーと、漠然と考えておりました。
>>720
なるほどですね、そうすればセキュリティを保ちながら通信できそうですね。
パフォーマンスなども考えつつ、再度検討してみます。ありがとうございます。
722:nobodyさん
08/04/30 16:01:14 itZeUQTn
携帯サイトで、php_value session.use_trans_sid の機能使ってURLにPHPSESSIDを自動でくっつけてるんだけど、
この値が毎回ころころ変わるんだよ。
家鯖環境だと大丈夫なんだけど、レンサバ(ファーストサーバ)にUPしたとたんに変化する。
なにが原因かおしえて。
723:nobodyさん
08/04/30 16:14:35
>>722
バージョンぐらい書いたらどうだ
724:nobodyさん
08/04/30 16:42:15
>>722
あなたはここよりも↓の方がいい
くだすれPHP(超初心者用)3
スレリンク(php板)
725:nobodyさん
08/04/30 16:43:33
>>724
氏ねカス
726:松田 ◆QkRJTXcpFI
08/04/30 16:48:57 k+045YDQ
HTMLとPHPの初心者です。
すみませんが教えてください。
(index.phpの記述)
<form action="hoge.php" method="post">
<input type="text" name="MMM" size="40"value="" tabindex=1>
<input type="submit" value="送信"tabindex=2>
</form>
hoge.phpから、またindex.phpにリンクで帰ってきた時に、ぐーぐるのTOPのようにすぐに文字を入力できるようにカーソルを入れたいのです。
現状では、index.phpが開いたら、カーソルは何処にもなくて、TABキーを押すと、テキストBOX内にカーソルが現れます(当然なんですよね?)
OS WindowsXP
バージョン PHP-5.2.4(セーフモード)
サーバー会社 URLリンク(atpages.jp)
入力者が最初にTABキーを1回押せば済む話ではあるのですが、出来るのならやりたいです。よろしくお願いします。
727:nobodyさん
08/04/30 16:51:47
>>726
つjavascript
728:nobodyさん
08/04/30 16:58:40
>>726
<ぼdy 音ロアd=”どくめんt。げtElementById(’ほげ’)。ふぉくs()”>
729:nobodyさん
08/04/30 16:59:20
>>726
ここでは初心者と自ら名乗る行為は嫌われるのでご注意を
本題ですがそれはJavaScriptを使ってやるのでPHPは関係ありません
例えばこのようにします
<body onload="document.foo.MMM.focus()">
<form name="foo" action="hoge.php" method="post">
<input type="text" name="MMM" size="40" value="" tablindex=1>
<input type="submit" value="送信"tabindex=2>
</form>
次からはJavaScriptスレでどうぞ
730:松田 ◆QkRJTXcpFI
08/04/30 17:20:52 k+045YDQ
>>727-729
レスありがとうございます。お騒がせしました。
>>729
ありがとうございます。感謝致します。
731:nobodyさん
08/04/30 18:01:08 8kfJ8k7x
$in{'mode'}="ins";
恥ずかしながらこういう書き方初めて見たんだけど、
これって何をしてるんですか?配列に代入?
732:nobodyさん
08/04/30 18:07:47
>>731
Perlユーザと思われる
733:nobodyさん
08/04/30 18:10:20
$inが未定義だから新たにハッシュを作ってる。
試しにその前に$in = '1234';とでも入れてみると面白いよ。
詳しくは
URLリンク(jp.php.net)
URLリンク(jp.php.net)
など参照
734:nobodyさん
08/04/30 18:13:06
>>731
#!/usr/bin/perl
require './cgi-lib.pl';
ReadParse(*in);
そのスクリプトにこんな記載はないですか。
735:731
08/04/30 18:18:04 ln6uHZdx
ありがとう!チェックしてみます。ハッシュかー
736:731
08/04/30 18:26:36 ln6uHZdx
>>735
いや、phpの掲示板スクリプトを読んでるんです。今までそんな書き方見たことなかったからハテナ?でした。
737:nobodyさん
08/04/30 18:32:08
ん?ハッシュ?
738:nobodyさん
08/04/30 18:34:56
>>736
Perlがその書き方で、PHPでも動くんよ
739:734
08/04/30 18:41:28
自分宛てだと思うので。
>>736
Perl だと
・配列=添字が数値。 $array[0] で要素を扱う。
・ハッシュ=連想配列。添字に文字列使える。$hash{'mode'} で要素を扱う。
なんですよ。$in{'mode'} は>>734な時代のおやくそく記法。たぶんオチは>>732。
ところで PHP では連想配列もひとくくりで「はいれつ」だと思う。
740:731
08/04/30 18:42:24 ln6uHZdx
へー、pealも動くんだ。全然知らなかった。。
733のリンクにヒントがあるんですよね。今携帯からだからリンク先読めないんだけど。。
戻ってチェックしてみます。ありがとうございました!
741:731
08/04/30 18:48:39
>>739
丁寧にありがとうございます。perlの記法なんですね。なるほど
742:nobodyさん
08/04/30 18:59:04
PerlとJavaとCの記法がごっちゃになっててカオスなんだよなPHPは
俺はJavaユーザなんでもっぱらオブジェクト使ってるけど
743:__
08/04/30 19:03:55
画像投稿後の完了ページでF5を押すと同じ画像が投稿されてしまいます。
これを防ぐにはどうしたらいいでしょうか?
headerで飛ばす以外でお願いします。
僕が考えたものとしては以下になります。
具体的にはどうすればいいかお教えください。m(_ _)m
投稿時にパラメータを埋め込み内部で照合→あわなければNG
744:nobodyさん
08/04/30 19:08:48
二重投稿チェックすればいいじゃん
745:ぴよ
08/04/30 19:27:35 LQbFwuBs
質問させていただきます。
ホームページをPHPにしてincludeで、ヘッダーやメニューを呼び出そうと思っています。
PHPで可能かどうなのか分からないのですが
メニューのところを、CSSで、フレーム風にし、スクロールできるようにします。
通常のフレームでは、スクロールして、ある項目をクリックした場合
スクロールした状態が保たれますが、CSSのフレーム風では
スクロールした状態が保たれません。
これをPHPでスクロールした状態を保つことはできますでしょうか?
もしできるのならば、やり方、もしくは、参考サイトを教えていただけないでしょうか。
どのようなキーワードで検索すればいいのかも分かりません。
どうぞよろしくお願いいたします。
746:nobodyさん
08/04/30 19:41:05
できません
ていうかどう考えてもCSSでの擬似フレームの話でPHP関係ないでしょ
747:nobodyさん
08/04/30 19:49:37
そういう見た目てきにどうこうしたいがHTMLじゃ無理そうってのは
たいていJavaScriptなんだよ
PHPは見た目とかUIの機能とかに関しては全く無関係で
そういうのはHTMLとかJavaScriptでどうにかするしかない
PHPは言ってみれば単にHTMLのソースを条件等によって処理して吐くだけ
748:nobodyさん
08/04/30 19:52:31
つflash
749:747
08/04/30 19:55:03
>>748
そういえばそんなのもあったな
すっかり忘れてたぜ
750:ぴよ
08/04/30 19:56:47
てっきりPHPでできると思ってました。
すみませんでした。
JavaScriptで質問してみます。
flashは、ソフトがないのと、勉強に時間がかかりそうなので・・
どうもありがとうございました。
751:nobodyさん
08/04/30 19:59:51
flashは無料ソフトでも作れます
752:鯖術
08/04/30 19:59:56 FX5sdMAt
xrea.comのs336鯖を借りています。
PHPで、パーミッションを666にしてファイルを作成するスクリプトは動くのですが、mkdirでtestというディレクトリを作成することまでは可能なのですが、パーミッションを777にしようと
chmod("test",0777);
を指定するとエラーがでます。教えて下さい
753:nobodyさん
08/04/30 20:06:28
xreaはsafemodeかかってるんでcgiとして動作させてみ
phpの1行目に
#!/usr/local/bin/php
っていれて拡張子をcgiに変えてパーミッションは755で動作させる
754:nobodyさん
08/04/30 20:08:06 itZeUQTn
>携帯サイトで、php_value session.use_trans_sid の機能使ってURLにPHPSESSIDを自動でくっつけてるんだけど、
>この値が毎回ころころ変わるんだよ。
>家鯖環境だと大丈夫なんだけど、レンサバ(ファーストサーバ)にUPしたとたんに変化する。
>なにが原因かおしえて。
すまん。情報が足らなかったようだ。
PHPバージョン云々より設定とか問題と勝手に思い込んでた。
問題の起きているレンサバの環境はPHP5.2.5 DSO版
問題が起きなかった頃のレンサバ環境はPHP4.4.8 DSO版
ちなみにソースは.htaccessも含め全部一緒。(php_value session.use_trans_sid 1)
単純な実験ページを用意してやってみても同様。
なんでこんなことがおこるんだ??
755:nobodyさん
08/04/30 20:11:55
>>752
パーミッション777はsuexecのせいだと思う
鯖の仕様だからそれ以外にする
756:nobodyさん
08/04/30 20:30:54
>>754
質問するときは言葉使いに気をつけよう
757:nobodyさん
08/04/30 20:35:05 itZeUQTn
>>756
え?2chってこういう風に書くのが良いって聞いたんだけど?
あれは嘘?やっぱ普通に書いた方が良かったの?
で、なにか知ってるの?
758:nobodyさん
08/04/30 20:37:57
ネタにはしったのか残念
ID:itZeUQTnはスルーしますね
759:nobodyさん
08/04/30 20:42:54 itZeUQTn
>>758
やっぱ2chってキモチワルイネ。
そんじゃ、普通の言葉で普通の場所で聞くことにするよ。
知ってるなら教えてくれればいいし知らなければ無視すればいいだけだろ?
「おまえが気に入らないから教えてやらない」的空気で悦に浸ってるのか?
程度が低いな。
760:nobodyさん
08/04/30 20:45:11
はい次。
761:nobodyさん
08/04/30 20:46:07
ID:itZeUQTn=ゆとり
762:nobodyさん
08/04/30 20:50:40 itZeUQTn
ゆとりってwww
話には聞いていたが、会話が成立しなくなったら相手を「ゆとり」扱いってのは本当だったんだなw
なにかコンプレックスでもあるのか?w
763:nobodyさん
08/04/30 20:52:21
答えてもらえなかった途端煽りに走るとかゆとりの典型
ガキ向けのスレじゃないのでお帰り下さい
以下何事もなかったかのようにどうぞ
764:nobodyさん
08/04/30 20:54:01
もうね、顔が真っ赤になってますよね
765:nobodyさん
08/04/30 20:56:39
phpで乳首タブルクリックしたらエロサイト立ち上がる関数はありますか?
また自作する場合どのような点を気をつければいいか教えてください。
766:nobodyさん
08/04/30 20:57:45 itZeUQTn
答える気もないのに、上から仕切るなよ。
そっちこそ知らないなら最初から無視しろよ。
「まず気持ちよくしてもらわないと、僕おしえてあげないよ」ってか?
ここあんたの所有か?勘違いもここまでくるとほんとに気持ち悪いな。
どこにでもいるんだなこういう人間って。
767:nobodyさん
08/04/30 21:05:12
>>766
ゆとりはここみてこい
URLリンク(detail.chiebukuro.yahoo.co.jp)
768:nobodyさん
08/04/30 21:06:06
どっちが勘違いなんだか
2chだから何でもありとかどんだけゆとり脳なんだよ
人に物を聞くときは態度をわきまえるのは実社会でもネット社会でも同じ
スレのルールは>>1に明示されいるとおり
理解できるまで>>1を読み返したあと巣に帰れ
769:nobodyさん
08/04/30 21:07:45
質問の態度を指摘された時点で、素直に謝って、質問しなおしてればよかったのに。
・ 質問者として、態度をわきまえること。
770:nobodyさん
08/04/30 21:09:16
>>767の優しさに嫉妬
771:nobodyさん
08/04/30 21:15:46
このスレはこの程度か
どうもありがとうございました
772:nobodyさん
08/04/30 21:21:27
どこもこの程度ですよ
こちらこそありがとうございました
773:鯖術
08/04/30 21:43:18
>>753
ありがとうございました。
次なのですが、ディレクトリをパーミッション737で作成して、FTPをログアウトしたら、再度ログインした際に、パーミッションが755に勝手になるのは、xreaだからですか?
分かる方お願いいたします
774:nobodyさん
08/04/30 22:17:09
>>771
俺が最初に言った言葉なんだけどマネしないでくれる?
775:nobodyさん
08/04/30 23:38:16
質問させていただきます。
【前提条件】
・各種レンタルサーバでの動作を想定しているため、多くのサーバが
対応していると思われるPHP4での動作を想定
・仕様の都合上、サーバの設定はいじらない
(続く)
776:nobodyさん
08/04/30 23:39:23
(続き)
【問題その1】
設定ファイルを以下の方法でプログラム上で作成するのですが、
あるサーバ(以後「相手サーバ」)で、このファイルが所有者nobodyとなり
ffftpでのファイルのダウンロードや削除ができないようです。
[ソース]
if(!file_exists([ファイルパス])){
//書き込む内容を定義
$writeStr = "~~~~~~";
//ファイルを作成し、パーミッションを変更
touch([ファイルパス]);
chmod([ファイルパス],0666);
//ファイルに書き込み
$fp = fopen([ファイルパス],"w");
flock($fp,2);
fwrite($fp,$writeStr);
fclose($fp);
}
(続く)
777:nobodyさん
08/04/30 23:39:55
(続き)
ちなみに私がテストで使用しているロリポップのサーバ(以後「自サーバ」)
では、ファイル所有者が「apache」になりffftpでのファイル操作も
問題なく行えます。
相手サーバは直接確認できていないので、詳細はわかりませんが、
おそらくnobodyにchmodの実行権限がないためかと思われます。
前提条件にあるように、サーバの設定をいじれないため、プログラムのみで
これを動作可能にする方法があれば、教えていただきたく思います。
無理なようなら、空の設定ファイルをffftpでサーバに上げ属性変更を行う
という対応を考えていますが、可能な限り自動で行いたいです。
(続く)
778:nobodyさん
08/04/30 23:40:19
(続き)
【問題その2】
このプログラム、
・利用者に動作しているのを意識させない
・ブラウザを閉じられても動作を終了しない
という動作を行うようになっています。
現時点では以下のように実装してあります。
[execute.php]
<?php
System("php [実際の処理を行うPHPのパス] > /dev/null &");
?>
[HTMLファイル(該当箇所のみ抜粋)]
<iframe src="execute.php" style="display: none;">
</iframe>
こちらも自サーバでは動作を確認していますが、相手サーバでは動かないようです。
本来cronを使うべきなんでしょうが、これも前提条件のため、この方法で
実現しています。
何かよい解決策があれば教えていただけると幸いです。
779:nobodyさん
08/04/30 23:50:25
>>775
>>1
780:nobodyさん
08/04/30 23:50:49
処理を指定した行かラベルに飛ばしたいのですが、どうすればいいのでしょうか?
検索しても調べ方が悪いのかまったくヒットしませんでした。
781:780
08/04/30 23:52:06
文章だとわかりにくいですね。要は
A地点
echo "A地点を通過"
B地点
echo "B地点を通過"
C地点
echo "B地点を通過"
というプログラムで、A地点の中にC地点までジャンプさせる命令をしたいんです。
782: ◆butDCCtu7M
08/05/01 00:06:48
>>779
775~778です。
すみません、見落としていました。
使用するサーバはLinuxだと思われますが、あちこちのレンタルサーバでの
動作を想定しているため、Webサーバ、PHPバージョンは不特定です。
(PHPファイル自体を配布して使用してもらうようになっているため)
可能な限り多くのサーバで動くようにしたいです。
テストに使っている自サーバはロリポップで契約したレンタルサーバです。
LinuxでWebサーバはApacheですが、バージョンはどこで見るのか……
PHPはver.4.4.6だそうです。
ただこの自サーバではうまく動作していて、問題は相手サーバなのですが、
相手サーバのほうの環境は把握できていません。
これで回答お願いできないでしょうか?
783:nobodyさん
08/05/01 00:20:11 lhcqDE2k
素人ですがどなたか教えて下さい。
フォーム(TEXTAREA)を入力し、確認ボタンを押すと確認画面に行き、戻るボタンを押すと
元の入力画面に戻るようにしています。入力画面に戻ったとき、直前に入力した内容を表示
させたいので、最初は<INPUT type='button' value=' 戻る ' onclick='history.back()'>
で戻らせていました。しかし、その後セッション管理を追加したところ、入力内容が保持さ
れなくなってしまいました。
そこで素人ながら色々考えて、hiddenでTEXTAREAの内容を受け渡してみたのですが、入力内容
に改行があると画面がおかしくなります。(戻るボタンや改行以降の内容がずれて表示されます。)
しかも、受け渡された内容は改行よりも前の文字しか入っていません。
■確認画面
$textdata = htmlspecialchars(stripcslashes($textdata));
$body .= "<FORM action='$PHP_SELF' method='POST' enctype='multipart/form-data'>
<INPUT type='submit' onSubmit='FldChk()' value=' 戻る '>
<INPUT type='hidden' name='textdata' value=$textdata>
</FORM>";
入力内容に改行が入っていると、これを表示した時点で戻るボタンの横に改行
された内容が表示されたりします。
■入力画面(戻ったとき)
$textdata = htmlspecialchars(stripcslashes($textdata));
$body .= "<TEXTAREA COLS=82 ROWS=15 NAME=textdata>$textdata</TEXTAREA>";
$textdataには、改行より前の文字のみ入っています。
入力→確認画面→戻る という画面構成はよくあると思うのですが、一般的には
どのように制御しているのでしょうか?hiddenとか使わなくても良い方法がある
のでしょうか?よろしくお願い致します。
784:nobodyさん
08/05/01 00:26:53
なんか宿題がまざってきたな
785:nobodyさん
08/05/01 00:32:11
>>782
>>11
>>1のトリップ出せって言うのは勝手に付け加えられた文言で
スレ的に質問者はageてちゃんとID出さないと答えてもらえないことになっている
1日に同じ質問を何回してもいいので(ただし小出しよりはまとめて質問すべし)IDは必ず出してくれ
786: ◆butDCCtu7M
08/05/01 00:36:37 LcM9SKUi
>>785
ご指摘ありがとうございます。了解しました。
ageて再度質問いたします。
小出しというか、入力文字数制限で入りません。
質問させていただきます。
【前提条件】
・各種レンタルサーバでの動作を想定しているため、多くのサーバが
対応していると思われるPHP4での動作を想定
・仕様の都合上、サーバの設定はいじらない
(続く)
787: ◆butDCCtu7M
08/05/01 00:37:50 LcM9SKUi
(続き)
【問題その1】
設定ファイルを以下の方法でプログラム上で作成するのですが、
あるサーバ(以後「相手サーバ」)で、このファイルが所有者nobodyとなり
ffftpでのファイルのダウンロードや削除ができないようです。
[ソース]
if(!file_exists([ファイルパス])){
//書き込む内容を定義
$writeStr = "~~~~~~";
//ファイルを作成し、パーミッションを変更
touch([ファイルパス]);
chmod([ファイルパス],0666);
//ファイルに書き込み
$fp = fopen([ファイルパス],"w");
flock($fp,2);
fwrite($fp,$writeStr);
fclose($fp);
}
(続く)
788: ◆butDCCtu7M
08/05/01 00:38:49 LcM9SKUi
(続き)
ちなみに私がテストで使用しているロリポップのサーバ(以後「自サーバ」)
では、ファイル所有者が「apache」になりffftpでのファイル操作も
問題なく行えます。
相手サーバは直接確認できていないので、詳細はわかりませんが、
おそらくnobodyにchmodの実行権限がないためかと思われます。
前提条件にあるように、サーバの設定をいじれないため、プログラムのみで
これを動作可能にする方法があれば、教えていただきたく思います。
無理なようなら、空の設定ファイルをffftpでサーバに上げ属性変更を行う
という対応を考えていますが、可能な限り自動で行いたいです。
(続く)
789:nobodyさん
08/05/01 00:39:01 0ps46wqd
setlocaleで'ja_JP'なり'Japanese_Japan'なりした時に
%a で曜日を出力する際、出力される文字コードはどこで設定されるん?
なんかwindowsだとcp932で固定っぽいんだけどどうなの?
790: ◆butDCCtu7M
08/05/01 00:39:39 LcM9SKUi
(続き)
【問題その2】
このプログラム、
・利用者に動作しているのを意識させない
・ブラウザを閉じられても動作を終了しない
という動作を行うようになっています。
現時点では以下のように実装してあります。
[execute.php]
<?php
System("php [実際の処理を行うPHPのパス] > /dev/null &");
?>
[HTMLファイル(該当箇所のみ抜粋)]
<iframe src="execute.php" style="display: none;">
</iframe>
こちらも自サーバでは動作を確認していますが、相手サーバでは動かないようです。
本来cronを使うべきなんでしょうが、これも前提条件のため、この方法で
実現しています。
何かよい解決策があれば教えていただけると幸いです。
791:nobodyさん
08/05/01 00:39:41
>>789また昨日のおまえか
792: ◆butDCCtu7M
08/05/01 00:40:24 LcM9SKUi
【補足】
使用するサーバはLinuxだと思われますが、あちこちのレンタルサーバでの
動作を想定しているため、Webサーバ、PHPバージョンは不特定です。
(PHPファイル自体を配布して使用してもらうようになっているため)
可能な限り多くのサーバで動くようにしたいです。
テストに使っている自サーバはロリポップで契約したレンタルサーバです。
LinuxでWebサーバはApacheですが、バージョンはどこで見るのか……
PHPはver.4.4.6だそうです。
ただこの自サーバではうまく動作していて、問題は相手サーバなのですが、
相手サーバのほうの環境は把握できていません。
これで回答お願いできないでしょうか?
793:ID出します
08/05/01 00:41:35 Qhoj/T/S
処理を指定した行かラベルに飛ばしたいのですが、どうすればいいのでしょうか?
A地点
echo "A地点を通過"
B地点
echo "B地点を通過"
C地点
echo "B地点を通過"
というプログラムで、A地点の中にC地点までジャンプさせる命令をしたいんです。
794:nobodyさん
08/05/01 00:48:19
>>792
サーバのバージョンが違うだけでそうそうプログラムが180度違う処理をすることなんてないんじゃない
PHPのバージョンなら4にあわせてコード書くとかマジッククォートの設定の有無に左右されないようにコードを書く
あとglobalなんとかってやつは対応するかしないかはあらかじめ決めたほうが良い
で、問題1のファイルが削除できない件は、ローカルでファイルを作ってそれをサーバにアップしたら削除できるんじゃない
795:nobodyさん
08/05/01 00:51:31
>>783
よくわからんけど、そういうときは対象のファイルの<body>タグのスグしたあたりに
以下を出力してデータを確認してみれ
echo "<pre>";
echo "ポストデータ";
print_r($_POST);
echo "セッションデータ";
print_r($_SESSION);
echo "</pre>";
796:nobodyさん
08/05/01 00:55:13
>>793
HSPのgoto文みたいなことがやりたいのかわからんが
switch ($_POST['key']) {
case "a":
a();
break;
case "b":
b();
break;
case "c":
c();
break;
}
function a() {
echo "aの処理";
}
function b() {
echo "bの処理";
}
function c() {
echo "cの処理";
}
797:789
08/05/01 00:55:17 0ps46wqd
>>791
ID:itZeUQTn?のことでしょうか?
すいません、証明は出来ませんがそれは私ではありません。
失礼いたしました。
PHP 5.2.3 CLI
Windows XP SP2
以上の環境で
mb_internal_encoding('UTF-8');
mb_http_output('cp932');
ob_start('mb_output_handler');
setlocal(LC_ALL, 'Japanese_Japan');
とした場合、
strftime('%a');
とすると日本語での曜日が出力されるのですが
strftimeの出力がsjisになっているようで文字が化けてしまいます。
strftime -> (1. sjis) -> mb_output_hander -> (2. utf8) -> 出力
※2. の部分で化ける
strftimeの出力する日本語文字コードを変更したいのですが
どのようにすればよいのでしょうか?
また、変更は出来るのでしょうか?
798: ◆butDCCtu7M
08/05/01 00:56:04 LcM9SKUi
>>794
回答ありがとうございます。
サーバのバージョンはさほど気にしなくてもよいということですね。
コードはPHP4に合わせて書いております。(テスト環境もPHPはver.4.4.6)
問題1の件は>>788の最後で書いてあるように、想定はしているのですが、
利用者が操作せずに行えるのならそうしたいとの要望があり、プログラム上で
実現できる可能性を質問した次第です。
読解力がなくて申しわけありませんが、「globalなんとか」っていうのは
どの部分への回答でしょうか?
799:nobodyさん
08/05/01 00:59:19
cp932ってsjisを拡張したものだから・・
800:nobodyさん
08/05/01 01:02:13
>>790
設定ファイルがなんの設定ファイルなのかわからないけど
PHPからは、環境変数からどこまでの権限を自分が持ってるかを
知る事はできても権限を越えることは無理だから無理。
出来ることは、環境変数しらべて、条件があわなかったら
お使いのサーバーは条件を満たしておりませんのエラーで終了。
801:nobodyさん
08/05/01 01:03:12
>>797
あとできないことはないが変換ライブラリなんか利用したほうが楽
rubyだとこんなやつ
URLリンク(jp.rubyist.net)
802:nobodyさん
08/05/01 01:06:56
>>798
ファイルをサーバ側で作るんじゃなくて、ローカルからサーバにうpしたほうがいいよ
803:nobodyさん
08/05/01 01:08:00
>>797
mb_internal_encoding('UTF-8');
mb_http_output('cp932');
ob_start('mb_output_handler');
setlocal(LC_ALL, 'Japanese_Japan');
の条件ならcp932で出力されるのは当たり前だと思うけど?
なんでutf-8で出ると考えてるの?
804: ◆butDCCtu7M
08/05/01 01:08:34 LcM9SKUi
>>800
回答ありがとうございます。
無理ですか……残念です。
問題1の方はftpでのアップロードで行うことにします。
805:nobodyさん
08/05/01 01:10:02 Qhoj/T/S
>>796
なるほど、switchを使うんですか。
ありがとうございました。
806:789
08/05/01 01:13:56 0ps46wqd
>>799
はい、それは把握しています
>>801
出来ないことはないとはどういうことでしょうか?
大元の定義ファイルがあり、それの文字コードを変換してからコンパイルし直す
といった類のやり方でしょうか。
動的に変更出来ないのであれば諦めますが
可能性があるならヒントでも頂けると助かります。
>>803
mb_output_handlerの部分で ( utf8 -> cp932 ) 変換が掛かるのですが
strftime からの出力は cp932 なので
cp932をutf8としてcp932に変換するので文字が化けてしまいます。
書き方がわかりにくかったですね。
すいません。
>>798
4.2.0以前ではデフォルトでOnになっている設定のことだと思われます。
URLリンク(php.benscom.com)
807:789
08/05/01 01:29:22
ああ、わかりました。
windowsだと日本語のロケールが一つしかないんですね。
Unix系だとja_JP.SJISなりeucJPなりUTF-8なりで対応すると。
ありがとうございました。
808:nobodyさん
08/05/01 01:31:33
>>806
つiconv
これでできなければそれ以外のやりかたは知らない
809:nobodyさん
08/05/01 02:03:18
今更なのですがピュア中部の2ショットで、ログが残せて管理者が確認出来るタイプのCGIを探してます。
配布終了になってサイトも無いので、お持ちの方はいらっしゃらないでしょうか?
# 2SHOT-RIGHT v1.02 (フレーム専用、sjis用) <FreeSoft>
#
# by RIGHT URLリンク(herz.pobox.ne.jp)
# Original Script "2SHOT-CHAT version 4.1"
# By RESCUE www.rescue.ne.jp
これを今使ってるのですが、前メッセージが残っていたりと微妙に使いにくいのです。
ほかに2ショットでチャットログを残せるタイプのものは無いでしょうか?
810:nobodyさん
08/05/01 03:02:47 jmqAlJjw
携帯サイトでよくあるPHPのログインをどうやったら破れるか考えて
いるのですが、外部からログファイルを取得するしか方法はありませんか?
811:nobodyさん
08/05/01 04:18:34
>>810
犯罪に荷担してしまう可能性のあるご相談はお受けすることができません
ご了承ください
812:nobodyさん
08/05/01 07:41:32
$a = 0;
class HOGE
{
var $a = $a;
}
これって通らないの? なんで? クソ言語過ぎない?
813:nobodyさん
08/05/01 07:45:31
お前は何を言ってるんだ
814:810
08/05/01 08:49:53 Bd+Jl0DJ
>>811
それでは1つ教えてください!
自分なりには入力された文字をテキストファイルなどの形式でサーバーに送って
それをログファイルと比較しているのかなと思ってます。
それでサーバーにアクセスするにはどうすればいいのか
アクセスしたところで拒否されないだろうかと考えています。
この仮説は正しいですか?
815:nobodyさん
08/05/01 08:55:45
犯罪に荷担してしまう可能性のあるご相談はお受けすることができません
ご了承ください
816:nobodyさん
08/05/01 08:58:50 Bd+Jl0DJ
>>815
しつこくて申し訳ありません。他人に頼らず自力で勉強するしかないということですね。ありがとうございました。
817:nobodyさん
08/05/01 13:04:01
>>816
私怨たっぷり3流クラッカーさんですね、わかります
818:nobodyさん
08/05/01 13:28:42
一応書いておきます
ブルートフォースアタックをかける結論に至ると思いますが、
対象サーバのアクセスログに著しく情報が残る+その結果対策もとりやすいため、
パスワード解析以前にすぐバレてお縄になってしまうでしょう
したがって、潔く諦めることをお勧めします >>816
819:nobodyさん
08/05/01 13:56:12
ID:Bd+Jl0DJよ
貴様が厨房であることは分かったからさっさとこのスレからうせろ
820:nobodyさん
08/05/01 14:18:34
>>812
これは釣りだよな?どの言語のクラスでもこんな書き方しないだろ。
821:nobodyさん
08/05/01 15:31:12
動的にクラスを生成するのをよくやる言語や環境ならやるかも。
822:nobodyさん
08/05/01 18:33:46
質問がないとひまだお
823:nobodyさん
08/05/01 19:13:28
うーん、いまのとこないw
824:nobodyさん
08/05/01 19:38:05
じゃ質問置いておきますね
スレリンク(php板)
825:816
08/05/01 19:42:34 Bd+Jl0DJ
自己解決しました。なんとかサーバーにアクセスしてもcryptされていたらダメなんですね。
やっとこの関数の重要性を理解しました。
結局ブルートフォースしかないんですね。
826:nobodyさん
08/05/01 19:44:59
>>825
未来の犯罪者乙
827:816
08/05/01 20:06:55 Bd+Jl0DJ
怒られない程度に遊びたいだけで、三流クラッカーにさえなれない厨房です。
828:nobodyさん
08/05/01 20:07:19
>>827
死ねクソガキ
829:nobodyさん
08/05/01 20:15:14
4桁パスワードの掲示板で、手動で総当りアタックでもやればいいじゃない
830:nobodyさん
08/05/01 20:19:19
URLリンク(sankei.jp.msn.com)
831:nobodyさん
08/05/01 20:21:37
まだいたのですね…
ブルートフォースアタックについて補足します
昨今の Firewall は統合型のものが多く、
侵入検知、自動防御などの機能が同居していることがほとんどです
外部から調査しても一見すると Firewall がないように感じる場合がありますが、
Stelth 機能を使って Firewall を隠蔽するような、無いように振る舞っているだけです
したがって、どこの企業、組織、レンタルサーバ類でも確実にログが採取されており、
ブルートフォースのようなことをしかければ確実に足跡を追跡できると覚えておいてください
つまり、潔く諦めることをお勧めします >>816=825
832:nobodyさん
08/05/01 20:23:17
まあ、やらせといて捕まってもらえるほうがうれしいけどね
厨房は生きる価値ないから
833:nobodyさん
08/05/01 20:26:49
4桁のパスワードか。
数字10個、アルファベット26個×2(大文字小文字)で62個の場合で考えると
総当りで14776336パターン。
俺が作ったシステムは、一回のパスワード認証で
一秒ウェイトを入れているから最悪でも171日で突破できるな。
記号も考慮すると1年ぐらいか。
だから何?といわれても困るがw
834:nobodyさん
08/05/01 20:55:07
短時間に認証エラーを繰り返したIPはブラックに自動登録、
以降のアクセスは警視庁・インターポールにリダイレクトしてる漏れは天才。
835:nobodyさん
08/05/01 21:05:11
>>833
そういうのが Firewall にとっては最も検知しやすかったりします
スレ違いな話題だし、問題児はそろそろネットワーク板にでも誘導するか…('A`)
836:nobodyさん
08/05/01 21:18:32
最近はログイン条件にパスの他にプロバイダ入れるのが主流だな。
国内の特定のプロバイダからしかアクセスできないようにしておけば
万が一の時もすぐタイーホ。
銀行なんかは重要な手続きは携帯からやらせて、
端末ID使ってる所もあるね。
837:nobodyさん
08/05/01 22:44:33
主流・・・なのか?
838:nobodyさん
08/05/01 23:10:15
ログイン情報って無駄なものを入れないためにいつも1っていれて判断してたけど
プロバイダいれるメリットは?
839:nobodyさん
08/05/01 23:36:23
主流かどうかは知らんが、アカウントに許可IPアドレスを設定するのは普通にある
メジャーなプロバイダならログもちゃんと管理してるだろうから、パスワード漏れ等でログインされても
追いやすいって話じゃね
つうか1で判断ってセッションハイジャック防止とかノーガードか?
840:nobodyさん
08/05/02 00:09:18
国内の特定のプロバイダからしかアクセスできないようにする
大変すぎだろ?
海外からのアクセスなんて当たり前にあるし、
プロバイダが増えたり減ったりしたらどうするんだ?
個人ブログじゃないんだしさ。
841:nobodyさん
08/05/02 00:09:57
>>839
セッションハイジャックおこるの?
842:nobodyさん
08/05/02 00:16:59
>>840
認証ページ(ディレクトリ)だけにアクセス制限をかければいいだけですよ
843:nobodyさん
08/05/02 00:32:23 ESOY+ESo
うまくすりぬける人はパスワードなんか無視してURLをゲットするの?
844:nobodyさん
08/05/02 00:53:26
>>842
だからそれじゃ特定のプロバイダ人しか
認証できないだろ。
それに悪意のある人間が日本国内から
アタックしたらどうするんだ?
意味無いじゃんか。
845:nobodyさん
08/05/02 01:39:52 71gb5g2D
遅レスだけど
>>654
えー!!!!こんなことできんの!?
プログラムはCから覚えた俺には強烈な型柔軟性に吃驚だよぅ
846:nobodyさん
08/05/02 01:47:50
おまえらプログラムもいいがたまにはオンゲーでもしようぜ
対人がおもしろいMMOだから遊びにおいで
ロストオンライン
スレリンク(mmo板)
847:nobodyさん
08/05/02 02:11:59
>>846
なんでチョンゲーなん?
848:nobodyさん
08/05/02 02:27:27
C言語でも、同じようなことはできるがな。
849:nobodyさん
08/05/02 02:28:24
>>845
ほんとにCやった?