【PHP】質問スレッドpart16【php】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
04/04/07 01:06ID:HTcWOpWf上級者用や雑談スレを立てたくなった場合は後から適宜立ててください。
■本家
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-5
0414nobodyさん
04/04/25 17:00ID:???・質問内容は低レベル、ググらない
・春の就職ネタ
・SE/PGネタ
リア中ならともかく社会人になろうって年齢がこんな事で悩むかよ。フル装備で釣りだろ。
もうスルーしる。
0415nobodyさん
04/04/25 20:57ID:???<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head></head>
<body>
<?
//php
?>
//ここにhtmlのフッタがあるけど略
</body></html>
と、このようなファイルでphpを動かしているんですが(拡張子は.php)、
php内 (<? ?>内) でreturnを入れると、フッタ以降の部分がすっとばされてしまいます。
<?
//php
?>
の部分のみの残処理をすっ飛ばすのが目的なのですが…。
returnやexit、breakなど色々試してみても結果は同じでした。
どなかか間違ってる部分を指摘していただけないでしょうか。
0416nobodyさん
04/04/25 21:38ID:???関数にする
別ファイルにする
0417nobodyさん
04/04/25 22:09ID:???print $fruits . "<br>";
print_r ( $f_list );
print "<br>" . $pos;
と、こんなコードを書いたら
バナナ //$fruitsの中身
Array ( [0] => りんご [1] => みかん [2] => バナナ [3] => メロン ) //$f_listの中身
と、こういう答えが返ってきたんだけど、なぜかarray_searchの結果 $pos だけが返ってきません。
ちゃんと配列の中にバナナ入ってるのに。
なんで?どこがおかしいんでしょうか?
0418nobodyさん
04/04/25 22:16ID:???returnはそのファイルの処理をそこで中断して呼び出し元に戻る
hoge.php
<?php
echo "ho";
return;
echo "ge";
?>
fuga.php
<?php
include("hoge.php");
?>
0421417
04/04/26 00:21ID:???配列の各項目に改行が入ってただけでした。
あしからず。
0422nobodyさん
04/04/26 13:36ID:???0423nobodyさん
04/04/26 20:30ID:v21IQMwxviでカーソルを動かすとき、HJKLでは動けるが、カーソルキーでは動けない。
そんな束縛感にひたり、ニヤリとしてしまう。
長井秀和です。
viの話。
viに慣れてきた奴は、Windowsのメモ帳でも間違えたときEsc連打しちゃう。間違いない。
viに慣れてきた奴は、秀丸のあのボタンの絵のセンスはどうにかならないものかと思っている。
間違いない。
Excelで入力をミスったときにEscを押すんじゃない、入力した内容が消えてしまうぞ、気をつけろー!!
viに慣れてきた奴は、アレを使うときCtrl-c、Ctrl-sしか知らなかったりする。間違いない。
viに慣れてきた奴は、矩形選択にちょっとあこがれている。間違いない。
0424nobodyさん
04/04/26 21:00ID:???で、vi(vim)の折りたたみ機能がほすい。
スレ違いスマソ
0427nobodyさん
04/04/27 11:47ID:???0428nobodyさん
04/04/27 11:48ID:???PHPで、文字列の中にある < を <に変えるには、どうすればいいですか?
教えてください、お願いします
0430428
04/04/27 11:54ID:840uECrUまぁ、< を<に変えればかまいません
0432nobodyさん
04/04/27 12:08ID:U23hB6pM0434nobodyさん
04/04/27 12:20ID:???PHPマニュアルみながら覚えろ
0435nobodyさん
04/04/27 12:41ID:???for ($i=0,$str2='' ; $i<strlen($str); $i++) {
$a=$str{$i}; $str2+=($a=='<')?'<':$a; }
とか書いてもいいし
0436nobodyさん
04/04/27 13:00ID:???0439nobodyさん
04/04/27 18:18ID:???0440nobodyさん
04/04/27 18:27ID:???function escape_echo($str)
{
echo htmlspecialchars($str);
}
0441nobodyさん
04/04/27 18:30ID:???my_echo($str);
function my_echo($str)
{
echo htmlspecialchars($str);
}
0442nobodyさん
04/04/27 19:06ID:0/nuV2X8偶に"http//hoge/?top"みたいなアドレスのものがありますが、
これの取得または有無を簡単にできる手段はありませんか?
予測される物全部をis_nullで調べていたんですが
もっとスマートにできればなと思いまして・・・
0443nobodyさん
04/04/27 19:07ID:0/nuV2X8>偶に"http//hoge/?top"みたいなアドレスのものがありますが、
>これ"?top"の部分の取得または有無を簡単にできる手段はありませんか?
0444nobodyさん
04/04/27 19:23ID:???0446nobodyさん
04/04/27 19:53ID:???isset($_SERVER['QUERY_STRING'])
だろ・・・
0447nobodyさん
04/04/27 20:31ID:???$str = sprintf("%d%", 100); //"100%"を期待
%のエスケープってできましたっけ?
0448nobodyさん
04/04/27 20:43ID:???あ 有り難うございます。
>444-445
説明が悪くてすいませんでした。
0449nobodyさん
04/04/27 20:44ID:???$str = sprintf("%d%%", 100);
だと思います。
0451nobodyさん
04/04/27 21:36ID:+FvBbqtX例えば test.phpなら
<table><tr><td>
<?php include "test.php";?>
</td></tr></table>
でテーブル内にtest.phpの出力ができるようですが、
Perl-cgiですと、どうすればできるでしょうか?
<?php include "test.cgi";?>
や
<?php header("Locatin:http//・・・/test.cgi");?>
では、駄目でした。
0452nobodyさん
04/04/27 21:39ID:???0453nobodyさん
04/04/27 21:39ID:???0454nobodyさん
04/04/27 21:52ID:hpcGtt+eどうやって拾えばいいの?$_GETをどうせぇと?
0455nobodyさん
04/04/27 21:56ID:???http://ahya.org/aiueo/?a=1mode=all&exec=true
echo $_SERVER['QUERY_STRING']; //a=1mode=all&exec=true
echo $_REQUEST['a']; //1
echo $_REQUEST['mode']; //all
echo $_REQUEST['exec']; //true
$_REQUESTはGET,POSTどちらのメソッドの場合でもおk
$_GETはGETの時のみね
$_POSTはPOST〃
0456nobodyさん
04/04/27 22:04ID:???折角URLまで書いていただいてありがたいのですが404ですた…。
正直説明するのも骨が折れると思われるので、誘導して頂けません?
0458nobodyさん
04/04/27 22:04ID:+FvBbqtX出力が出ないです。空白のままのようです。
ちなみに、includeではtest.cgiのテキストが表示されました。
0460nobodyさん
04/04/27 22:06ID:???いや・・・
”例え”だよ
しかもphp省略しちゃって分かりにくかったかな
http://ahya.org/aiueo/test.php?a=1&mode=all&exec=true
test.php
<?php
echo $_SERVER['QUERY_STRING']; //a=1mode=all&exec=true
echo $_REQUEST['a']; //1
echo $_REQUEST['mode']; //all
echo $_REQUEST['exec']; //true
?>
>>457
&忘れてた、、スマソ
0462nobodyさん
04/04/27 22:18ID:+FvBbqtX<?php system("/usr/bin/perl test.cgi");?>
なにもでないです。。゜゜(>ヘ<)゜ ゜。ビエェーン
0463nobodyさん
04/04/27 22:21ID:+FvBbqtXでは、新しいウィンドウ開いちゃいます。。。
0465462
04/04/27 22:23ID:+FvBbqtX0467462
04/04/27 22:28ID:+FvBbqtXtest.cgiにも書かれてます
0468nobodyさん
04/04/27 22:29ID:???0470nobodyさん
04/04/27 23:42ID:???0472467
04/04/28 04:29ID:GhugZwA8私の環境ではシステム関数は使えないようでした。
あきらめ掛けたのですが、やれました。
参考にしてください。
table 内で直接perl-cgiを呼ぶのではなく
一度、phpファイルをかませたら出来ました!
<table><tr><td>
<?php include "test.php";?>
</td></tr></table>
test.phpは
<?
require("http://・・・・・/test.cgi";?>
0473467
04/04/28 04:30ID:GhugZwA8私の環境ではシステム関数は使えないようでした。
あきらめ掛けたのですが、やれました。
参考にしてください。
table 内で直接perl-cgiを呼ぶのではなく
一度、phpファイルをかませたら出来ました!
<table><tr><td>
<?php include "test.php";?>
</td></tr></table>
test.phpは
<?
require("http://・・・・・/test.cgi");
?>
0474nobodyさん
04/04/28 14:09ID:???0475nobodyさん
04/04/28 14:15ID:???http://www.google.co.jp/search?hl=ja&ie=UTF-8&q=php+16%E9%80%B2+10%E9%80%B2+%E5%A4%89%E6%8F%9B&lr=
0476nobodyさん
04/04/28 17:12ID:???中途半端に教えるのやめれ。
>>474
http://jp.php.net/manual/ja/function.hexdec.php
hexdec関数。
0478nobodyさん
04/04/28 21:42ID:???0479nobodyさん
04/04/28 23:14ID:???echo <<END_OF_RES
{$ahya['goruxa']}
{$nullpo->gaxtu}
END_OF_RES
0481nobodyさん
04/04/29 13:22ID:???print<<<HOGE←ここってどうしてる?
俺はEODにしてるがEOM,EOCとかもあるし。EOFはなんか違う気がするが。
0483nobodyさん
04/04/29 13:39ID:???で統一してマス。EOH とかだけだとなんか短すぎて不安。
0484nobodyさん
04/04/29 13:39ID:???0485nobodyさん
04/04/29 14:06ID:???俺は、echo<<<HTML
HTMLくらしかヒアドキュメントに書かねーし。
つうか、EclipseM6(まだM8にしてない)が、
<<<Hまで打ったとこで激しく重くなって死にはしないんだけど、
エラー吐いて、HTML打ち終わるまで激重になるのが鬱。
M8で改善されてるのかな・・・
0486nobodyさん
04/04/29 14:07ID:???0487nobodyさん
04/04/29 14:13ID:???smarty等テンプレート使うようになってヒヤドキュメントは
全然使わなくなったけど。
>>486
ワロタ エラー時の出力部分にはいいかもしんない。
0488nobodyさん
04/04/29 14:14ID:???0489nobodyさん
04/04/29 14:25ID:nRyNoo3z「ice001」とか「straight002」と言う文字の数字の部分を
取り除いて「ice」「straight」としたいのですがどのようにすれば
よいのでしょうか?
0490nobodyさん
04/04/29 14:42ID:???001とか002が3桁固定なのであれば、
$string_and_number = "ice001";
$string_only = substr($str, 0, -3);
0492nobodyさん
04/04/29 14:52ID:???0494nobodyさん
04/04/29 16:42ID:???使用OS WinXP
Apache 1.3.29
PHP 4.3.6
httpd.confに
LoadModule php4_module C:/php/sapi/php4apache2.dll
これを書いてもApache起動時に
cannot load C:/php/sapi/php4apache2.dll into server:(126)指定したモジュールがみつかりません
上記のように出てきて、apacheが起動できません。
「C:/php/sapi/php4apache2.dll」自体は、ブラウザにコピペして存在を確認しています。
もちろん、LoadModuleをコメントアウトするとApacheは動きますが、
PHPを動かすことはできません。
どうすればよろしいでしょうか…
0495nobodyさん
04/04/29 16:46ID:???あとApache1だとAddModuleも必要じゃなかったっけ?
0496nobodyさん
04/04/29 16:56ID:???0497nobodyさん
04/04/29 17:23ID:???すみません、Apache1じゃなくて2を入れなおして設定しなおしたらうまくいきました。
ありがとうございます。
クソ質問してごめんなさい、100回くらい吊ってきます…
0499nobodyさん
04/04/29 21:37ID:???0500nobodyさん
04/04/29 21:56ID:???文字列検索に使える関数と言えば
strposとかstrstrとか色々ありますよね。
で、ある文字列の中に任意の文字列が含まれているかどうか、ということだけを調べるのが目的の場合、
一番速い関数って何なんでしょうか?
0503500
04/04/29 22:09ID:???っていうか、マニュアルで、文字列が含まれてるか否か、という関数を探してたらみつからなかったんで、
どこにあるんだろう、と。
最初に見つかった位置を返す、とかばっかりで、そんな丁寧なことしてくれちゃってる間に、
速度が落ちてるんじゃないかと心配で。
もしかして、文字列が含まれてるか否か、だけを調べる関数ってないんでしょうか?
もしないんだったら、こういう場合は普通みなさんはどの関数を使ってらっしゃるんでしょうか。
一般的なお答えで結構です。
ちゃんと説明するとちょっと質問の方向がズレちゃってすみません。
0504nobodyさん
04/04/29 22:13ID:???被ったついでに
http://www.php.net/manual/ja/function.microtime.php
スクリプト中は何回か回して、またスクリプトも何度か動かして
平均とらなきゃ駄目だよ。
0505nobodyさん
04/04/29 22:17ID:???explodeで区切り文字に指定したい文字が二つ以上だったらどうすればいいんでしょうか。
explodeで出来た配列の一つ一つに再びexplodeをかけていって、
できあがった全ての配列を一つの配列に代入する、といった手順を踏めばできそうですが、
もっと簡単な方法があれば…。
よろしくおねがいします。
0506nobodyさん
04/04/29 22:17ID:???一気にfile()で読み込むのとではどっちが負荷・信頼性の面で良いのでしょうか?
0507nobodyさん
04/04/29 22:19ID:???文字列を探す時にアルゴリズムの"副産物"で
見つかった位置が得られるんだよ。<strpos
まあ普通でも使うから値も返してるのだけど。
0508nobodyさん
04/04/29 22:21ID:???一般的に後者。
マニュアルくらい読め
■ このスレッドは過去ログ倉庫に格納されています