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

このエントリーをはてなブックマークに追加
628147
すみません
phpの配列について質問があります。

前のページで
<input type="hidden" name="20051218133001" value="1">
のhtmlタグのフォーム(POST)で飛ばし、下の記述で表示させようとしましたがエラーが出てしまいます。

if($_POST['20051218133001']){
print<<<EOM
<table>
<tr>
<td valign="top">$_POST['20051218133001']<td>
</tr>
</table>
EOM;
}

エラーは
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/***/***/***.php on line 5
と出ます。

ifの後の$_POST['20051218133001']は普通に処理しているのですが、
print<<<EOMの中の$_POST['20051218133001']が引っかかっているみたいです。
試しに後者を$_POST[20051218133001]と書くと普通にエラー無く表示されます。
次に前者も$_POST[20051218133001]とするとエラーは出ないのですが
ifの条件分岐に入ってくれません。

どなたかご指導よろしくお願いします。
629147:2005/12/21(水) 13:57:27 ID:N7x21G0G
ちなみに環境はレンサバ(さくらインターネットスタンダードプラン)
サーバOSはUNIX系OSのFreeBSDを使用しているそうです。
PHP のバージョンは 4.3.10 です。

よろしくお願いします。
630614:2005/12/21(水) 13:57:38 ID:???
動いています。

それどころか、
session

Session Support => enabled
Registered save handlers => files user eaccelerator

Directive => Local Value => Master Value
session.auto_start => Off => Off
session.bug_compat_42 => Off => Off
session.bug_compat_warn => On => On...

mysql

MySQL Support => enabled
Active Persistent Links => 0
Active Links => 0
Client API version => 4.0.26
MYSQL_MODULE_TYPE => external
MYSQL_SOCKET => /tmp/mysql.sock...

ときちんと動作もしています
631nobodyさん:2005/12/21(水) 14:03:21 ID:???
>>628
なんかどっかで見かけたような。。
原因はヒアドキュメントの中でどこからどこまでが変数なのかが
PHPの中の人が判断できなくなっている、つーことだから、
{ } を使って明確にしてあげればよい。
{$_POST['20051218133001']}
632619:2005/12/21(水) 14:38:45 ID:???
>>630
お手上げです。

eAcceleratorの読み込みをやめて Warning が出てこなくなるなら eAcceleratorの
せいだろうし、そうじゃないなら session.so と mysql.so に問題があるんじゃないかと。
後は error_reporting = E_ALL にしたらもっと詳しいメッセージが出てこないかな?
633nobodyさん:2005/12/21(水) 14:40:00 ID:ybikX0hy
movable type3.2をphp化したのですが、
phpのUTF-8を指定するには、どうすればいいですか?
htmlの場合は、
.htaccessに
AddType "text/html; charset=UTF-8" html
ですが、
phpの場合は、
AddType "text/html; charset=UTF-8" php
とするだけで良いのでしょうか?
サーバは、xreaです。
よろしくお願いします。
634nobodyさん:2005/12/21(水) 15:27:38 ID:???
>>628
文字列(ヒアドキュメントを含む)の中で配列変数を書くときは
{$変数名['キー']} と書かなきゃいけないことは
マニュアルに明記されてる。
II言語リファレンス 6章「型」 参照のこと。
635nobodyさん:2005/12/21(水) 15:29:50 ID:???
>>633
<?php
header("Content-type: text/html; charset=utf-8");
echo "Hello world";
?>
636nobodyさん:2005/12/21(水) 15:31:31 ID:???
>>635
それは違うんでねーの。

>>633
とにかくここ嫁。
http://jp2.php.net/manual/ja/ref.mbstring.php
637nobodyさん:2005/12/21(水) 15:35:07 ID:???
PHPにてデッドリンクのチェックを判定する際にはどのように判定しているのでしょうか?
タイトルに404などの文字が含まれているとかで判定するなんてことはないですよね。
638nobodyさん:2005/12/21(水) 15:35:47 ID:???
Charsetを指定してヘッダーを送信したいんじゃないの?
iniのdefault_charsetがクリアされてなきゃデフォで送信されるけど
639nobodyさん:2005/12/21(水) 15:36:51 ID:???
>>637
レスポンスヘッダー見ろよ
640nobodyさん:2005/12/21(水) 15:42:49 ID:???
>>639
それはどのように見るのでしょうか?
641nobodyさん:2005/12/21(水) 15:47:06 ID:???
>>640
レスポンスヘッダー
でぐぐれば分かるだろ。
642nobodyさん:2005/12/21(水) 15:55:24 ID:???


php5なら
get_headers
643nobodyさん:2005/12/21(水) 16:02:51 ID:???
>>641
>>642
ありがとうございました。
644nobodyさん:2005/12/21(水) 18:44:32 ID:???
まぁまぁ
645nobodyさん:2005/12/21(水) 19:22:32 ID:???
指定のフォルダ内にどのような拡張子が存在するのかを調べる場合、
どのような正規表現を書けばよいですか?

index.html
top.htm
frame.htm
top.jpeg
icon.gif
1.css
2.css

例えば↑のファイルがある場合、
↓の結果を返すようにしたいのです。
.html
.htm
.jpeg
.css
646nobodyさん:2005/12/21(水) 19:24:57 ID:???
.*(\..*)
647nobodyさん:2005/12/21(水) 19:59:31 ID:???
アスタリスクって。
648614:2005/12/21(水) 21:34:35 ID:???
報告です。
eAccerelator0.9.4-rc1 -> 0.9.3
にしたら正常通り動きました。

いろいろありがとうございました。
649619:2005/12/21(水) 22:54:58 ID:???
>>648
そか。良かった。
おつかれさん。ノシ
650nobodyさん:2005/12/22(木) 01:56:27 ID:???
>>645
while($file = readdir($dp)) {
if(preg_match('/(\.[^.]+)$/', $file, $match)) $list[$match[1]] = '';
}
$extlist = array_keys($list);
651nobodyさん:2005/12/22(木) 08:20:36 ID:???
>>645
正規表現使わなくても
$parts = pathinfo($file);
$ext = ".".$parts['extension'];

$pos = strrpos($file, ".");
$ext = ".".substr($file, -$pos);
652nobodyさん:2005/12/22(木) 09:12:08 ID:???
>>651
下のやつは
$ext = strrchr($file, ".");
だと一発だね。
653nobodyさん:2005/12/22(木) 10:01:11 ID:???
ファイル一覧をどう拾ってくるかにもよるけど、
「.」とか「..」とかのディレクトリ名を除外した方がいいかも。
あと、Windowsユーザには馴染みがないかもしれないが、
「.htaccess」みたいにファイル名が「.」から始まる場合は
普通はこれは拡張子とは言わない。

頭1文字目が「.」なファイル名を最初に除外しとくと
この辺が一発で解決するな。
654628:2005/12/22(木) 10:08:50 ID:ua9mUh2b
>>631
>>634

解決しました。どうもありがとうございました〜。
655nobodyさん:2005/12/22(木) 12:23:30 ID:???
ぬるぬるぽっぽ
656nobodyさん:2005/12/22(木) 14:05:22 ID:lB13zr56
webalizer以上の機能のアクセス解析作ろうと思ったら
おまえらならどれくらい時間必要?
657nobodyさん:2005/12/22(木) 14:17:50 ID:???
>>656
webalizer以上の機能 つーのが何を指してるのか分からん。
658nobodyさん:2005/12/22(木) 14:23:55 ID:???
萌え系のアクセス解析とかあったら
面白いけど、これはデザインの問題か
659nobodyさん:2005/12/22(木) 14:33:57 ID:???
背景にでじこのエロ絵でも表示しておけ。
660nobodyさん:2005/12/22(木) 14:57:25 ID:???
>>656
データマイニングとかやろうとしたら恐ろしい時間が。

>>658
萌え系って機能的には他のより劣ってるよな。

>>659
でじこは萌えない。
661nobodyさん:2005/12/22(木) 15:03:10 ID:???
>>660
朝倉音夢
662nobodyさん:2005/12/22(木) 15:30:25 ID:???
>萌え系のアクセス解析とかあったら

世界的に需要はあるだろうな。
ただゲームと同じで、日本では萌え=漫画、エロからはみ出せないから、
韓国人が先にやりそう
663nobodyさん:2005/12/22(木) 15:59:47 ID:???
<ヽ`∀´>萌え業界はウリが完全征服するニダ
664nobodyさん:2005/12/22(木) 18:53:21 ID:8W5z4hv+
C言語のatexitの様に、終了すると実行される関数を用意することは出来ますか?
ignore_user_abort(0) で終了されたときに、実行したい処理があるんです。
665nobodyさん:2005/12/22(木) 19:00:27 ID:???
>>664
C言語に詳しくないのだけど、デストラクタのこと?

ttp://www.php.net/manual/ja/language.oop5.decon.php
666nobodyさん:2005/12/22(木) 19:01:34 ID:???
register_shutdown_function
667nobodyさん:2005/12/22(木) 19:04:59 ID:???
おお、はじめてみた。
面白そうな関数だな。
668664:2005/12/22(木) 19:16:33 ID:???
有り難う御座います!
解決しそうです。
669nobodyさん:2005/12/22(木) 19:34:14 ID:???
質問です。

<html>
<?php
if ( ) {
echo "テスト1<br>";
} else {
echo "テスト2<br>";
exit;
}
echo "テスト3<br>";
?>
</html>

上記のような場合 if が真のときは期待通りの出力をしてくれるのですが、
偽のときは exit; 以降が出力されません。(当たり前だと思いますが)
<?php ?> から抜け出し、</html>まで出力させるにはどうすれば良いでしょうか?

Googleなどで検索しまくったけど分かりませんでした。お願いします。
670nobodyさん:2005/12/22(木) 19:37:10 ID:???
exitを無くす
671669:2005/12/22(木) 19:49:24 ID:fg4VrG6a
>>670
exit; なくしたらテスト3も出力されますよね?
関数のように return; でも駄目だろうし(元々用途が違うと思うけど)


真の時
<html>
テスト1<br>テスト3<br>
</html>

偽の時
<html>
テスト2<br>


これを</html>(正確には ?> 以降)まで出力させるにはどうすれば。
672nobodyさん:2005/12/22(木) 19:57:44 ID:???
>>671
テスト3が if()条件に左右されるものなら、
テスト1と同じ if() { } の中に含めるか、
テスト3の部分で 再度if() すればいいのでは?
673nobodyさん:2005/12/22(木) 19:59:08 ID:???
>>671
<html>
<?php
if ( ) {
echo "テスト1<br>";
echo "テスト3<br>";
} else {
echo "テスト2<br>";
exit;
}
?>
</html>
674nobodyさん:2005/12/22(木) 19:59:17 ID:wNhRz1jC
テスト3を真の方で処理
675nobodyさん:2005/12/22(木) 19:59:31 ID:lB13zr56
$var = "私の苗字は山田、名前は太郎です\n私の苗字は山田、名前は次郎です";

ここから山田と太郎や
山田と次郎を抜き取って変数に入れるグッドなアイデア(または関数)を
教えてください。
676nobodyさん:2005/12/22(木) 19:59:45 ID:???
>>673
あ,exit消し忘れ
677nobodyさん:2005/12/22(木) 20:00:21 ID:???
>>675
マルチバイト関数
678nobodyさん:2005/12/22(木) 20:13:39 ID:???
つmb_ereg系
679nobodyさん:2005/12/22(木) 20:18:13 ID:01Hk6ZHq
もしくは性器表現
680669:2005/12/22(木) 20:21:23 ID:fg4VrG6a
すんません。沢山レスもらいましたが言葉足らずだったようで・・・


実際には条件式が多数にあり、その中のいろんな場所でexit;を使用しています。
主にエラーの時にエラー文を出力して exit; させていまして
フォームに入力されたデータが全て正しいとき(テスト3の場所に該当する)
MySQL接続して処理などをしています。


エラー文を function error() {} 等でまとめて処理する方法も考えましたが
error処理の最後で exit; させると結局同じだし・・・
681nobodyさん:2005/12/22(木) 21:04:46 ID:???
>>680
出力させないだけで、処理自体は走って良いのなら。
<html>
<?php
if ( ) {
echo "テスト1<br>";
} else {
echo "テスト2<br>";
$ob = ob_start();
}
echo "テスト3<br>";
if($ob) ob_end_clean()
?>
</html>
682nobodyさん:2005/12/22(木) 21:06:21 ID:???
>>680
で、処理そのものが走っちゃダメなら。
<html>
<?php
if ( ) {
echo "テスト1<br>";
} else {
echo "テスト2<br>";
$err = 1;
}
if(! $err) {
echo "テスト3<br>";
}
?>
</html>
683nobodyさん:2005/12/23(金) 11:19:05 ID:???
>>669
処理部分丸ごと関数にしてreturn;でいいんじゃないか?

<?php
hoge();
function hoge() {
if($error) {
return;
} else {
echo "fubafuba";
}
}
?>
</html>
684nobodyさん:2005/12/23(金) 11:29:20 ID:???
>>682のようにフラグ($err)を立てる事が多いんじゃないかねぇ。
PHP5だと 例外をthrowするのがおしゃれらしいけど。
685nobodyさん:2005/12/23(金) 11:45:06 ID:???
HTMLにドメインロジックなんかが入ってる時点でおしゃれとかそういう次元じゃなくなってるよ
686nobodyさん:2005/12/23(金) 14:40:52 ID:???
だね。HTML出力の中で処理分岐なんてさせんなよ。
主コードとデザインは分けろ。
デザインの中に入れていいロジックはデザイン切り替えのための判定だけだ。
687nobodyさん:2005/12/23(金) 14:45:09 ID:???
ま、でも元質問者の意図は、HTML出力は関係なくて、

入力処理1
入力処理2
入力処理3
入力処理4
全ての入力処理がTRUEで実行する処理
入力処理の結果に関わらず実行する処理

という構成をシンプルに書く方法の模索だと思うけどね。
それを下手にHTMLやechoで例を書いたから叩かれる。
688nobodyさん:2005/12/23(金) 16:01:50 ID:???
$var = "ab.0 cd.a bb.2 abc0";

$varから「ab.数字」という文字列を取ってくるにはどうすればいいでしょうか?
(この場合、ab.0です)
正規表現で preg_grep("ab.[0-9]", $var);
としたいところですが、.が正規表現として認識されてしまい、
abc0まで取得してしまいますよね?
正規表現にもエスケープとかあるのでしょうか?
689nobodyさん:2005/12/23(金) 16:06:51 ID:???
"/ab¥.[0-9]/"でしょ
690nobodyさん:2005/12/23(金) 16:09:31 ID:???
>>688
正規表現なのは"/ab[0-9]/"側であって、$var側は関係ない。
正規表現のエスケープ方法もあるが、この質問はそれ以前に理解が足りてない。
691690:2005/12/23(金) 16:12:23 ID:???
ごめん。「.」が見えてなかった。勘違い。>>689で正解。
あと「ab.」の部分が可変で何が入ってくるか分からない、みたいな場合は、
preg_match("/".preg_quote($str)."[0-9]/", $var)
とすることで自動エスケープさせられる。
692nobodyさん:2005/12/23(金) 16:16:35 ID:???
>>688
どうでもいいが、preg_grepは配列からの抜き出ししかできないぞ
693nobodyさん:2005/12/23(金) 17:56:59 ID:???
そろそろ正規表現スレに逝けや。
PHPの話じゃないし。
694nobodyさん:2005/12/23(金) 18:02:44 ID:???
>>686
{if $var}○{else}×{/if}
とかやる場合は、どうするの?
設定ファイルに
v1 = '○'
v2 = '×'
とかやっておいて、PHP側で代入しておけばいいの?
ループ処理はどうするの?
パーツごとにテンプレートを分離して処理するの?
分岐とループはHTMLテンプレートには入っても仕方ないと思うけどねえ。演算なんかは予め処理しておくべきだろうけど。
695nobodyさん:2005/12/23(金) 18:22:25 ID:???
>>694
> {if $var}○{else}×{/if}
> とかやる場合は、どうするの?
それが表示の切り替えに必要ならあっていいし、逆に表示のためのロジックが
主プログラム側に入り込んでるのも間違ってると思うな。
当然、表示のためのifやループはデザイン側に入ってて然るべきかと。
「表示」と「処理」の役割分担が分かってればレイヤー分けに迷わないんじゃ?

>>680はHTML表示の途中でDB接続の有無を切り替えてたりするのがおかしい。
696nobodyさん:2005/12/24(土) 15:28:41 ID:???
PHPを導入するにあたり、Verについて悩んでおります。

私は、環境構築サイドの人間なのですが、
セキュリティ担当の部署から環境をなるべく
変更をされるのを好ましく思われないので
大きな脆弱性がでない限り環境を変更しない(UPDATEをしない)
環境が必要となっております。

PHP4とPHP5とPEARの導入等も考慮した場合
WebProgの方々から見た場合Verはいくつが妥当でしょか?
697nobodyさん:2005/12/24(土) 15:47:08 ID:???
>>696
それはバージョンとは関係ないような...

セキュリティ担当が言うのはちまちましたセキュリティパッチなんて
当てたくねーよってこと? それとも、バージョンのメジャー番号が
変わるようなアップデートは運用ポリシー上望ましくないってこと?

前者ならそんな会社ヤヴァイし、後者ならセキュリティパッチを
ちゃんと後方互換性とか考えて作るベンダを選ぶ方が大事なのでは。
698nobodyさん:2005/12/24(土) 16:33:13 ID:???
>>696
PHPなら最新版以外選択の余地ないでしょ。
699nobodyさん:2005/12/24(土) 16:45:45 ID:???
>>696
好ましく思わないのが開発担当ならまだ分かるがセキュリティ担当?
だったらPHPの脆弱性なんてマイナーバージョンが3つも上がれば山ほど出てくるから、
ほとんど毎回アップデートしないと意味ないと思うが。
PHPを大雑把にアップデートしないってのは、WindowsUpdateをこまめにかけずに
SPが出てくるまで待ってるのに等しい。
ユーザ側ならともかくセキュリティ担当がそれじゃダメだろ。
700nobodyさん:2005/12/24(土) 20:21:14 ID:???
で、バージョンアップすると派手に動かなくなるんだよねえ。
アパッチのバージョンアップどころの騒ぎじゃない。
701nobodyさん:2005/12/24(土) 20:26:04 ID:???
昔のprintfの一件以来、バージョンアップは1ヶ月くらい様子を見てからにしてるなあ
PHPはまだ枯れていないから、心配ならperlとかにするしか無いな
702nobodyさん:2005/12/24(土) 20:39:48 ID:???
>>700
そーそー。だから、普通はセキュリティ担当はアップデートしたがり、
開発担当は待ってくれと止める、というパターンになるんだよね。
セキュリティ担当もアップデートするつもりがないなら
いっそ4.3.4くらいのバージョンでも全然問題ないのでは。
現行の4.4.1とか、mb_send_mail()にバグあるしさー
703nobodyさん:2005/12/24(土) 20:43:17 ID:???
ま、とりあえず現状で最大級の脆弱性が塞がってるのは
4も5もそれぞれ最新版1個しかないんだから、選択の余地は無いよね。
>>696って、今のセキュリティ状態を確認した上でこの質問してんのかね?
704nobodyさん:2005/12/24(土) 20:49:31 ID:???
>>702
>現行の4.4.1とか、mb_send_mail()にバグあるし
ちなみにどういうバグ?
705nobodyさん:2005/12/24(土) 21:03:59 ID:???
文字化けするケースあり
706nobodyさん:2005/12/24(土) 21:04:56 ID:???
あと、第4パラメータが完全に無視されてるとか。
707nobodyさん:2005/12/24(土) 21:05:22 ID:???
あぁ、なんだやっぱりPHPのバグだったのか
以前実際に起こってちょっと参った…
708nobodyさん:2005/12/24(土) 21:05:56 ID:???
思い切ってPHP3を使おうと思う
709nobodyさん:2005/12/24(土) 21:38:44 ID:???
>>708
閉じた世界ならいいんじゃね?
710nobodyさん:2005/12/25(日) 00:31:00 ID:???
華麗に進入
711nobodyさん:2005/12/25(日) 14:45:31 ID:Tho8NAOl
PHP + MySQL で複数人使用可なスケジューラーを作成していたのですが、
ログイン時に、データベースのテーブルに登録済みのIDとPWにマッチすれば認証OKで
その後、自分のスケジュールやプロフィール変更が可能という感じに作りました。

ここで問題点だと思うことを見つけたのですが、
ローカルテストのみだったので、全てのMySQL接続に root@localhost を使用していました。

前までは Perl でテキストにIDとPW保存とかしてたレベルなので気付かなかったのですが、
MySQL接続自体に各個人のID・PWを使用して管理するほうが良いのでしょうか?
712nobodyさん:2005/12/25(日) 15:00:55 ID:???
>>711
デフォルト管理ユーザのrootを普通に使ってちゃまずいだろ。
(権限変えてるなら別だが)
PHPアプリからの接続用に適当な権限を設定した
専用ユーザ作って、それ使え。
713nobodyさん:2005/12/25(日) 15:05:51 ID:???
>>709
地球上で閉じてます
ならいいですね
714711:2005/12/25(日) 15:13:50 ID:???
管理人側で予めユーザ登録しておき、POSTされたID・PWでMySQL接続する場合


$login_id = $HTTP_POST_VARS["login_id"];
$login_pass = $HTTP_POST_VARS["login_pass"];
$db_connect = mysql_connect("localhost", $login_id, $login_pass);
if ($db_connect == False) {
print ("認証失敗");
exit;
}
認証後の処理


こんな感じだと思いますが、
結局各個人のスケジュールやプロフィール編集などする場合、
その該当レコードを検索する必要があって、そこにはIDとかが必要だろうし…
ユーザごとにテーブル作成するのはありえないだろうし、


って書いてたら>>712さんキター
分かりました。予め通常のデータ操作のみ可能なユーザを作成し
ログインした人全員が、そのMySQLユーザで接続して書き込みすればいいのですか
ありがとうございました。
715nobodyさん:2005/12/25(日) 16:41:24 ID:???
>>714
勿論アプリケーシンにもユーザという概念があるのだから
アプリケーションの部分でユーザアカウント処理と
その為にデータベース(ファイルでも良いけど)に
アカウント管理用のテーブルを設けるのだけどね。
716nobodyさん:2005/12/25(日) 20:13:40 ID:WvivzG1I
さくらでcron登録したスクリプトがちゃんと動いてない
みたいなんだけど、何で?

PEARのXML_RSSオブジェクト->parseがダメなみたいっす。
ブラウザからスクリプトにアクセスすればちゃんと動くのに。
717nobodyさん:2005/12/25(日) 20:49:11 ID:???
さくらの環境が分からないのでありがちなケースだと、
実行時のカレントディレクトリが違うんで相対パスがこけてるとか。
718nobodyさん:2005/12/25(日) 21:41:54 ID:hD4Vkj0e
はじめまして。

自分は現在
<?php echo "
〜〜〜
"; ?>

で、phpでホームページを作っているのですが、そのホームページの中に
ttp://php.s3.to/simple/#short

ここの「−ショートメッセージ−」という物を取り込みたいのですが、どうすればよいのでしょうか。
普通に取り込んでも
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
とエラーが出てしまい、取り込めません。
719nobodyさん:2005/12/25(日) 21:48:35 ID:???
>>718
普通に取り込んだってのがどういう取り込み方をしたのか分からんのだが。
720nobodyさん:2005/12/25(日) 21:55:47 ID:hD4Vkj0e
>>719

とりあえず「"; ?>」から下に、そのHPにかいてる

「<?
$lines = file($logfile);//ファイルを配列に読み込む
 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
echo $lines[$i];
?>」

をかいて、メッセージボードを設置したい場所に

<td>

<form method=\"post\" action=\"<? echo $_SERVER['PHP_SELF']; ?>\">
<font face="Arial"><b>-ShortMessage- 自由に書き込んで下さい</b> <small>b,i,s,uタグ可</small></font><br>
<b>N:</b><input name=\"name\" type=\"text\" size=\"10\"
maxlength=\"10\" value=\"<? echo $_POST['name']; ?>\">
<b> : </b><input name=\"message\" type=\"text\" size=\"40\" maxlength=\"60\">
<input name=\"submit\" type=\"submit\" value=\" Send \"><br>
</form>

</td>

としてみたところ、エラーがでました。
721nobodyさん:2005/12/25(日) 22:03:35 ID:???
>>720
全然普通じゃないじゃん。

> <form method=\"post\" action=\"
この辺のエスケープから察するに、フォームのHTMLをprintか何かで出力してるのか?
だったら
> <? echo $_SERVER['PHP_SELF']; ?>
これをそのまま書いてたらダメだろ。
722nobodyさん:2005/12/25(日) 22:19:28 ID:hD4Vkj0e
>>721
すみません、ttp://php.s3.to/simple/#shortにはそう書いてありましたのでそうしてしまいました

たしかに<? echo $_SERVER['PHP_SELF']; ?> の行でエラーがでます。
どのようにすれば改善できるのでしょうか。
723nobodyさん:2005/12/25(日) 22:25:03 ID:???
PHP内でPHPの宣言しなきゃいいだけ
724nobodyさん:2005/12/25(日) 22:36:53 ID:hD4Vkj0e
>>723
なるほど、ありがとうございます。
じゃあttp://php.s3.to/simple/#shortに書いてある方法と同じですね

そのページにかいてある方法では、

使用するページの拡張子を.phpにして、<?include("short.php");?>を挿入します。

と書いてありますが、 「<?php echo "」内に「<?include("short.php");?>」を書くとエラーが起きてしまいますが、
725nobodyさん:2005/12/25(日) 22:44:11 ID:???
>>724
何故echo内に書く?
726nobodyさん:2005/12/25(日) 22:49:49 ID:hD4Vkj0e
>>725
http://php.s3.to/tt/tt2.php

このページの真ん中にかいてある、
「<?php echo "<html><body text=\"#ffffee\" vlink=\"#ddaa55\">"; ?>」〜〜〜

を参考にしました。「<?php echo」内にHTMLを書いています。

それで、ttp://php.s3.to/simple/#shortには、「<?include("short.php");?>を挿入します。 」
と書いていたからです。
727nobodyさん:2005/12/25(日) 22:56:42 ID:???
<?php 〜 ?>内に書かれているHTMLと
(<?php 〜 ?>外の)HTML内にある<?php 〜 ?>では意味が違う。
この辺の基本的な事を理解していないから変な事を書いているのでは?

そもそも元のページは<?php echo"〜"; ?>しか無いのか?
それで何でわざわざPHPで実行する?
728nobodyさん:2005/12/25(日) 23:06:53 ID:WvivzG1I
>>717

あ、cronに限らず、telnetでコマンドラインから実行してもダメでした。
$xmlrss->parse();とするとxml_rss objectが生成されている(print_rで確認)ので、
PEARのRSS.phpは読み込めてると思うんですが。。ただ、

[_error_class] => XML_Parser_Error

という値が入ってるのを発見。しかもRSSファイルに入ってる
データは全く取得できてないし。なんじゃこら。

コマンドラインから実行すると、外部サーバーのファイルに
アクセスできないとか?
729nobodyさん:2005/12/25(日) 23:12:14 ID:hD4Vkj0e
>>727
ページはindex.phpです。
そこに<?php echo"〜"; ?>を最初と最後にかいて、「〜」にHTMLを記述しています。
730nobodyさん:2005/12/25(日) 23:15:36 ID:???
>>729
だから「echoの中のHTML」に<?php 〜 ?>は置けないんだってば。
ちょっと初心者用のphp本買ってきて最初から勉強しなさいな。
731nobodyさん:2005/12/25(日) 23:20:15 ID:hD4Vkj0e
>>730
すみません、連休明けの休日にマジメに本買います。

では、「<?php 〜 ?>」が置ける「HTML」の記述ができるphpの記述方法はあるのでしょうか?
732nobodyさん:2005/12/25(日) 23:21:57 ID:WvivzG1I
最初と最後の<?php と ?>を取れば多分行けるんじゃない。
それより俺の質問に答えてくれ(笑)

コマンドラインは何が違うんだぁぁ
733nobodyさん:2005/12/25(日) 23:23:07 ID:???
>>731
そんな記述が必要なプログラミング内容を考えろ
734733:2005/12/25(日) 23:24:31 ID:???
「考え直せ」の方が適切だったか。
735nobodyさん:2005/12/25(日) 23:24:59 ID:WvivzG1I
ああ、最初のechoも取らないとダメだから、

最初:<?php echo"
最後:"; ?>

を取る。他に問題が無ければそれでHTMLの中のPHP部分は動くはず。
736nobodyさん:2005/12/25(日) 23:30:28 ID:hD4Vkj0e
>>みなさん

最初:<?php echo"
最後:"; ?>

を取ったところ、無事解決しました。ご協力ありがとうございます!メリークリスマス!11
737nobodyさん:2005/12/25(日) 23:31:09 ID:???
>>732
コマンドラインっつーか、実行権限とパーミッションの関係とか言う話じゃあるまいな
738nobodyさん:2005/12/25(日) 23:32:13 ID:???
>>736
遅いよw
739nobodyさん:2005/12/25(日) 23:35:18 ID:???
PHPの4.3を使用してます。
関数の戻り値として クラスのインスタンスの参照を返したいのですが
可能でしたらその方法、もしくはキーワードを教えていただけませんか?

// サンプル
function GetInstanceOfFoo()
{
  static $foo;
  $foo = new Foo();
  return $foo;
}

// ↓のようなことがしたい
GetInstanceOfFoo()->SetName("山田 太郎");

以上よろしくお願いします。
740nobodyさん:2005/12/25(日) 23:38:54 ID:???
そもそも配布元では、*.htmlに設置する場合のケースを書いているのに、
それを(意味のない)*.phpのページに設置しようとして、
そのまま適用しているので辻褄が合わなくなってる

(全体をechoで囲んでいるくだりを見るに)自分では応用しているつもりなのかも知れんが、
基本がなっていないのであくまでも「つもり」であって、実際は破綻している状況なのは
分かってるのかな・・・?
741nobodyさん:2005/12/25(日) 23:47:21 ID:???
>>728
ちょっとコマンドラインから実行した状態でphpinfo()を出力してみた方がいいかも。
Web上で実行したときとPHPの設定がどっか違ってない?
742nobodyさん:2005/12/25(日) 23:48:48 ID:???
>>739
マニュアル嫁 ボケナス
743nobodyさん:2005/12/25(日) 23:49:59 ID:???
>>740
うーん。まー、*.htmlに記述する場合、って言い方も間違ってると思うけどな。
<? include() ?>は少なくとも動かないといけないんだし、PHPである必要はある。

ただ、PHPはその中にそのまんまHTMLを書けるのに、わざわざ全体を
<?php 〜 ?>で括ってPHPコード化する必要なんて無かったってだけのことなんだよな。
744nobodyさん:2005/12/25(日) 23:59:20 ID:WvivzG1I
>>741

あ、PHPのバージョンは違ってますね。
PHP Version 4.4.2-devを使うように指定しているはずなんですが、
4.3.10になります。
745nobodyさん:2005/12/26(月) 00:02:49 ID:???
>>744
パスの優先度が低いんだろうな。
746nobodyさん:2005/12/26(月) 00:07:50 ID:Zw5jS3w7
パスの優先度。。(ポカーン) <= 素人

ちなみにパーミッションは755。
747nobodyさん:2005/12/26(月) 00:12:45 ID:???
>>742
もう少し自分でがんばって見ます。
お気を悪くしたようでしたら申し訳ございません。
748nobodyさん:2005/12/26(月) 00:15:53 ID:???
>>746
クライアントじゃどうしようもないとオモ。

PHP4.4.2-devの絶対パスが分かるならそれで起動してみれ
749nobodyさん:2005/12/26(月) 00:18:35 ID:???
>>745
#!でphpをフルパス指定してるんじゃないのか?優先度が絡みそうなのはPEARくらいかと。
その4.4.2-devと4.3.10って自分でインストールしたやつ?それともサーバー管理者?
2種類入ってる意図と、その使い分けがどうなってるのかが気になる…。
4.4.2側のCLI版phpを#!のとこで指定できれば解決できそうな気もするんだが。
他にphp.iniの内容が違ってないのなら、という条件は付くかもしれないけど。
750nobodyさん:2005/12/26(月) 00:24:41 ID:Zw5jS3w7
*PHP 4.4.2-dev(開発版) 提供のお知らせ*
http://www.sakura.ne.jp/news/archives/20051118-003.news

との事なので、4.4.2-devの絶対パスは分からないっす。
と言うか、これはバージョンの問題?って、そうか、fopenとかの設定?
ちょっと見てみる。
751nobodyさん:2005/12/26(月) 00:31:09 ID:???
逆にこれ、Web版を4.3.10で動かしてみれば?って感じだな。
それで動くなら、Web版は.htaccessで設定をローカル変更してると見たが。
752nobodyさん:2005/12/26(月) 00:39:09 ID:Zw5jS3w7
>>751

Web版を4.3.10で試す => 実行成功

もしや振り出し?
つーか、phpinfo()って、戻り値1なんだけど(笑)。
これの出力をトラップしてファイルに落とすのはどうしたら
良いのか分からず、今phpinfoチェックできず中。。
753nobodyさん:2005/12/26(月) 00:42:50 ID:Zw5jS3w7

疲れた。
カフェオレ飲んで一息つくぞチクショー!
754nobodyさん:2005/12/26(月) 00:50:09 ID:???
リダイレクトすりゃいいだけの話だと思うのだが
755nobodyさん:2005/12/26(月) 00:57:19 ID:???
>>739
結論から言うと出来ない。
常に一端何らかの変数に入れてからアクセスしれ。
756nobodyさん:2005/12/26(月) 01:12:09 ID:???
リモートホストからドメイン部分だけ抜き出すいい方法おしえてください
正規表現だけですべてに対応っていうのは厳しいですかね
757nobodyさん:2005/12/26(月) 01:17:58 ID:???
>>756
いや、http://の後に「/」が出てくるまでの文字列抜き出せば良いだけの話だと思うが。
正規表現スレ行けば即効で答え返ってくると思われ。
758nobodyさん:2005/12/26(月) 01:22:27 ID:???
漏れならとりあえずparse_url()を試すかな
759nobodyさん:2005/12/26(月) 01:24:02 ID:???
>>754

スクリプトはブラウザから指定できない
場所に置いておきたいので、リダイレクトは微妙。

760nobodyさん:2005/12/26(月) 01:29:46 ID:???
>>759
phpinfoの結果を知りたいんじゃないの?
だったらリダイレクトしてFTPで引っ張ってくれば良いじゃない。何が微妙なんだ。
761nobodyさん:2005/12/26(月) 01:40:05 ID:Zw5jS3w7
あ、cronでウェブ版にリダイレクトしろって事かと。
phpinfoをリダイレクトするってどういう事っすか?
762nobodyさん:2005/12/26(月) 01:43:06 ID:???
>>761
シェルで「>」付きで叩くか、ob_関数使えば?
何か変なところで無知だな。
763nobodyさん:2005/12/26(月) 01:47:20 ID:???
>>761
cronに書くときに
スクリプト > 出力ファイル名
って書いときゃいいかと
764nobodyさん:2005/12/26(月) 01:48:05 ID:Zw5jS3w7
>>762

>シェルで「>」付きで叩くか、ob_関数使えば?
>何か変なところで無知だな。

独学なんで、良く言われる。
そっかシェル使えば簡単だ。PHPでやろうと思ってた。

お陰様でphpinfo()は取得できたので(有難う)、
次は設定内容をチェックしてみる。
765nobodyさん:2005/12/26(月) 01:59:00 ID:???
allow_url_fopenはONだし、他の設定もphp.ini通り。
phpのバージョンが古い以外は同じみたいっす。

何か長引いてしまってるけど、付き合ってくれてる人有難う。
766nobodyさん:2005/12/26(月) 02:08:45 ID:???
>>763

いや、cronからphpinfo()は見ないっす(笑)。
767nobodyさん:2005/12/26(月) 02:10:49 ID:???
ひとまずPEAR使わないで、fopen辺りでどっかのサイトの中身を拾えるか試してみるってのは?
768nobodyさん:2005/12/26(月) 02:21:35 ID:???
携帯サイトを作っています

クッキーの使えない携帯のためにセッションを
URLに埋め込む方式を取っているのですが
マニュアルに書いてある通りこれは危険なので
(SIDを埋め込んだURLを他人に教えてしまった時など)
これとは別にDBにSIDとIPの対応表を作って
セキュリティを確保しようとしました。

これは良さそうだと思ったのですが、実装してみて
問題に気づきました。
なんと携帯はアクセスごとにIPが変わってしまうのです。
なのでアクセスごとに同じ人か判別する事が不可能になってしまいました。

セッションを使う際にこれを解決する方法って何かありませんでしょうか。
おねがいします。
769nobodyさん:2005/12/26(月) 02:45:49 ID:???
>>767

これだと、google.comは表示されないです。
ただ、ブラウザから実行しても表示されないので・・
何かやっちゃってます?深夜でボーっとしてきた。

<?php

$file = 'http://www.google.com/';
$f = fopen($file, "r") or die("openエラー");
$string = fread($f, filesize($file));
echo "fopen_check<br>".$string;
fclose($f);

?>

770nobodyさん:2005/12/26(月) 02:49:19 ID:???
>>769
やっちゃってるな
771nobodyさん:2005/12/26(月) 02:51:20 ID:???
やっちゃってますか。
772nobodyさん:2005/12/26(月) 02:58:03 ID:???
filesize()がURL相手に使えるのはPHP5だけええぇぇぇぇぇ!!
773nobodyさん:2005/12/26(月) 02:59:23 ID:???
>>768
au/vodafonは無条件で固体識別文字列を送ってくるこれをつかえ。
DoCoMoは公式サイトなら固体識別文字列をとれる。勝手サイトだと確認アリでとることが出来る。
774nobodyさん:2005/12/26(月) 08:53:25 ID:???
>>773
正確さに欠ける
75点
775nobodyさん:2005/12/26(月) 09:31:53 ID:???
>>704
亀レスだけどココにまとまっている。

最近の mbstring 関係のバグのまとめ
http://d.hatena.ne.jp/t_komura/20051105#1131202088
776nobodyさん:2005/12/26(月) 09:32:33 ID:???
>>773
vには送らない機種もある。
777nobodyさん:2005/12/26(月) 10:24:49 ID:IgYuuYFO
ここでいいのかわかりませんが
今jpgraphを使っているのですがy軸のタイトルに日本語を使用したら
きちんと表示はされるのですが後ろの文字から上になってしまいます。
なにか対処法等あるのでしょうか?
ちなみにwindows phpは4.4.1です。
778nobodyさん:2005/12/26(月) 10:34:09 ID:???
>きちんと表示はされるのですが後ろの文字から上になってしまいます。

ここの意味がわからん。もう少し具体的に。
779nobodyさん:2005/12/26(月) 11:16:43 ID:IgYuuYFO
>>778
あぁ、すみません。

テ      ト
ス   →  ス
ト      テ

っていう感じになってしまうのです。
780779:2005/12/26(月) 11:17:41 ID:IgYuuYFO
↑ すいません、横のズレは関係ないです^^;
781nobodyさん:2005/12/26(月) 11:47:09 ID:???
>>777
文字列を逆順にすればいいんじゃね?>対処法
782777:2005/12/26(月) 11:51:06 ID:IgYuuYFO
>>781
ま、まぁそうなんですけど・・。
ありがとうございました。
783nobodyさん:2005/12/26(月) 11:54:10 ID:???
784777:2005/12/26(月) 13:14:15 ID:IgYuuYFO
>>783
色々すいません、ありがとうございます。
785nobodyさん:2005/12/26(月) 13:43:42 ID:nKfhQ7EH
モジュール版でのインストールや動作は、今まで問題なくやってきたのですが、
今回CGI版で動作させたいと思って、PHPのインストールからやり直してます。

./configure with-apx2=/usr/local/sbin/apxs \
--enable-cgi \
--enable-force-cgi-redirect \
〜〜〜あといくつかオプション〜〜〜

make install clean

こんな感じでインストールした後、httpd.confに
Action php-script /cgi-bin/php
Addhandler php-script .cgi .php
と追記し、apacheを再起動しました。

そして、
#!/usr/local/bin/php
<? echo "hello!"; ?>
とだけ書いた test.phpというファイルを作成してブラウザでアクセスすると、
#!/usr/local/bin/php hello!
という具合に、#!/usr/local/bin/php から表示されてしまいます。
ファイルの拡張子を.cgiにすると、そのようには表示されません。

拡張子が.phpの場合、インタプリタ言語として認識される前に、
先にモジュール版のPHPとして処理されているからだと思うのですが、
これは回避しようがないのでしょうか?

OSはFreeBSD5.4R Apache2.05で動作させています。
786785:2005/12/26(月) 13:46:00 ID:nKfhQ7EH
書き忘れで追記です。

モジュール版とCGI版の両方を使えるようにし、
どちらも拡張子はphpで動作させたくて、
ファイルの1行目にバイナリへのパスがある場合は、CGI版として動作させたいということです。
787nobodyさん:2005/12/26(月) 14:03:39 ID:???
>>786
おいおい同じ拡張子でできるわけないだろ
788nobodyさん:2005/12/26(月) 14:06:14 ID:???
>>786
ディレクトリ単位で切り替えるか、バーチャルホスト単位で切り替えるか。
789nobodyさん:2005/12/26(月) 14:11:19 ID:???
>>787
やっぱりできなくて当たり前なんですね・・・
それが当たり前なのかどうかが分からなくて(死)
すみません。

>>788
その手がありますね。
cgi-binとか作って、そこだけで動作とかですね。
ヒントありがとうございます。
790nobodyさん:2005/12/26(月) 14:41:09 ID:???
重たい処理をさせたかったのでsystem関数をしようして
処理用のPHPをバックグラウンドで動かし引数を与えたいのですが
どのように引数を渡し・受け取ればいいのでしょうか?
791nobodyさん:2005/12/26(月) 15:04:39 ID:???
>>790
PHPのマニュアルのエロイとこはUserNotesという形で有用なコメントがあることだぬ
その話も載ってるよ。
ttp://jp2.php.net/manual/ja/function.system.php
792nobodyさん:2005/12/26(月) 15:33:28 ID:???
>>791
ありがとうございます
エロイ人がとっても参考になりました
793nobodyさん:2005/12/26(月) 18:24:27 ID:D+i6TPIN
関数から帰ってきたArrayの要素に直接(変数代入なしで)アクセスする方法ってないですか?

$array = ReturnArray();
$array[1]
と同じことを、イメージ的には
ReturnArray()->[1]
って感じでやりたいのでつが。
794nobodyさん:2005/12/26(月) 18:35:02 ID:???
>>793
要はReturnArray()[1]ってやりたいんでしょ。
PHPはそういうのできないんだよね。
method()->propertyができるようになったのもPHP5出てからだし。
現時点では配列の要素へのアクセスは2行に分けて書くしかないかな。
配列の要素を一気に代入するなら
list(, $hoge) = ReturnArray();
でいけるけど。
795nobodyさん:2005/12/26(月) 18:59:57 ID:???
>>793
方法はないんじゃないかね。頭と尻だけなら
array_shift()とarray_pop()で取れるけど。
どうしても欲しいならユーザ関数の方を
添え字付きでアクセスするようにするか。
796nobodyさん:2005/12/26(月) 19:41:32 ID:???
PHP5ならSPLのArrayObjectを継承して使うのがいいんじゃないかな。
797nobodyさん:2005/12/26(月) 21:37:15 ID:???
$a[0] = 1;
$a[1] = 3;
$a[3] = 1;
$a[5] = 1;
$a[6] = 8;
$a[7] = 9;

とある時に、定義されてない$a[2]、$a[4]に空の値("")を入れて、並びもキー順にしたいのですが、今のやり方はまずforeachで回してチェックして定義されてなければ""を入れ
$a[0] = 1;
$a[1] = 3;
$a[3] = 1;
$a[5] = 1;
$a[6] = 8;
$a[7] = 9;
$a[2] = "";
$a[4] = "";
あとからキー順に並びかえてます。
$a[0] = 1;
$a[1] = 3;
$a[2] = "";
$a[3] = 1;
$a[4] = "";
$a[5] = 1;
$a[6] = 8;
$a[7] = 9;
どのキーが定義されてないか、というのと定義済みキーの値は変動します。
どなたかうまいやり方があればご教示願います。
798nobodyさん:2005/12/26(月) 22:03:45 ID:???
>>797
キーの抜けチェックはforeachで回すしかないんじゃなかろうか。
そのforeachの書き方自体は何種類かありそうだけど。
キー順並び替えは ksort($a); で一発では?
799nobodyさん:2005/12/26(月) 22:07:36 ID:???
foreachで回すのなら最後の並び替えは不要なんじゃないか?
800nobodyさん:2005/12/26(月) 22:13:54 ID:???
>>798
そうですかー、並び替えもそれでやってます。一発でぽんとやってくれる関数とか無いかなーと探してまして。

>>799
並びかえないと>>797の二番目の順番のままなのであとの処理に影響が出てしまうので…
801nobodyさん:2005/12/26(月) 22:19:36 ID:???
>>797
$max = max(array_keys($a));
for($i = 0; $i <= $max; $i ++) $a0[$i] = (isset($a[$i]))? $a[$i]: "";
$a = $a0;
802nobodyさん:2005/12/26(月) 22:32:25 ID:D+i6TPIN
>>794-796
dくす
Objectにする程でもないので2行で我慢します
行数より無駄に変数割り当てるのに抵抗あるんだが
Perl出身ですまそ
803nobodyさん:2005/12/26(月) 22:39:43 ID:???
>>801
ありがとうございます。
一回別の配列に入れて整えるわけですね。やってみます。
どうやら一発でぽんとは無理っぽいですね。ユーザ関数にして使うことにします。
804nobodyさん:2005/12/27(火) 01:08:06 ID:???
スレ違いになるかもしれませんが質問させてください。
質問の内容はパフォーマンスです。当方で「ionCube PHP Accelerator」の環境が無いので
そのパフォーマンスをJAVA(jsp)と比べた値を得たいのです。
PHPのソースは以下の通り5000までの素数を得るものです。


805nobodyさん:2005/12/27(火) 01:09:17 ID:???
<?php
// 処理開始時間を取得して表示する
list($sec1, $sec2) = explode(" ", microtime());
$start = $sec1 + $sec2;
echo 'start = '.$start.'<br>';

// 5000までの素数を算出して表示する
for($i = 2; $i <= 5000; $i++) {
$divisor = 0;
for($j = 1; $j <= $i; $j++) {
if($i % $j == 0) {
$divisor++;
}
}
if($divisor == 2) {
echo $i.'<br>';
}
}

// 処理終了時間を取得して表示する
list($sec1, $sec2) = explode(" ", microtime());
$end = $sec1 + $sec2;
echo 'end = '.$end.'<br>';

// 処理時間を算出して表示する
$elapse = $end - $start;
echo 'elapse = '.$elapse.'秒';
?>
806nobodyさん:2005/12/27(火) 01:10:30 ID:???
一方、jspのソースは以下の通りです。
<%@ page contentType="text/html;charset=Shift_JIS" %>
<%@ page import="java.util.*" %>
<%
long start = new Date().getTime();
%>
start = <%=start%><br>
<!-- 5000までの素数を算出して表示する -->
<%
int divisor;
for(int i = 2; i <= 5000; i++) {
divisor = 0;
for(int j = 1; j <= i; j++) {
if(i % j == 0) {
divisor++;
}
}
if(divisor == 2) {
%>
<%=i%><br>
<%
}
}
// 処理終了時間を取得して表示する
long end = new Date().getTime();
%>
end = <%=end%><br>
<!-- 処理時間を算出して表示する -->
elapse = <%=(float)(end - start) / 1000%>秒

807nobodyさん:2005/12/27(火) 01:12:05 ID:???
当方の環境(Pen4 3GHz 1GRAM)ではPHPの方は10秒くらいで、jspは0.3秒くらいです。
単純に考えて、演算パフォーマンスを見ればJAVA(バイトコードをキャッシュするから当然と言えば当然)なのですが、PHPの開発効率も捨て難いです。
そこで、アクセラレータの機能を実感してみたいのですが、手元に10台あったPCが全部取り押さえされて
しまって無くなってしまいました。唯一あるのがこのWinXPなのです。どなたかFreeBSDでのアクセラレータの
速度を計ってもらえないでしょうか?WinXPにはionCube PHP Acceleratorが無いのです。
長くなってしまいましたがよろしくお願い致します。
ちなみに上記素数演算のソースはWEBからパクッてきたものです。
808nobodyさん:2005/12/27(火) 01:23:40 ID:???
>10台あったPCが全部取り押さえされて

何があったんだw
809807:2005/12/27(火) 01:29:27 ID:???
>>808
その辺はつっこまないでください。。
あぁ無事に年を越せるかどうか。。
810nobodyさん:2005/12/27(火) 01:39:49 ID:???
>>807
そのWinXPにFreeBSD入れりゃいいじゃん。
俺らがどっちが速いっつっても参考になるまい。
811807:2005/12/27(火) 01:43:41 ID:???
>>810
あ、そっか!!その手があったか。。灯台元暗し。。
いまからパーテション切ります。
812nobodyさん:2005/12/27(火) 01:50:52 ID:???
危険なアネハ
813807:2005/12/27(火) 01:50:57 ID:???
HDの物理ディスク量がのこり120MBしか無い。。。。
814nobodyさん:2005/12/27(火) 02:02:31 ID:???
さすがにそれはロジックがダメすぎまいか...
<?php
$start = microtime(true);
$pn = array(2);
for ($i = 3; $i < 5000; $i +=2) {
foreach ($pn as $n) {
if ($i % $n == 0) {
continue 2;
}
}
$pn[] = $i;
}
$end = microtime(true);
echo implode("\n", $pn), "\n";
printf("%d prime numbers found.\n", count($pn));
printf("%0.6fsec.\n", $end - $start);
?>
microtime(true) は PHP5 限定な。
815807:2005/12/27(火) 02:18:44 ID:???
>>814
WEBから何も考えずパクッただけだったので申し訳ない。
>>814のロジックにしたらPHPでも0.4秒まで短縮できた。
あぁ情けない俺。ロジックで躓くなんて。。
816nobodyさん:2005/12/27(火) 02:36:56 ID:???
>>807が追い込まれた理由がわかる気がする
817807:2005/12/27(火) 02:41:09 ID:???
>>816
俺も薄々自分で気付いてきた気がする。
818nobodyさん:2005/12/27(火) 10:50:07 ID:hzIZknsD
レンタルサーバーを借りてPHPのプログラムを作ってるんですが
利用しているサーバーはGDライブラリでJPEGをサポートしていないようです。
gd
GD Support enabled
GD Version bundled (2.0.28 compatible)
GIF Read Support enabled
GIF Create Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled
これをJPEGも使えるように自分でGDライブラリをインストールする事は出来ますか?
やはりサーバー管理者にお願いするしかないのでしょうか
819nobodyさん:2005/12/27(火) 10:51:34 ID:???
>>818
できるかどうかそのレン鯖にきいたほうがはやいだろ
820nobodyさん:2005/12/27(火) 10:53:36 ID:???
821nobodyさん:2005/12/27(火) 12:39:05 ID:???
jpegってライセンスが必要じゃなかったけ? gifだったかな?
822nobodyさん:2005/12/27(火) 12:45:05 ID:???
>>821
gifは特許切れた
その後GIF Createが追加された
823818:2005/12/27(火) 13:44:39 ID:???
レン鯖から回答が来ました。
ダメみたいですね。対応検討中とか言われた。
お騒がせしまして申し訳ありませんでした。
824nobodyさん:2005/12/27(火) 18:52:39 ID:???
レン鯖がGDライブラリサポートしない理由が分からん。
利点しかないだろうに
825nobodyさん:2005/12/27(火) 18:53:45 ID:???
>>824
やたら主記憶を食うから。
826nobodyさん:2005/12/27(火) 19:45:26 ID:???
>>824
無節操にCPUパワー食うスクリプトを入れるバカがいるから
827nobodyさん:2005/12/28(水) 00:08:12 ID:???
jpgって圧縮を伴うからね。
あと訴訟対策も有るんじゃね?
828nobodyさん:2005/12/28(水) 00:34:59 ID:???
ねーよ
829nobodyさん:2005/12/28(水) 00:53:05 ID:???
最近PHPをやり始めたものです。
PHPでタグのセレクトボックスから選んだものを変数に格納して
それを使用したいのですが,選択した瞬間,そのセレクトボックスのフレームを読み込んで
してしまい,選んだものを初期化してしまいます。
選択したものの値を保持したいのですがどうしたらいいでしょうか?
ヒントなり頂ければ幸いです。
830nobodyさん:2005/12/28(水) 00:56:01 ID:???
>>829
???
セレクトボックスのプルダウンから何か選んだ瞬間に読み込みが起きる?
HTMLの書き方そのものが間違ってない?
831nobodyさん:2005/12/28(水) 02:15:39 ID:???
>>829
とりあえずヒント
<?
$no = $_REQUEST["selbox"];
?>
<html><body>
<form action="<?=$_SERVER["PHP_SELF"]?>">
<select name="selbox">
<option value="1"<?=($no==1)?" selected":""?>>1</option>
<option value="2"<?=($no==2)?" selected":""?>>2</option>
<option value="3"<?=($no==3)?" selected":""?>>3</option>
</select>
<input type=submit value="送信">
</form>
</body></html>
832nobodyさん:2005/12/28(水) 07:26:24 ID:???
同じ質問ばっかり。HTMLだがテンプレに入れとけ。
833829:2005/12/28(水) 08:26:53 ID:???
レスありがとうございます。
曖昧で小出しな聞き方でスマソ。
PHPからのHTMLタグでセレクトボックスの中身を指定しているのでおっしゃるとうりだと思います。
やってみます。
834nobodyさん:2005/12/28(水) 09:50:13 ID:OPhVlmGD
http://lowlife.jp/yasusii/stories/8.html#sample%20autodiscovery
のdiscover_tbのように対象urlからtrackback:pingを抜き出す関数を
提供しているライブラリをご存知の方いらっしゃいませんか?
blog提供側の問題で
変な方言や提供方法がありそうで在りものが在れば使いたいのですが・・・
835nobodyさん:2005/12/28(水) 09:54:29 ID:???
変な方言や提供方法があるの? どこのblogよ?
836nobodyさん:2005/12/28(水) 10:21:40 ID:OPhVlmGD
文がわかりにくくてすんません「ありそうで」です。無いなら無いで
どっちでも良いんですが(て自分で作るならどっちでもよくないか・・・)
837nobodyさん:2005/12/28(水) 11:54:31 ID:???
>>833
君の質問は小出しなんじゃなくWebプログラムの基本を理解して無いだけ。
文章からしておかしい。
838nobodyさん:2005/12/28(水) 11:57:02 ID:???
>>834
そのまま移植すればいいじゃん
839nobodyさん:2005/12/28(水) 12:59:29 ID:???
ttp://jp2.php.net/ftp
FTP経由でファイルを削除したいのですが、
グッドなアイデアはないでしょうか?
ftp_exec()使うしかないですかね・・・
840nobodyさん:2005/12/28(水) 13:00:55 ID:???
>>814
continue 2;
はどういう意味ですか?
841839:2005/12/28(水) 13:01:02 ID:???
間違えますた、削除→作成でした
842nobodyさん:2005/12/28(水) 13:12:03 ID:???
>>840
実行してみ。
843nobodyさん:2005/12/28(水) 13:13:06 ID:???
>>840
つ [ マニュアル ]
844840:2005/12/28(水) 13:13:30 ID:???
マニュアルに書いてありました、ごめんなさいorz
845nobodyさん:2005/12/28(水) 14:02:22 ID:???
846nobodyさん:2005/12/28(水) 18:10:36 ID:jQi1GXdb
HTML_QuickFormのaddElementのコードを
HTMLから生成するスクリプトとかってないですか?
847nobodyさん:2005/12/28(水) 18:17:03 ID:???
CGI化してsuexec、以外で指定したユーザ権限でコマンドを
実行させるグッドアイデアないでしょうか?
848nobodyさん:2005/12/28(水) 18:23:45 ID:???
>>847
suexecって確かディレクトリ指定してあるはずだから、それ以外の場所におけば良いのでは?。
849nobodyさん:2005/12/28(水) 18:31:13 ID:???
>>848
質問の意図を勘違いしてる希ガス
suexec使えば指定ユーザ権限でのコマンド実行ができるのは分かってるが、
それ以外の方法で同様の状態にする方法は無いのか?と問うてるんじゃないの?
850847:2005/12/28(水) 18:34:04 ID:???
>>849
そのとおりです
>>848
説明不足ですまんです
851nobodyさん:2005/12/28(水) 18:44:28 ID:???
外部に公開しないhttpdをユーザ権限で動かしてリバースプロキシかますとか?
852nobodyさん:2005/12/28(水) 20:35:15 ID:???
>>847
無い。あってたまるか。
853nobodyさん:2005/12/28(水) 20:51:30 ID:???
safe_mode_gidとかどうなんだろう?
854nobodyさん:2005/12/28(水) 20:54:59 ID:???
>>853
safe_modeはあくまでapache権限でどこまでやるかの話だからな
855nobodyさん:2005/12/28(水) 22:22:40 ID:???
>>852
setuidされたラッパを用意すればもちろんできるんじゃない?
ま、グッドアイデアではないが。
856nobodyさん:2005/12/29(木) 00:21:52 ID:???
どっかにユーザ権限でPHP実行させるapache拡張みたきがする
857nobodyさん:2005/12/29(木) 02:10:23 ID:???
そこまでして穴あけたくないしなぁ
858nobodyさん:2005/12/29(木) 09:09:32 ID:???
apache2.1にはなんか実装されるんじゃなかった?
859nobodyさん:2005/12/29(木) 10:04:20 ID:???
>>858
PHP 側でその apache2 の機能の利用はまだオススメできないって
話だったはず。

諦めて cgi にして fastcgi とか使ったらいいんじゃねーのと思うけど、
自分で試したことない。
860nobodyさん:2005/12/29(木) 11:35:54 ID:???
cgiにすると負荷が(w
861nobodyさん:2005/12/29(木) 12:18:37 ID:???
>>859
ユーザの数だけphpのfastcgiインスタンスを走らせておくというのも
なんだかかっこわるいなぁ。

しかもsetuidされたラッパプログラムを自前で用意する羽目になるし、
なんかやだ。
862nobodyさん:2005/12/29(木) 12:53:42 ID:???
CGIで動かすのが嫌ならmod_php+safe_modeでも問題ないように作るしかないっしょ。
863nobodyさん:2005/12/29(木) 18:08:20 ID:???
それならJava常時起動にするね。php捨てに成る。
apacheは独自modでスルーさせるだけ。
864nobodyさん:2005/12/29(木) 19:20:49 ID:???
jsp使えるレンタルサーバーって多いの?
865nobodyさん:2005/12/29(木) 19:23:06 ID:???
最近はVPS多いし、自分で入れるべ
866nobodyさん:2005/12/29(木) 19:32:53 ID:???
みんなそんなに鯖に金使ってるとは思えない
867nobodyさん:2005/12/29(木) 21:49:56 ID:???
みんなって言われてもなぁ・・・。
必要なやつは金使ってるってだけの話じゃないのか?
868nobodyさん:2005/12/29(木) 21:59:06 ID:???
早い話が軽くてユーザー権限で動くものないかって話なんじゃ?
私も前にそれ考えた事あるし
869nobodyさん:2005/12/29(木) 23:11:14 ID:???
個人レベルでmod_phpをユーザー権限で動かす必要ってそう無いと思うのだけど
870nobodyさん:2005/12/29(木) 23:15:25 ID:???
関係ないけど、たまに出てくるPHPやるならJavaやるっていうのは
個人で使うのみってこと?仕事では使用しないって事なのかね。
仕事だったら、小中規模案件だと圧倒的にPHP、Perlが占めるけど、Java案件以外の中規模案件なんか受注しないポリシーとか?
Java覚えられるなら、PHPなんか結構すぐに覚えられると思うけど、わざわざ捨てる理由が見つからない。
871nobodyさん:2005/12/29(木) 23:26:04 ID:???
>>870
わざわざ捨ててるって言うか、java使って満足な人が
他の言語に手を出す理由が無いってだけの話でしょ。
逆もそうだし。
872nobodyさん:2005/12/29(木) 23:45:46 ID:???
そもそも共有レン鯖って静的ファイルを置く所だし。
動的にページ生成したければ、占有鯖か自前鯖で弄りたい放題でしょ。
873nobodyさん:2005/12/30(金) 01:20:29 ID:???
>>872
なんだその決め付け
874nobodyさん:2005/12/30(金) 01:21:34 ID:???
>>871
ただphpで満足しちゃうと他に移行する時に辛いんだよなー
875nobodyさん:2005/12/30(金) 04:45:27 ID:???
バージョンアップの度に動作の問題出るのに、phpに満足ってめでたいなあ。
876nobodyさん:2005/12/30(金) 05:08:43 ID:???
PHPに満足してるのは長く仕事をするプロの開発者ではなく、
毛が生えた素人を大量に安く使い潰せる依頼主だから。
877nobodyさん:2005/12/30(金) 05:13:54 ID:???
PHPだろうがJavaだろうが一つの言語で満足するような奴はプロとは言えん罠
878nobodyさん:2005/12/30(金) 10:33:25 ID:???
Javaは満足出来るよ。新バージョンのインスコも簡単だし。OSとかCPUとか関係ない。
879nobodyさん:2005/12/30(金) 10:44:59 ID:???
PHPもそのレベルじゃ大差ねーし
880nobodyさん:2005/12/30(金) 11:19:27 ID:???
うざい
881nobodyさん:2005/12/30(金) 11:52:00 ID:???
>>875
バージョンアップの度ってそりゃ問題出すぎだろw
どんなコーディングしてんだ
882nobodyさん:2005/12/30(金) 11:55:09 ID:???
ここ最近のアップデートに限定して言えば、毎回おかしくなるmb系のバグは確かに酷かったな
883nobodyさん:2005/12/30(金) 13:24:42 ID:0FfWwbS6
PHPでセレクトボックスから入力した日付で、今日より前(過去)はエラーにしたいです。
一応希望通りの動作はしてますが、かなり変ですよね?(;´Д`)
こうしろよみたいなのありましたらご教示よろしくお願いします。



$today = getdate();

if ( $today[year] > $input_year ) { error(); } // 過去はエラー
elseif ( $today[year] < $input_year ) {} // 未来はOK
// 以下同年
elseif ( $today[mon] > $input_month ) { error(); } // 過去はエラー
elseif ( $today[mon] < $input_month ) {} // 未来はOK
// 以下同月
elseif ( $today[mday] > $input_day ) { error(); } // 過去はエラー

// 存在しない日はエラー
if ( !checkdate($input_month, $input_day, $input_year) ) { error(); }
884nobodyさん:2005/12/30(金) 13:51:27 ID:???
>>883
epoc値(1970/1/1からの秒数)に直して比較すれば一発。
その前に書式はチェックしないといけないけど。
885nobodyさん:2005/12/30(金) 13:57:28 ID:???
>>883
年/月/日ごとに異なるエラーを出すのでないなら、
まとめてタイムスタンプの大小で現在より過去を判定した方が良いんじゃないか。
タイムスタンプの性質とmktimeの動作を確認して、自分の仕様に適うかどうかだな。

886nobodyさん:2005/12/30(金) 16:58:33 ID:???
date("U")ね。
あと関係ないが連想配列[]内はクォーテーションで囲みましょう。["hoge"]
887nobodyさん:2005/12/30(金) 18:12:49 ID:???
「ユーザー権限で動く」にこだわる理由はなんだろう?
それ以外の方法でもあれこれ組み合わせれば結構セキュア
(他の人のスクリプトやデータに干渉しないよう)に
できると思うんだが。
888nobodyさん:2005/12/30(金) 18:52:17 ID:???
ユーザー権限なんてレン鯖以外関係ないし
889nobodyさん:2005/12/30(金) 20:53:24 ID:5CV6IiV6
yahooメールのページをfopenかなんかで取得したいのですが
認証部分はどうすればよいのでしょうか?

googleで5時間探したけどわかんね。。
890nobodyさん:2005/12/30(金) 20:59:33 ID:???
>>883
別に難しく考える必要はなし。
if(date("Ymd") < "{$input_year}{$input_month}{$input_day}"){
   echo 'Error!';
   exit();
}
※$input_yearは4桁西暦、$input_month $input_dayはあらかじめ2桁に整形済みのこと
891nobodyさん:2005/12/30(金) 21:05:51 ID:???
こっちのがスマートやないか
$input_year.$input_month.$input_day){
892nobodyさん:2005/12/30(金) 21:13:33 ID:???
>>889
どんなやり取りをしてるのかパケットスキャナ等で見ればいいんでね?
893nobodyさん:2005/12/30(金) 21:47:34 ID:???
>>890-891
$input_monthや$input_dayが一桁だった場合におかしなことになるからsprintf("%04d%02d%02d",ってやらないとまずくない?

>>889
ページってことはHTTPってこと?だったらfsockopenでクッキーとかも送ってやればいいだけ。
HTTPSに関してはOpenSSLを導入する方法があったようななかったような。
あとPearにもHTTPクライアントあるし。もしくはcurl使うとか。
つーかメールだったらIMAP系の関数使ったほうが早いかもね。
894nobodyさん:2005/12/30(金) 21:50:05 ID:???
>>886
なにその顔。
895893:2005/12/30(金) 21:54:30 ID:???
>>890
すまん。ここ読んでなかった。
> ※$input_yearは4桁西暦、$input_month $input_dayはあらかじめ2桁に整形済みのこと
896nobodyさん:2005/12/30(金) 21:54:46 ID:???
>>890-891
「あらかじめ整形しておく」などの事前前提は意外とバグを産み易い。
速度的にシビアな場面じゃないのなら安全策を取った方が不慮の事故を防げるかと。
if(date("Ymd") < sprintf("%04d%02d%02d", $input_year, $input_month, $input_day)){
897nobodyさん:2005/12/30(金) 21:55:17 ID:???
あら。かぶった。
898nobodyさん:2005/12/31(土) 00:25:14 ID:NCoXT252
Win2k Apache2+PHP Ver4.4.1 の自宅鯖でPHPのブログ
ttp://www.netmania.jp/cgi/blog/ の#001 を動かそうと思い入れたんですけど
PHPがERRORばかり吐いて動きません。
試しに、無料のレンタル鯖にうpして動かしてみるとすんなり動きました。
鯖の設定がだめなのかPHPのスクリプトがおかしいのか・・・
宜しくお願いします。
レンタル鯖に設置したやつ[未改造]
ttp://freshgreens.jp.land.to/blog/index.php
自鯖のやつ[多少弄った]
ttp://aozoraxp.dip.jp/blog/index.php
PHPのinfo
ttp://aozoraxp.dip.jp/phpinfo.php
899nobodyさん:2005/12/31(土) 00:33:08 ID:???
>>898
レン鯖においてOKならおまいのローカル環境がおかしいとしか思えないが、
エラー見るに根本的に何かが間違ってるっぽいし改造って何したのとか
わからんから何とも言いようがありません。
900nobodyさん:2005/12/31(土) 00:36:57 ID:???
>>898
php.iniのerror_reportingの値がでかすぎるかも。
E_NOTICEまで有効にされちゃってる気がする。
901898:2005/12/31(土) 00:38:53 ID:???
改造って言うかエラー出たところを自分なりに直してみたりです。
例えばif ($_SERVER[REQUEST_METHOD] == 'POST') だとエラーでるので
’’を付け加えてif ($_SERVER['REQUEST_METHOD'] == 'POST')にしたとかです。
それ以外は特になにもしてません
902900:2005/12/31(土) 00:39:58 ID:???
今の値が2047だからE_ALL設定になってるね。
一般的なデフォルト値はE_ALL & ~E_NOTICEのはずなのでこれで設定してみて。
903900:2005/12/31(土) 00:41:23 ID:???
>>901
それはこのblogの作者が悪いわ。
904898:2005/12/31(土) 00:44:58 ID:???
今php.iniの設定を少し変えてみました。
error_reporting = E_ALL; display all errors, warnings and notices
この行をコメントアウト(;)してみました。
するとだいぶblogらしくなってきました。
コメントアウトじゃまずいですかね?
ほかにphp.iniの設定方法あったらご教授ください
905nobodyさん:2005/12/31(土) 00:48:01 ID:???
test
906898:2005/12/31(土) 00:48:37 ID:???
>>902 さんの言うとおりにphp.iniの
error_reporting = E_ALL & ~E_NOTICE の;を外しておきました。
これで一般的なデフォルト値になりましたでしょうか?
907900:2005/12/31(土) 00:54:41 ID:???
>>906
2039になったからいーんじゃないのかな。
Windows用のphp.iniってE_ALLがデフォルトなんだろうか。
それとも4.4.0以降はE_ALLに変更されたとか?

あとなんか上に1個出てるエラーは設定項目不足みたいね。
csslistの設定が入ってないとエラーになるようだ。
なんかエラーチェックがいいかげんなプログラムだなぁ。
908898:2005/12/31(土) 00:57:56 ID:???
>>907
まだひとつだけエラーでちゃいますね。
csslistの設定ですか・・・
ちなみにmain.phpの206行目は
// CSSリスト生成
$num = 0;
foreach($conf[csslist] as $list){  ←この行です
$csslist .= "<option value=\"$num\">".$list[1]."</option>";
$num++;
}
なにか対処方法ってありますかね?
909nobodyさん:2005/12/31(土) 01:04:57 ID:???
>>908
csslistを設定してやるっつーのはダメなの?
blog/conf.phpの116行目
// CSSリスト - 別に設定しなくてもいいような気もします。CSSジャンキー向け。
$conf[csslist] = array(
array("./style.css","基本スタイル"),
array("./style2.css","黒スタイル")
);
の部分でしょ。

ま、「設定しなくてもいいような」と書いといて、設定しなかったらエラーになるのは
そのプログラムがヘタレなせいだと思うけどね。
910898:2005/12/31(土) 01:11:36 ID:???
>>909
たぶん俺が元々foreach($conf_csslist as $list)ってなっていたやつを
foreach($conf[csslist] as $list)に変えたからだと思いますw
今conf.phpの116行目
// CSSリスト - 別に設定しなくてもいいような気もします。CSSジャンキー向け。
$conf_csslist = array( これを
$conf[csslist] = array( このように[]に変更してやったら
エラーがとれて正常に動作するようになりました。
どうもありがとうございました。
911nobodyさん:2005/12/31(土) 17:38:32 ID:+rnbwxav
http://ameblo.jp/takuya/entry-10007539342.html

この人がPHP5のオブジェクトは参照渡しではないと言っているのですが
本当でしょうか?
912nobodyさん:2005/12/31(土) 17:44:44 ID:???
つーか、2003年4月のβ仕様に今更突っ込むバカはどこのどいつですか
913nobodyさん:2005/12/31(土) 18:07:13 ID:???
cloneとかあの辺はβから正式リリースまでにかなり仕様が変わったからね。
なんせ、本家Zendのサンプルコードですら修正されてなくて間違ったままになってるくらいw
赤マンモス本でも初版では旧仕様のコードで説明されてたりした。

PHP5でのオブジェクト代入の動きの説明に関してはここなんてどう?
ttp://www.shigeweb.jp/php/project_p/?section=php5oop&page=substitution
> 「$agent_hodenasu = $hodenasu;」の結果、「変数$agent_hodenasu」が、
> PHP4では代入元のオブジェクトのクローン(コピー)になっていたのに、
> PHP5ではリファレンスの様な、でも違う代理人の様なものになったなぁという事を理解できたと思います。
> でも実際はリファレンスです(え?)。「変数$agent_hodenasu」は「変数$hodenasu」のリファレンスですが、
> 完全なリファレンスではないのです。
914nobodyさん:2005/12/31(土) 18:09:35 ID:???
元記事の先頭に書いてある注意書きをスルーしてまで指摘ですか。
(正月にはまだ早いけど)おめでたいですね。
>なお今回紹介する内容は、2003年4月22日時点でCVSに登録されているバージョンに基づいていることをお断りしておく。
>正式リリースまでの間に、言語仕様が若干変更される可能性もないわけではない。
915nobodyさん:2005/12/31(土) 18:13:15 ID:???
>>911
まあPHPのマニュアルでは「リファレンス」という言葉を一貫して&による参照の意味(=エイリアス)で使っているから、その限りでは「オブジェクトの参照渡しではない」という言い方もできるかもね。
ただ、よく言われるPHP5のオブジェクトの参照渡しってのは、一般に言う値渡しとの対比としての参照渡し(=コピーせずに同じオブジェクトを参照させる)のことでしょ。
916nobodyさん:2005/12/31(土) 18:13:21 ID:???
腐敗してるのはこいつの脳みそw
917nobodyさん:2005/12/31(土) 18:18:16 ID:???
β仕様の話をするとnamespaceの話題で荒れるのでやめて(><)
918nobodyさん:2005/12/31(土) 18:23:52 ID:???
おまいが持ち出さなければ荒れなかったのに
919nobodyさん:2005/12/31(土) 18:57:27 ID:???
>>914
それより、そんな古い記事を今更になって読んでることの方が痛いよね。
920nobodyさん:2005/12/31(土) 19:49:17 ID:???
ググる先生に「php5」でお伺いをたてると、そのatmarkitの記事が一番最初にヒットするんだよね。
おいらもphp4からphp5に移行する時に、「php4の知識があれば、本とか買わなくてもいけるべ」と、
検索にヒットするページを片っ端から読んでた時に見た記憶があるよ。
まぁ、「嘘を嘘と見抜けないようでは(ry」って感じだね。
921nobodyさん:2005/12/31(土) 20:52:30 ID:???
つーか911のページは釣だろ
釣サイトに釣ページがあっても・・・え?
922nobodyさん:2005/12/31(土) 23:32:43 ID:???
検索で上位にヒットするページを書き捨てるなと。
雑な仕事してんじゃねーよということだな。
923nobodyさん:2005/12/31(土) 23:35:25 ID:???
こいつ小山さんの名前も見たことなかったんだろうな。
924nobodyさん:2006/01/01(日) 02:31:41 ID:???
だれだそりゃw
925nobodyさん:2006/01/01(日) 02:44:21 ID:???
PHP4用青マンモス本の著者の1人。
PHPカンファレンスとかでよく公演してる。
WEB+DBプレス他、技術雑誌の記事でもよく見かけるよ。
926nobodyさん:2006/01/01(日) 03:09:44 ID:???
>>913
後から他の型を代入することも出来る、一時的なリファレンスなんだ。
まあ後から役割を変えることなんてあんまりないから
リファレンスと考えておいてほとんど問題はないね。
927nobodyさん:2006/01/01(日) 11:46:21 ID:???
>>922
ブログの中の人乙
928nobodyさん:2006/01/01(日) 13:34:01 ID:???
漏れも小山なんて香具師はシラネ。誰それ? おいしいの?
929nobodyさん:2006/01/01(日) 14:24:18 ID:???
まあ別に人の名前なんか知らなくても良いんじゃね。
PHP関係の情報収集レベルの指標にはなるけど。
930nobodyさん:2006/01/01(日) 14:34:52 ID:???
誰がPHPを作ったのかなんて覚えてないよ ... orz
931nobodyさん:2006/01/01(日) 15:04:24 ID:???
俺だよ、俺。
932nobodyさん:2006/01/01(日) 15:18:45 ID:???
でもアンテナの感度が低いのにいいコード書けるやつってまずいないべ。
933 【1720円】 【大凶】 :2006/01/01(日) 23:10:39 ID:???
検索上位にくるページが書き捨てられていたんじゃなくて
書き捨てられたページが検索上位にきただけ。時間関係が逆
とはいえ、先を見越して注意書きが入っているのに
それを無視する人の方がよっぽど雑な事をしている気がするけど
934nobodyさん:2006/01/01(日) 23:26:36 ID:???
まぁPHP5に関するページが少ない、或いは検索で見つけにくい、つー事もあるからなぁ。
PHP5の新機能を一足先に(つまりβ仕様)紹介、ってページがヒットしすぎ。
それらを見た人は夢を抱^h^h^h勘違いしちゃうよね。
>>913のリンク先は比較的よく纏まってる方だね。
935nobodyさん:2006/01/02(月) 01:30:00 ID:???
>>934
正式リリース以降にまとめページを作ってる人があまりいない
(まだ時期尚早な面もあるしね)って状況のせいで、
βの頃の紹介記事の方が被リンク率が高くなっちゃってるんだよね。
それでいつまでもgoogleの検索で上位に留まってしまってる。
しかしそれを書き捨てとか言われても困るよなぁ。他が無いだけじゃん。

むしろ2年半も前の記事にマジ感想でクレーム書いて
> マニュアルだけはしっかりしたものを選ばないとダメだと実感する・・・
とかアホなこと言ってるのは思いっきり書き捨て以外の何物でもないと思うけど。
まずそのマニュアルの出自を確認しれと。
まともに記事の判別もできないやつが選択の必要性を語るなと。
936nobodyさん:2006/01/02(月) 01:34:47 ID:???
で、今日見たらまたそのページ ttp://ameblo.jp/takuya/entry-10007539342.html 見たら
なんか
> 追記------------------------
とかいうの増えてるのな。

> うちの環境はPHP4でした。PHP5では参照渡しだそうです。参照渡しは不便だヽ(`Д´)ノウワーン
・・・・・・・ただのバカ?PHP4とPHP5の区別もつかない人?

> PHPマニュアルより抜粋
> 例 19-3. オブジェクトの代入
(ry
> 一方でITMediaの記事。
> リスト1 参照渡しによるオブジェクトの代入
(ry
> はっきりしてくれ!!どこをどう参照してるのだ???
こんだけ何度も複数の記事を細かく見比べてて、
未だに元記事が2年半前のβ仕様紹介ということに気付いてないらしい。

> 実験するか。。。。。
> よく考えたらうちの実験環境はPHP4でしたヽ(`Д´)ノウワーン
いやもう・・・おまえPHP触るのやめた方がいいよ。
つーか誤解を世に撒き散らすのやめてくれよ、頼むから。
937nobodyさん:2006/01/02(月) 01:51:28 ID:???
言い訳たらたら乙w
938nobodyさん:2006/01/02(月) 01:52:56 ID:???
…逆ギレ?なにテンパってるの?この人。
939nobodyさん:2006/01/02(月) 01:59:02 ID:???
元々の内容で
> 参照渡しが有り得ない。変数がスコープやクラスをまたいで存在することなる。
とか書いちゃったからな。
ありえないのはお前の脳みそw
940nobodyさん:2006/01/02(月) 02:16:35 ID:???
そいつの最新記事(1/1)もなかなか香ばしいなw
ttp://ameblo.jp/takuya/entry-10007596169.html

> 注目すべきは
> var_dump(null == false) = bool(true)
> null と false の比較はtrueを返す。
当たり前だ。

> var_dump(null === false) = bool(false)
> 厳密に型を指定して比較しないとダメ。
当たり前だ。

> PHPがオブジェクト指向言語なんて書いてる本があれば捨てるべきだと思いました。
> 基本部分がオブジェクトじゃない。こんなものがオブジェクト指向言語であるわけがない。
当たり前だ。確かにそんな変な本があるなら捨ててもいいだろう。
しかし、存在しない本をでっちあげて既知の自説を力説するこいつの頭って一体w

> 付け加えるとしたら
> print( 'bool false = ');
> echo false;
> すると
> bool false =
> falseという文字列すら返しません。
> trueは文字列として返ってくる。なんででしょう?
おまえはオブジェクト指向の前にstringとintegerという
コンピュータ概論の基礎から勉強し直せ。
941nobodyさん:2006/01/02(月) 03:37:30 ID:???
結論としては
うっかりさんはブログを書かないに越したことはないと。
942nobodyさん:2006/01/02(月) 04:05:17 ID:???
本人ができる人のつもりになってるのがまた痛い
943nobodyさん:2006/01/02(月) 10:02:37 ID:???
ここでやらんとブログにコメントつけるとか、このスレのurl貼ってあげたら?

って作者さんも2ch経由のアクセスが増えてドキドキしてるかもしれんが。
944nobodyさん:2006/01/02(月) 11:44:55 ID:???
誰か突撃してくる猛者はおらんのかw
945nobodyさん:2006/01/02(月) 13:13:33 ID:???
誰か知らんが乙>コメント付け
946nobodyさん:2006/01/02(月) 16:59:41 ID:???
これがPHPクオリティー
947nobodyさん:2006/01/02(月) 18:11:42 ID:???
逃走?
948nobodyさん:2006/01/02(月) 19:01:22 ID:???
私も「2chで晒されてますよ」とコメントしたのですが、さっき
見たら記事が消されてましたね。
949nobodyさん:2006/01/02(月) 19:07:18 ID:???
記事は全消しなのに顔は消さないうっかりさんだな
950nobodyさん:2006/01/02(月) 19:48:51 ID:???
なんだ反論もせず全消しかよ。
随分軟弱な人だな。
951nobodyさん:2006/01/02(月) 20:10:27 ID:???
何も全部消さんでもええのにな。
間違いがあったら追記するなり、その部分だけ修正したらええのに。
952nobodyさん:2006/01/02(月) 20:20:44 ID:???
実にみっともないな。あれだけ妄言並べておいて全消しか。
953nobodyさん:2006/01/02(月) 22:59:11 ID:???
やりとりの中でPHP5のリファレンスの特性が明らかになったのだから
無駄死にじゃないよ。
おまいらももうちょっと優しく。
954nobodyさん:2006/01/02(月) 23:25:16 ID:???
せっかく明らかになっても ここでの話はdat氏にしちゃうんだよね(><)
blogの訂正ついでにリファレンス話をまとめて掲載してくれたらいい感じだったのになぁ。
blogのカテゴリメニューの傍にある写真を見るのが嫌でちゃんと見てなかったんだけど
HTML_Quickformあたりの話も書いてなかったっけ?
きちんとした内容だったのならもったいないなぁ。
2ch始めて結構経つけど、未だにグロ画像に慣れないや・・・
955nobodyさん:2006/01/02(月) 23:33:59 ID:???
つまり顔写真をブログに載せること自体がリスクだと。
956nobodyさん:2006/01/03(火) 00:03:16 ID:???
>>954
Janeのデフォルトモザイク機能で解決
957911:2006/01/03(火) 02:43:11 ID:0Izq+jiF
911で晒されてる本人です。香ばしい記事書いてすいませんでした。m(__)m

PHP5のオブジェクト指向がさっぱり理解出来ず苦しんでいました。

もともとはディープコピーで、値渡しだったものを、
パフォーマンス向上のためと、ああいう仕様になった。のではないでしょうか。

いろいろお騒がせしてすいませんでした。

オブジェクトの参照渡しについてに理解していることを書きます。
間違がありましたらご指導お願いします。m(__)m



958nobodyさん:2006/01/03(火) 02:52:06 ID:???
>>597
本当に本人?
ブログにそのまんま それ を書かないと認められないです。
959958:2006/01/03(火) 02:52:44 ID:???
間違えた。 >>957 でした。
960nobodyさん:2006/01/03(火) 02:57:09 ID:???
>>957
がんがれ。

昨日(1/2)のエントリーなんか興味深く見てたので勿体無いと思ってた。
ま、無理せずマターリ更新してよ。
961911:2006/01/03(火) 11:09:29 ID:0Izq+jiF
>958

本人です。ブログにそのまんま書きました。
962nobodyさん:2006/01/03(火) 13:15:51 ID:???
>>961
ちょっと読んだけどさ、根本的にオブジェクト指向っつうのを理解してないと思うよ。
設計の方法論であって、ある実装を指して言う話じゃないよ。

別にJava使って、(オブジェクト指向では無い)構造化プログラミング手法でも書けるし。
C(C++じゃ無くて)で、オブジェクト指向手法で設計する事もできる。

JavaScriptと、Javaを同じオブジェクト指向言語と括るのは違和感あるけど、(動静的オブジェクト指向の違い)
PHPと、Javaなら、別に違和感無いな。

個人的にPHPとJavaの違いは、”ちゃっちゃ”とやるか、”きっちり”やるか、くらいの差だと思ってるけど。
963nobodyさん:2006/01/03(火) 13:26:06 ID:???
そんな宗教論争チックな話はBlogのコメント欄でやれよ
ここで名無しで叩くようなことじゃないだろ
964nobodyさん:2006/01/03(火) 13:55:18 ID:???
>>962
「オブジェクト指向かどうか」は設計の方法論かもしれんが、「オブジェクト指向言語かどうか」は処理系の仕様。
とか言ってみるとどう反論するのかな?
Javaはオブジェクト指向言語。PHPはオブジェクト指向言語ではないが、オブジェクト指向をサポートしている。
その違いに違和感うんぬんはおまいの主観だな。
なのでブログの人の
> そんな理由でJavaとほぼ同じオブジェクト指向言語だと解説してる本がチョット許せなかった。
って部分には俺は同意。
そんな本は捨てるべきだ罠。
965nobodyさん:2006/01/03(火) 13:56:27 ID:???
>>957
騒いでたのは、こっちが勝手にやってたことなんで気にするな。
966nobodyさん:2006/01/03(火) 14:00:44 ID:???
Javaのように最初からオブジェクト指向前提で設計された言語と、
PHPのように後漬けでオブジェクト指向風に使おうとする言語を、
比較すること自体が間違い。
967nobodyさん:2006/01/03(火) 14:03:14 ID:???
なぜ?
968nobodyさん:2006/01/03(火) 14:48:27 ID:GNwZD414
libmysql.dll は PHPとMySQLにあるものどちらを
使うのが吉?

Apache2+PHP5+MySQL5
969911:2006/01/03(火) 14:57:39 ID:0Izq+jiF
中の人です。

>962
ちゃんと読んだ?俺は
「よく考えてみると(中略)オブジェクト指向じゃなくてJavaの言語仕様ですよね。」

と書いた。つまりそういうことなので、間違ってたのは俺の方ですしすいません。

>966
私もそう思います。
オブジェクト指向だからと言っても
入門系書籍に「Javaとほぼ同等」と書かれるとたまに違和感がある。のです。
コンパイラの最適化も無いわけですし。どこまでどう同等かを書くべきかと。そんな感じ
「オブジェクト指向言語」と「オブジェクト指向サポート」の差って大きいんじゃないでしょうか?

970nobodyさん:2006/01/03(火) 15:47:07 ID:???
>>911
もう二度と出てくるな。荒れるから。
971nobodyさん:2006/01/03(火) 15:48:24 ID:???
別に荒れてないよ。おまいのレスが一番荒れてるようだけど。
972nobodyさん:2006/01/03(火) 15:51:02 ID:???
「荒れるから」であって「荒れてるから」ではない罠
973nobodyさん:2006/01/03(火) 15:54:35 ID:???
お前が二度と出てこなければ荒れない罠
974nobodyさん:2006/01/03(火) 15:56:45 ID:???
>>911=>>971=>>973必死だな
975nobodyさん:2006/01/03(火) 15:57:13 ID:???
いや違うけど
976nobodyさん:2006/01/03(火) 15:57:58 ID:???
スルーできないやつも嵐
977nobodyさん:2006/01/03(火) 15:58:58 ID:???
>>975 じゃID出してみ。できないだろうけどプ
978nobodyさん:2006/01/03(火) 15:59:11 ID:???
そうだね。>>970さえいなければ。
979nobodyさん:2006/01/03(火) 16:00:15 ID:gu9NWpps
>>977
しょうがねーな。暇なので遊んでやるか。
980nobodyさん:2006/01/03(火) 16:00:30 ID:???
>>964
いまいちよくわからんのだが、別に争うつもりもないよ。
要は、”許せない”とか言う教条的な発想じゃ疲れるだろって思っただけで…
結局、使う人によってどうにでもなっちゃう、しちゃうって話。

>>969
うん、そこを読んだから、書いたんだよ。
オブジェクト指向ってのが”何”か、ということをきちんと理解していれば、そもそも間違えようがないから。
981nobodyさん:2006/01/03(火) 16:02:03 ID:???
>>979
だから構うなっていってるんだ馬鹿。
982nobodyさん:2006/01/03(火) 16:03:04 ID:???
>>979
串探し乙w
983964:2006/01/03(火) 16:04:45 ID:???
>>980
なんだ叩こうとしてるわけじゃなかったのか。
ただ、
> ちょっと読んだけどさ、根本的にオブジェクト指向っつうのを理解してないと思うよ。
みたいなのは叩いてるように見えてしまうよ。
ただブログの人を叩く必要はなかったんじゃないかと思っただけなので、まあそういうことなら>>980は気にしないでくれ。
984964:2006/01/03(火) 16:07:08 ID:???
スマン、アンカーミスったorz
× >>980は気にしないでくれ。
○ >>964は気にしないでくれ。
985nobodyさん:2006/01/03(火) 16:07:27 ID:???
>>980
ここでスレ違いの議論するな
議論は>>911のブログでやれ
いい加減うざいから失せろ
986nobodyさん:2006/01/03(火) 16:09:41 ID:???
>>982
今の2chで規制越えられる串見つけるほうがスゴイだろ。
987nobodyさん:2006/01/03(火) 16:11:25 ID:???
既に質問板でもなんでもなくなっちゃってるな

>>986
いくらでもあるが・・・
988nobodyさん:2006/01/03(火) 16:13:15 ID:???
>>983,985
別に議論というか…
質問スレだから、なんで勘違いしているのか答えたつもりなんだけどなぁ。

疑問があったから、ここでブログさらしてんじゃなかったのか。
989nobodyさん:2006/01/03(火) 16:14:47 ID:???
>>988
blog晒したのは本人じゃねーべ
990nobodyさん:2006/01/03(火) 16:18:40 ID:???
そろそろ次スレいってリフレッシュしますかね。
誰かお願い。
991nobodyさん:2006/01/03(火) 16:19:41 ID:???
>>989
うーんと、>>957 見たんだけど。
992nobodyさん:2006/01/03(火) 16:24:57 ID:???
>>991
>>911で"晒されている"本人」だから911って名前にしただけでしょ
読解力ない人だな
993nobodyさん:2006/01/03(火) 16:36:35 ID:???
>>992
他人を罵倒するのも良いけど、もう一度よく読みなおした方が良いと思うよ。
994nobodyさん:2006/01/03(火) 17:04:50 ID:???
>>964
どんな本だ?と思ってblog見たら「まるごとPHP vol.1」か〜なるほど。
あれは捨ててもいいぞ!w 俺が許す!ww

元々vol.1ってことで、PHPよく知らない人向けに「PHPってこんな便利なんだよ〜」って
啓蒙するための内容に偏らせたものだろ、あれ。
そりゃー、PHP3→4→5でオブジェクト指向サポートを強化(あくまでサポート強化であって
オブジェクト指向前提で再設計したわけではない)している言語なわけだから、
「だからJava並のこともできるんですよ。すごいんですよ」と自慢してるわけよ。

そんな広告文章を鵜呑みして「事実と違うー」なんて言っててもちょっと恥ずかしいですよ。
>>969の「「オブジェクト指向言語」と「オブジェクト指向サポート」の差って大きいんじゃないでしょうか?」
はその通りだと思うよ。そこは開発する側が意識して使い分けないとな。
PHPやPerlはあくまで「OOPでも書ける言語」であってOOPのためにある言語ではない。
995nobodyさん:2006/01/03(火) 17:15:30 ID:???
スレ立ててくんね。
996nobodyさん:2006/01/03(火) 17:18:29 ID:???
>>993
>>992は別に間違ったことかいちゃいないと思うが
997nobodyさん:2006/01/03(火) 17:22:50 ID:???
立てた
【PHP】質問スレッドpart32【php】
http://pc8.2ch.net/test/read.cgi/php/1136276300/
998nobodyさん:2006/01/03(火) 17:23:35 ID:???
>>996
>>911 は、一度全部消して、新たに自分で晒したんだよ。

ここら辺がわかんないんですけど、突っ込んで下さい(意訳)ってさ。
999nobodyさん:2006/01/03(火) 17:38:55 ID:???
発端は>>911の晒しからでしょ。本人出てきたのはその後の話。
ていうかいつまで終わった話引きずってるんだか。
まあこのスレもここでおしまいだし、次スレではこの話題がズルズル続かないことを切に願う。
良き質問スレにしていきましょう。
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。