【PHP】質問スレッドpart22【php】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
04/09/16 18:17:37ID:/HV017tY・新規質問の方は上げてください。age進行でお願いします。
・質問する際には環境も明記。
・正しい日本語で分かりやすく。
・レスがつかないからって逆切れする厨お断り。
・解決しなくてもこたえてもらったら礼を。
■本家
http://www.php.net/
■日本 PHP ユーザ会
http://www.php.gr.jp/
■PHP マニュアル
http://www.php.net/manual/ja/
■PEAR マニュアル
http://pear.php.net/manual/ja/
過去スレ, 関連スレ等>>2-4
0455nobodyさん
04/09/25 00:03:00ID:???0456nobodyさん
04/09/25 01:54:46ID:???亀レスですまんが、ありがとう。
<?php echo "<?xml ...?>"; ?> をやっちゃうとそれがXML文書じゃなくなっちゃうので困ってました。
short_open_tag = Off でいきます。
ありがとうございました。
0457nobodyさん
04/09/25 02:02:53ID:???ケータイ側のアプリも併用してる場合は、一応テストするけどね。
メンテ工数には入ってないから、要望があればだけど。
まあ実機テストも限度があるので元々既存の機種でもそんなに揃えてやってない。
本テストで自分ならパケ死するぐらいの金額逝った…それを何台もはちょっと
0458457
04/09/25 02:07:34ID:???そもそもケータイ用のがあるのかも知らないんだけど、一般電話回線用のは昔導入して使ってた。
0459nobodyさん
04/09/25 02:18:40ID:???0460nobodyさん
04/09/25 02:19:23ID:???ケイタイのみってのはapacheの設定で、ホストでキルのがベスト。
端末ごとの判断はUserAgentか、HTTPヘッダ(x-jphone-msnameとか)
>>457-458
うちはオープン前に全機種チェックするぞ。時間いくらで借りられるとこあるし、
公式サイトでボダEZなら端末センターで無料で使えるし。
0462nobody
04/09/25 05:26:25ID:???現在、インデックスリストを表示するやつを組んでます。
dir() に日本語表記のフォルダ読ませるにはどうしたらよいのでしょうか…。
さっきから色々試してるけどもう限界…
0464nobodyさん
04/09/25 05:36:18ID:???なんの工夫もなく読めますが。
文字コードで躓いてるのかもしらんが、
環境も処理も書かないアホは死んだ方がいいんじゃない?
0468nobodyさん
04/09/25 07:38:30ID:???0469nobodyさん
04/09/25 07:40:34ID:???0470nobodyさん
04/09/25 08:04:23ID:???>>460
これだけ揃えれば完璧
ttp://image.itmedia.co.jp/mobile/articles/0409/10/l_300_1.jpg
でも壮絶
047112
04/09/25 10:06:38ID:???>>14
ありがとう。ようやくインストーラがでけた。
package.xmlの書き方がいまいちわからんが、ライブラリファイルをコピーするだけだからなんとかなった。
これからインストーラつくるひとはここらへんを読め。
http://www.1x1.jp/php/manual_pear/developers.packagedef.html
http://www.phpexamples.net/pearman/developers.packagedef.html
0472nobodyさん
04/09/25 10:23:16ID:???キャスト演算子があるのはなぜなんですか?
0473nobodyさん
04/09/25 10:32:08ID:???0474nobodyさん
04/09/25 10:42:09ID:???0475442
04/09/25 12:34:18ID:???0476軟式PHP
04/09/25 12:45:15ID:???0477nobodyさん
04/09/25 12:54:34ID:???0478nobodyさん
04/09/25 13:00:13ID:???0479軟式PHP
04/09/25 13:06:54ID:???0480nobodyさん
04/09/25 13:58:56ID:???正直いって他の人と同様やりたいことがわかんねぇよ。
(他の人は判ってんのかも知んないけど)
session_destroy→session_id(NewID)→session_startってことか?
0482nobodyさん
04/09/25 14:35:49ID:???違う
AというページからBというページにtarget="_blank"でリンクして
BのページとAのページとで違うセッションを持ちたい ということ
デストロイするとAのページで持っていたセッションも破壊されるので
だめだよ
0483nobodyさん
04/09/25 14:38:52ID:???このセッションID名のようなものを自分で生成したいと思ったら
どうしたらいいかな?32文字の0〜fを羅列すればいいだけ?
0485nobodyさん
04/09/25 15:13:48ID:???1.PHPLIB使って認証してるページのフォームボタンから
JavaScript経由で別ウィンドウを呼び出し
(その別ウィンドウは認証やセッションをしない)
2.その別ウィンドウを閉じる
3.元ページを操作(submit)すると再認証を要求される
という流れがあって、はて?と思ったら、元ページにアクセスする際
(当然最初だから認証画面が出てくるわけだが)、
ブックマークから飛ぶと上記の再認証は発生しないのだが、
別ページのリンクから飛ぶと上記の再認証が発生するという現象に
出くわした。
これについて何故そうなるのか教えていただける人いますか?
ブラウザはIE SP6です。
0486nobodyさん
04/09/25 16:39:45ID:???乱数を種にユニークなIDでも生成して、そのMD5ハッシュ値でも取る。
中でも同じようなことやってた筈。
>>482
ならば session_destroyはしないで、session_id(NewID)→session_start
とすれば良いだけ。後で戻る時に元のIDを返してやるように保持しとかんと駄目だけどね。
つか、そんならsession_name使って別セッション名でパラに持った方がすっきりするんじゃないのか。
0487nobodyさん
04/09/25 17:25:50ID:???ob_start("mb_output_handler")を使っています。
この場合、最後にob_end_flush()をコールしてもしなくても
同じ結果になると思っていいでしょうか。
0489nobodyさん
04/09/25 19:51:01ID:???0491nobodyさん
04/09/25 23:20:01ID:???一定時間内に一定回数以上のアクセスがあったIPアドレスからのアクセスを
一定時間制限するようなページってできますか?
0492nobodyさん
04/09/25 23:20:35ID:???0493nobodyさん
04/09/25 23:21:42ID:???どこかに出来合のモノがありますか?
0494nobodyさん
04/09/25 23:22:51ID:???それもできますでしょうか?
0495nobodyさん
04/09/25 23:24:12ID:???PHPを通してアクセスするような感じにしたいです
0496nobodyさん
04/09/25 23:28:39ID:???0497nobodyさん
04/09/25 23:30:06ID:???要求にあった拡張機能(モジュール)を探して使え。
現在のところ349個あるらしいから大抵は見つかるだろう。
http://modules.apache.org/
モジュールが見つからない場合は自分で作れ。
そして一生メンテナンスしろ。
これでOK?
0498nobodyさん
04/09/25 23:34:28ID:b9Ydmcot0499nobodyさん
04/09/25 23:38:27ID:b9Ydmcot使えるものを知りませんか?
モジュールを作るのは大変そうです
一生メンテナンスする人っていますかね?
0500nobodyさん
04/09/25 23:53:27ID:???0501nobodyさん
04/09/26 00:01:39ID:???0502カポコン
04/09/26 00:39:51ID:???0503nobodyさん
04/09/26 01:25:20ID:xki5KZNu実行すると
Fatal error: Call to undefined function: () in ****.php on line 8
というエラーが返ってきます。
どうも最後の行に問題があるようですが、どうしても解決できません。
何がだめなのでしょうか?
<?php
$local_file = 'http://www.****.com/test.gif';
$remote_file = '/public_html/';
$ftp = ftp_connect('ftp.****.com');
ftp_login($ftp, '$id', '$pass');
$ftp_put ($ftp, $remote_file, $local_file, FTP_ASCII);
?>
0504nobodyさん
04/09/26 01:28:11ID:???↑
0505カポコン
04/09/26 01:47:53ID:???ネガティブ?<?=NEGATIVE_SIGN?>
0506nobodyさん
04/09/26 02:15:15ID:???しかもたったの8行で
漏れは1行でも英語の文法ミスるが
0507nobodyさん
04/09/26 02:33:46ID:???> ftp_login($ftp, '$id', '$pass');
これじゃ>>504の指摘してるミスがなくても動かない。
一重引用符は内容を解釈しない。
0508503
04/09/26 02:34:02ID:xki5KZNuわいはあほや〜
わいはあほや〜
0509nobodyさん
04/09/26 02:48:43ID:???0510nobodyさん
04/09/26 08:32:50ID:???0511nobodyさん
04/09/26 10:02:15ID:???0512nobodyさん
04/09/26 11:06:37ID:???0513nobodyさん
04/09/26 11:27:08ID:???∩( ´Α`)< FLASHからPHPを読み出して、リアルタイムでFLASHを挙動させたいんです!
∩( ´Α`)< そんなことは可能なんでしょうか!?
∩( ´Α`)< つまり、誰かとリアルタイムでネット対戦とか、そういう感じです!
0514nobodyさん
04/09/26 11:39:24ID:???0516nobodyさん
04/09/26 13:08:33ID:???∩( ´Α`)< 先生!早速やってみました!!
∩( ´Α`)< HTTPは、HyperTransferProtocolの略であります!!
∩( ´Α`)< HTTP は 1990年から存在するようになりました!
∩( ´Α`)< 現時点のHTTPはRFC2616で定義されています!http/1.1です!!
∩( ´Α`)< HTTPは、共同的ハイパーメディア情報配布システムのためのものです!
∩( ´Α`)< そして、先生!HTTPは、ポート80を標準として使用します!
∩( ´Α`)< HTTPは、WebブラウザとWebサーバの間での通信プロトコルであります!
∩( ´Α`)< ちなみに、通信プロトコルとは、ネットワーク上での通信の規約の事です!
∩( ´Α`)< 通信プロトコルは、大きく分けて7層に分かれています!
∩( ´Α`)< 物理層、データリンク層、トランスポート層や、アプリケーション層等です!
∩( ´Α`)< ちなみに、先生!HTTPの場合、第7層のアプリケーション層に含まれます!
∩( ´Α`)< 第7層には、FTPや、POP3、SMTP等もあります!
∩( ´Α`)< 先生!今回このレポートを書いて、インターネットの色々な事がわかました!
∩( ;´Α`)< 先生!先生!でも、ごめんなさい!!殆どWikiPediaで調べました!
∩( ´Α`)< 先生!先生!何か、罰をください!
∩( ;´Α`)< 先生!先生!先生!もう32行なのでかくことが出来ません!!
0517nobodyさん
04/09/26 13:14:15ID:???0519nobodyさん
04/09/26 13:52:19ID:???それは「TCP/IPにおけるhttpの位置付け」だな。
「ちなみに」が多い割にしくみについて全然触れておらんので
それじゃあ10点しかやれんよ。
0520nobodyさん
04/09/26 13:53:04ID:???イマイチ「セッション」という概念が良く分かりません。
ぐぐっても、本見ても詳しく書いてないんですが、
だれか教えてくりそ
0521なちじょあ ◆yEbBEcuFOU
04/09/26 13:54:41ID:???. 嘘つくなYO
0522nobodyさん
04/09/26 14:06:29ID:???session関数と同様の働きする関数ってある??
0524なちじょあ ◆yEbBEcuFOU
04/09/26 14:14:06ID:???session関数使えYO
0525522
04/09/26 14:26:40ID:???どうもsession関数が使われてないの見つけたんだよね。
だから聞いてみた
0527nobodyさん
04/09/26 14:52:33ID:???0528nobodyさん
04/09/26 15:01:45ID:???で、勉強して間もない自分では難しかったので検索で見つけたのが、このスクリプト
$text = ereg_replace("(https?|ftp)(://[[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+)(\n)",
"<a href=\"\\1\\2\" target=\"_blank\">\\1\\2</a>",$text);
ただ、日記スクリプトなので、一度書いた日付の日記を再編集する機会が多く、
<a href="http://hoge.com" target="_blank">http://hoge.com</a>
このようにリンク済みの状態になっている二つのURLの両方共に、
それにイメージタグの中のimg src=の後にまでリンクが貼られる始末です(;´Д`)
よく使われるスクリプトだと思われますが、
皆さんはどのような方法で対処してるんでしょうか…。
0529nobodyさん
04/09/26 15:04:24ID:???サーバにデータ保存できるなら
セッション関数を自作することは屁の河童です。
0530nobodyさん
04/09/26 15:05:53ID:???0534nobodyさん
04/09/26 15:16:32ID:???>>532
ああ、なるほどー、と思ったんですが、
それだけだと日記文中のイメージタグの中のimg src=の後にもリンク貼られちゃいますよね?
後、今気づいたけどこのスクリプト、URLに入った日本語部分はすっ飛ばされる…。
0539nobodyさん
04/09/26 16:20:16ID:???ハイ、それが出来ませんでした…。
>>538
> 他のタグに囲まれてない時って感じにすればいいんじゃないか?
それが自分の力で出来たらいいんですが…。
すいません、初心者スレ行ってきます。
0540nobodyさん
04/09/26 18:03:08ID:???とりあえず考え方として、URLの直前に改行コードがある場合にのみ
リンクを貼る、というやり方にしようと思いました。
これでタグで囲まれている時、及びimgタグの中である場合には無視できるのでは、と。
で、もう一息(多分)なのですが、どうもリンクが貼られないようです。
よければアドバイスなどいただけないでしょうか。
$text = ereg_replace("(\n)(https?|ftp)(://[[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+)",
"<a href=\"\\1\\2\" target=\"_blank\">\\1\\2</a>",$text);
0541nobodyさん
04/09/26 18:28:33ID:???誰が誰か分からんし。
0542nobodyさん
04/09/26 18:49:17ID:???0543nobodyさん
04/09/26 18:53:04ID:???亀レスで失礼
PHPの4.2.0以降のバージョンでは、セキュリティ強化の為、POST・GETによるフォームデータが以前のような「$変数名」では取得できない設定になっています。
php.iniファイルのちょっと下の方にある
register_globals = Off
と言う設定文がそうですが、デフォルトで「Off」に設定されています。
ここを「On」に替えれば、以前のように簡単にフォームデータが取得できます。
0544nobodyさん
04/09/26 18:58:16ID:???そうか。「最新 PHPハンドブック」のサンプルソースの
ページを見ていて、なんでかなーと思っていた疑問が
解決した。
・・・が、面倒な仕様変更だね。仕方ないか。
0545nobodyさん
04/09/26 19:36:27ID:???例えばこんな関数があるとする。
function check(){
if( 送信されたフォームデータのチェック ){
$flag = true;
}
if( $flag == true ){
return true;
} else {
return false;
}
}
これを使うスクリプトに http://hoge.com/check.php?flag=true なんてのを送られてきた場合、
フォームデータのチェックが通っても通らなくても true が返ってしまう。
これじゃ危険だろ?この返り値がtrueならデータの削除処理などをする、なんて時とかは特に。
0546nobodyさん
04/09/26 19:42:30ID:???いや、例としては分かるけど
0547528=540
04/09/26 20:04:13ID:???すいません
528=540です。
>>542
> {}? 最短マッチ(? がないと最長マッチになる)
最長マッチ入れてみましたがリンクが貼られませんでした。
$text = ereg_replace("{\n}(https?|ftp)(://[[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+)",
"<a href=\"\\1\\2\" target=\"_blank\">\\1\\2</a>",$text);
0548nobodyさん
04/09/26 20:13:53ID:???こっちこっち
0549nobodyさん
04/09/26 20:17:22ID:???改行の次は行頭だから、
^(https?|ftp)
こっちじゃ駄目なん?
0550528=540
04/09/26 20:32:42ID:???>>549
その二つを織り交ぜて変更しました。
$text = preg_replace("^(https?|ftp)(://[[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+)",
"<a href=\"\\1\\2\" target=\"_blank\">\\1\\2</a>",$text);
ついにエラーが出て動かなくなりました。
すいません、僕は愚図でノロマな亀です…。
0551528=540
04/09/26 20:43:37ID:???ただ、$textが空っぽになった模様。
0552nobodyさん
04/09/26 20:46:18ID:???0553nobodyさん
04/09/26 20:50:23ID:???preg_replace_allしないと
0554528=540
04/09/26 20:50:40ID:???単純に、頭がhttp|ftpで始まる行があったら自動で<a>タグのリンクをくっつけたいんです。
$text = ereg_replace("(^https?|^ftp)(://[[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+)",
"<a href=\"\\1\\2\" target=\"_blank\">\\1\\2</a>",$text);
行頭の「^」の位置を増やしてみたけどスルーされるなあ。
■ このスレッドは過去ログ倉庫に格納されています