【PHP】下らねぇ質問はここに書き込みやがれ 24
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/07/07(金) 14:54:53ID:KnVubDvEここならお前の下らない質問に回答があるかも知れません。
まず読め【PHP マニュアル】
http://www.php.net/manual/ja/
過去スレは>>2
0074nobodyさん
2006/07/08(土) 18:01:53ID:4HW/BEu50075nobodyさん
2006/07/08(土) 18:12:21ID:???0076nobodyさん
2006/07/08(土) 18:17:05ID:???0077nobodyさん
2006/07/08(土) 18:17:56ID:???あるに決まってるだろ
0078nobodyさん
2006/07/08(土) 18:27:45ID:4HW/BEu50079nobodyさん
2006/07/08(土) 19:46:21ID:???Fatal error: Call to undefined function: ob_end_flash()
致命的エラー:ob_end_flash()だぁ? んな関数ねぇよハゲ。
× flash
○ flush
もう一度聞くが、何故エラーメッセージを読まない?
0080nobodyさん
2006/07/08(土) 19:54:12ID:???mb_output_handler("UTF-8");
...
Warning: mb_output_handler() expects exactly 2 parameters, 1 given
Warning: Wrong parameter count for mb_output_handler()
...
どこがいけないのか解らないのですが、マニュアル通りに指定したつもりです。
なんのマニュアルを読んだんだろうねー
0083nobodyさん
2006/07/08(土) 23:10:14ID:???どう記述すればいいのでしょうか?よろしくお願いします。
0085nobodyさん
2006/07/08(土) 23:58:31ID:???ニュースサイトのRSSを購読すると、三日前のニュースとかは取得できないので不便なんです。
だったら自分で契約してるサーバにスクリプトを設置して、タイトルとリンクをHTML化して毎日一回保存してしまおうかと
だめでしょうか? cronもつかえるという前提だとどうでしょう
0086nobodyさん
2006/07/09(日) 01:13:29ID:???0087nobodyさん
2006/07/09(日) 01:57:06ID:???といった会員登録サイトを作ろうと思い、調べた結果とりあえず空メールが
あったら返信をするというのはvacationで出来るというところまでは
調べる事は出来たのですが、そこからどの用にメールアドレスだけを取得し
PHPに持っていけばいいのかが分かりません
0089nobodyさん
2006/07/09(日) 02:27:42ID:???vacationなんぞ使わずに、自作の処理スクリプト(PHP)に渡して
そこで処理をする。forwardで渡すのは同様。
空メールなのかとか、そのメールからアドレスをどうやって取るかは
実験してみな。単なる文字列の処理だけだから。
0090nobodyさん
2006/07/09(日) 02:27:51ID:???0091nobodyさん
2006/07/09(日) 02:33:21ID:???再現できるソースきぼんぬ
0093nobodyさん
2006/07/09(日) 03:12:06ID:???PHPをcronなどで一定間隔で動かしてPOPサーバーに接続してメールを取得、
もしくはsendmailのforward設定で受信時にメールを食わせて自動的にPHPを実行させ、
あとはメールの中身を1行ずつ読み込んでってFrom:行からアドレス抜くだけ。
0094nobodyさん
2006/07/09(日) 05:33:03ID:???>しかし、こんな面倒くさい方法じゃなく、
>変数をまた最初から番号付けするような便利な関数はないのでしょうか。。。
結局キーは捨てるのに、なんでわざわざasort使ってんの?
マニュアル読んでないよね?
0095nobodyさん
2006/07/09(日) 07:42:20ID:???0096nobodyさん
2006/07/09(日) 12:24:45ID:???readfileだけでしょうか?
外部サイトの、<body>以下だけを出力すると言った方法は可能ですか?
0098nobodyさん
2006/07/09(日) 12:49:41ID:???外部ファイルを手軽に扱うための関数(fopen_wrapperの設定に依存)
readfileやinclude、fopen etc.
細かい制御ができるが、その分よく面倒を見る必要あり
fsockopen
後半は、ファイル全体を取得してから自力で切り出すしかないやね。
PHPには文字列を操作する関数があるので、可能っちゃー可能
0100nobodyさん
2006/07/09(日) 13:04:23ID:vWh3Ts67$ua = 'Vodafone/1.0/V802N/NJ001[test_serial] Browser/UP.Browser/7.0.2.1.307 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0';
if ( ereg ("\[(.+)\]", $ua, $serial) ) {
print $serial[0];
}else{
print "error!";
}
って感じで書いたんだが、[]も代入されてしまう。
\[(.+)\]の()の中だけを代入するにはどうすればいい?
Perlやってたからよくわからねぇ。
0101nobodyさん
2006/07/09(日) 13:54:33ID:???確か$_SERVER['??_JHONE_NO']みたいな配列に送られてくるはずだが…
print_r($_SERVER)すればわかるかも。
0102nobodyさん
2006/07/09(日) 14:03:10ID:???http://jp.php.net/manual/ja/function.ereg.php
をよく読めば間違いが分かる
0103nobodyさん
2006/07/09(日) 14:25:29ID:vWh3Ts67あ、[1]に入るのか。サンクス!
0104nobodyさん
2006/07/09(日) 14:54:36ID:???子プロセスの方で関数を動かして、
その返り値を子プロセス終了後に
親プロセスの方でチェックしようとしたら空になってました。
子プロセス内で得た返り値を
親プロセスの方でチェックすることは無理ですか?
0105nobodyさん
2006/07/09(日) 16:11:23ID:U99SwNUHログはテキストで取っていてSQLは使用していません。
0107nobodyさん
2006/07/09(日) 16:29:11ID:???setcookie("cookiename");
でやっても削除されないのですが、ほかのやり方あったら教えてください。
よろしくお願いします。
0108107
2006/07/09(日) 16:34:25ID:66lL3jio0109nobodyさん
2006/07/09(日) 16:36:00ID:???暇だからSQLの方法を出してやろう
*.php?page=1
$page = $_GET['page'];
$limit = $page * 10;
$sql = "SELECT * FROM BBS LIMIT $limit, 10";
$res = mysql_query($sql);
while ( $row = mysql_fetch_array($res) ) { print( $row[0] . "<hr>" ); }
0112nobodyさん
2006/07/09(日) 17:42:19ID:???例えばBBS.CGIというスクリプトをソースではなくてそれを実行したHTMLを取り込もうとしています。
試しに file(BBS.cgi) と file(http://~~~/BBS.CGI) を試しましたがどちらもソースが返ってきてしまいました。
phpにて実行結果の状態で取得することは可能なのでしょうか よろしくお願いします。
0113nobodyさん
2006/07/09(日) 18:11:29ID:???後者(file('http://example.com/'))でいける筈だが。
それで駄目なら、そもそもブラウザで該当のURLを指定しても
text/plainでソース出力がされてる状態じゃないのか?
0114nobodyさん
2006/07/09(日) 18:24:40ID:???該当のファイルをブラウザで直に表示させるとちゃんとスクリプトが実行されるようです。
ちなみにバージョンは4.3.11です。 蛇足ですがロリポ鯖です。
ファイル構成は
/aaa/index.php - 呼び出し元
/aaa/BBS.CGI -呼び出し先
同じディレクトリへ入れてるのが原因なのでしょうか。
それとも普段はphp5を使っていましてこれはphp4特有の仕様か何かでしょうか。
よろしくお願いします
0115nobodyさん
2006/07/09(日) 19:23:33ID:???帰ってきたソースってHTMLソースじゃないよな?
file関数使ったらもちろんソースが帰ってくるぞ。
取ってきたものをどうしたいんだ?表示したいのか保存したいのか?
0116nobodyさん
2006/07/09(日) 20:07:41ID:???function myfunc( ) {
// あーだこーだ
return ( 0 );
}
$pid = pcntl_fork();
if ( $pid == -1 ) {
die( 'could not fork' );
} else if( $pid ) {
// 親
pcntl_waitpid( $pid, $status, WUNTRACED );
} else {
// 子
$r = myfunc( );
exit;
}
if( $r == 0 ) {
// 成功
} else {
// 失敗
}
?>
>>104
こんな感じの処理で、最後のifで$rの値を見て処理を分けたいけど、
$rは空になってしまってるんですよ。
そういうもんなんですか?
0119nobodyさん
2006/07/09(日) 20:27:33ID:???exit は子を終わらせてるだけで、
その後はifの方にいくんですが、
「未定義の変数つかってんじゃねーよ」って怒られるんですよ。
子の中だと$rに0が入ってるのは確認できるんです。
0120nobodyさん
2006/07/09(日) 20:29:17ID:???アップしたサーバーで動作すると動作が変なのです。
ちゃっとセッションが保存されないみたいなのですが、これは問い合わせた方が良いですかね?
0121120
2006/07/09(日) 20:37:34ID:NEYaW9zv0122nobodyさん
2006/07/09(日) 21:18:04ID:???ん?前者ならファイルの内容そのものを取得する機能だから
CGIとして実行されないでソースが表示されるのは当たり前。
0123nobodyさん
2006/07/09(日) 21:34:45ID:???親プロセスが返された場合
pcntl_waitpid( $pid, $status, WUNTRACED );
で$rは何も定義されていない
子プロセスの場合
$r = myfunc( );
exit;
でexit;しているからif($r==まで到達しない
じゃね?
>子の中だと$rに0が入ってるのは確認できるんです。
てのはexit;前での確認だよな?
状況説明は他人にわかるようにね。
0124nobodyさん
2006/07/09(日) 21:48:38ID:QrRy9B/E<?= $a ?>
の<?= とはどういう意味なのでしょうか?
ぐぐり方が悪く 全然見つかりません。
0125nobodyさん
2006/07/09(日) 21:55:57ID:???そんな書き方もできるよっていう程度
<?php echo $a; ?>と同じ
0126124
2006/07/09(日) 22:00:26ID:QrRy9B/E迅速な回答ありがとうございました。
echo や printで試してみます。
0127nobodyさん
2006/07/09(日) 22:24:52ID:apK+YZH4文字列が長すぎる(例えば700文字を超える)場合の処理は、mb_strlen () で長さを計るしかないのでしょうか?
if (mb_strlen ($msg) > 700) {
$err_msg = "長杉";
}
もっとベターな方法があればお願いします。
0128nobodyさん
2006/07/09(日) 22:40:25ID:???というのは何でしょうか?
ローカルサーバーにはあるのですが、レンタルサーバーにはありません
0129nobodyさん
2006/07/09(日) 23:06:11ID:???基本的な発想はそれしかない
文字列の長さを調べる関数は少なくとも3つ
strlenとmb_strlenとmb_strwidthがあるけど
どれを選ぶかはケースバイケースだね
0131nobodyさん
2006/07/09(日) 23:08:30ID:vjWeIelg0132nobodyさん
2006/07/09(日) 23:20:56ID:???マニュアルのセッションのページに書いてあるよ。
簡単に言うと、どういう形式でセッション情報を保持するかを指定するためのもの。
0134nobodyさん
2006/07/10(月) 08:05:28ID:pIRoiH69unset
0135nobodyさん
2006/07/10(月) 09:20:16ID:DXTeExGF>明示的指定がなければ文字化けすることはあります。
>エンコーディングを指定してください。
と言われたのですが、どうやって指定すれば良いのでしょうか?
0136nobodyさん
2006/07/10(月) 09:49:25ID:???何をしようとして、そういわれたのかがわからないが
php.iniの設定を変えれば、もしかしたら、君が望む結果が得られるかも
0137nobodyさん
2006/07/10(月) 09:50:29ID:???0138135
2006/07/10(月) 10:14:35ID:DXTeExGFすみません、サーバーにアプロードして、
セッションに格納すると文字化けするのですよ。
それを報告したらそのような返答が返ってきました。
どうにかして、エンコーディングを指定する方法はないのでしょうか?
0139nobodyさん
2006/07/10(月) 13:07:21ID:???0140nobodyさん
2006/07/10(月) 13:20:37ID:pIRoiH690141135
2006/07/10(月) 14:35:25ID:Q6XjtIhe>>139
良かったら教えていただけませんか?
.htaccessは使えないみたいです
0142軟式PHP
2006/07/10(月) 15:51:50ID:???0143135
2006/07/10(月) 15:56:12ID:Q6XjtIhe実行中に適用させるのですよね。
ini_set("internal_encoding","sjis");
と書くだけで良いのでしょうか?
0144nobodyさん
2006/07/10(月) 15:57:23ID:???試してみる。
マニュアルを読む。
http://jp.php.net/manual/ja/function.ini-set.php
0145135
2006/07/10(月) 16:01:17ID:Q6XjtIhembstring.encoding_translation 「On」「 Off 」
mbstring.func_overload 「0 」「0 」
mbstring.http_input 「auto」「 pass 」
mbstring.http_output 「SJIS」「 pass 」
mbstring.internal_encoding 「SJIS」「 no value 」
mbstring.language 「Japanese」「 neutral 」
mbstring.substitute_characte 「no value 」「no value 」
何を変更して良いのかちょっとわからないです・・・。
0146nobodyさん
2006/07/10(月) 16:10:20ID:???学生って何学生だ? もうちょっと人に伝えよう・理解してもらおうと努力しーや。
> 何を変更して良いのかちょっとわからないです・・・。
知らんがな。>>138 の
> どうにかして、エンコーディングを指定する方法はないのでしょうか?
に答えただけやがな。
そもそも >>138 の
> セッションに格納すると文字化けするのですよ。
の解決策はそれで合っているのか自分で考えたか?
0147135
2006/07/10(月) 16:30:53ID:Q6XjtIheこれを直したいだけなのですが、どうしていいかわからずさっぱりなのです。
0148asa
2006/07/10(月) 16:33:32ID:my/rgI9cメールにあるURLを記載し、そのURLをクリックするとファイルをダウンロードできるというものを作成したいと思っています。
(urlはhttp://www.hoge.com/moe/download.php?file_no=1という感じです)
しかし条件として、ブラウザを画面上に表示させないという制約があります(瞬間的に表示されるのはOKです)。
現在、下記のソースでファイルダウンロードを実行すると
1.IDが立ち上がる
2.ファイルダウンロードするかの選択ダイアログの表示される
3.『保存』を選択するとファイルはDLさせるが、IEの画面がそのまま残り
『取り消されたアクション Internet Explorer は、要求された Web ページにリンクできませんでした。
要求された Web ページは現在、利用できない可能性があります。 』という画面になる。
という流れになります。
ここで3)において、エラー(?)が表示されたブラウザを
閉じさせるということはできますでしょうか。
zipやlzhは、IEが一瞬だけ表示されすぐに消え理想的な動作をするのですが、
txt,pdf,docなどはIEが開かれたままになってしまいます。
わかるかたがいらっしゃいましたら
ご教授お願い致します。
$file_name="/usr/local/docs/hoge.txt";
$len = filesize($file_name);
//ファイルタイプにより処理を変更
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Content-Disposition: attachment ; filename=\"".basename($file_name)."\"");
header("Content-Length: ". $len);
header("Content-Type: application/octet-stream");
readfile($file_name); // ファイルを読み込んでHTTP出力
exit;
環境Linux9PHP4
0149nobodyさん
2006/07/10(月) 16:35:06ID:???それだけじゃ分からない。
文字化けする時は PHP ファイルの文字コードとか諸々の情報を提示しないと。
こんなやりとりが延々続くんだろうな…
0150nobodyさん
2006/07/10(月) 16:36:20ID:???リクエストヘッダを取得する処理をしていました。
サーバを移行して、cgi版PHPになりました。
apache_request_headers以外でリクエストヘッダを獲得する方法ってありますか?
0152135
2006/07/10(月) 17:12:42ID:Q6XjtIheお付き合い頂ければ幸いです。
各種PHPの保存する時の文字コードも関係するのですね。
Dreamweaver8で、デフォルトで保存しているのですが、どうやって調べれば良いのでしょうか?
0153150
2006/07/10(月) 17:14:01ID:???ゲートウェイサーバから送信されるx-up-subnoフィールドです。
$_SERVERにも$_REQUESTにも引っかからないので
さあ困ったなぁと。
0154135
2006/07/10(月) 17:16:26ID:Q6XjtIhe初期設定がシフトJISで、コードの方は全然いじっていません。
サーバーはUTS-8を使っているらしいので、設定をそれにして上書きすれば大丈夫ということですね?
0158nobodyさん
2006/07/10(月) 17:29:51ID:???0159135
2006/07/10(月) 17:30:02ID:Q6XjtIheサーバーに上げると何も表示されなくなってしまいました。
UTS-8ではダメみたいです。
真剣に行き詰りました・・・
0161nobodyさん
2006/07/10(月) 17:31:18ID:???0162135
2006/07/10(月) 17:36:57ID:Q6XjtIhe0163nobodyさん
2006/07/10(月) 17:42:00ID:???言われたことも間違ってやってそうな…
0164nobodyさん
2006/07/10(月) 17:51:46ID:???うそっぽーい
自分で問題を絞り込むことができないから、こういう文章に
なるんだな。
だいたい、こういう表現するやつに限ってセッションなんて
全く関係ないところでボンミスしてるにきまってる。
日本語使わなければ化けないだろうから即解決だよ。
それでいいじゃん。
0165135
2006/07/10(月) 17:51:50ID:Q6XjtIheecho $_SESSION['name'][$_GET['id']];
出力すると文字化けします
0166164
2006/07/10(月) 17:54:19ID:???でも化けてるんじゃないのー
0167135
2006/07/10(月) 17:57:09ID:Q6XjtIhe「あああ」⇒「あああ」
「・・・」⇒「/font>」
0169135
2006/07/10(月) 18:02:20ID:Q6XjtIhe0170164
2006/07/10(月) 18:02:34ID:???何が言いたいのか全く意味わからんぞ・・・
それで伝わるとおもってるのか?俺はエスパーか?
ていうか、
echo "アイウエオ"
で化けるのか?化けんのか?
俺が言ってることは伝わってるのか?
あんたは宇宙人か?
0171135
2006/07/10(月) 18:06:26ID:Q6XjtIheすみません、アイウエオでは文字化けしません、
0172164
2006/07/10(月) 18:10:23ID:???<?php
$_SESSION['name'][$_GET['id']] = "アイウエオ";
echo $_SESSION['name'][$_GET['id']];
?>
では化けて
<?php
echo "アイウエオ";
?>
は化けないってことか?
じゃぁ、
<?php
$_SESSION['name'] = "アイウエオ";
echo $_SESSION['name'];
?>
これは化けるのか?化けんのか?
<?php
$aaa = "アイウエオ";
echo $aaa;
?>
これは化けるのか?化けんのか?
0173nobodyさん
2006/07/10(月) 18:16:38ID:???・PHP から出力される HTML の文字コード
・HTML にて指定されている文字コード
・PHP スクリプトの文字コード
はどうなっているのか、と。
内部エンコーディングの問題以前に、上記のミスマッチによっては化けるものは化ける。
0174135
2006/07/10(月) 18:18:00ID:Q6XjtIhe$_SESSION['var2'] = "ABCDE";
$_SESSION['var3'] = "あいうえお";
$_SESSION['var4'] = "管表示線銃";
$_SESSION['var5'] = "ァエオケム";
$var1 = "12345";
$var2 = "ABCDE";
$var3 = "あいうえお";
$var4 = "管表示線銃";
$var5 = "ァエオケム";
全て正常に出力されました。
なぜ、他のではちゃんと出力されないか疑問です。
■ このスレッドは過去ログ倉庫に格納されています