私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレくだすれPHP(超初心者用)5
php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 : ○
レスフィルター : (試験中)
htmlかphpかわからないのでこちらで質問です。
formのプルダウンメニューの値を送信ボタンで渡すのはわかるのですが
プルダウンで選択しておいてリンクをクリックしたときにその値を一緒に
送るような使い方はできるのでしょうか。
ようはメニューでレイアウトの種類を選択して、リンク先をそのレイアウトで
表示させるといったことをしたいのですが。
formのプルダウンメニューの値を送信ボタンで渡すのはわかるのですが
プルダウンで選択しておいてリンクをクリックしたときにその値を一緒に
送るような使い方はできるのでしょうか。
ようはメニューでレイアウトの種類を選択して、リンク先をそのレイアウトで
表示させるといったことをしたいのですが。
そうですか、phpで操作できたらよかったんですが。
その後ググってるとJavaScriptでメニューの値が取得できるようですので
これとonClickだかでどうにかできるのかなってことでJSはわからないんですが
少し勉強してみようとおもいます
スレ違い失礼しました。
その後ググってるとJavaScriptでメニューの値が取得できるようですので
これとonClickだかでどうにかできるのかなってことでJSはわからないんですが
少し勉強してみようとおもいます
スレ違い失礼しました。
JavaScriptのほうが最適ではあるだろうけど
工数増えるけどPHPでできないこともない
まぁガンガレ
工数増えるけどPHPでできないこともない
まぁガンガレ
素直にやるならJavaScriptだろうな。
プルダウンを変更した時点でリンク先を書き換えるか、クリック時にフォームのsubmitイベントを呼び出すか。
プルダウンを変更した時点でリンク先を書き換えるか、クリック時にフォームのsubmitイベントを呼び出すか。
>>353
リンクにonclickといれてsubmitさせてやればいい
リンクにonclickといれてsubmitさせてやればいい
俺ならselectが変更された時点でJavaScript経由でcookieに表示設定を放り込む。
一度選択したら2回目以降は覚えていて欲しいだろうからな。
一度選択したら2回目以降は覚えていて欲しいだろうからな。
URLに数字等を入れる事により1つのphpページ画面をそのパラメータによりページの内容を
変えたいと思います。
どうすれば同一phpページをパラメータURLを指定する事により表示内容を変更する事が出来ますか?
http://www.test.php=1234
http://www.test.php=1235
変えたいと思います。
どうすれば同一phpページをパラメータURLを指定する事により表示内容を変更する事が出来ますか?
http://www.test.php=1234
http://www.test.php=1235
>>360
http://www.example.com/?page=1234
こういう形なら$_GET['page']で1234が取得できるから
これを使って切り替えれば良い
ただしpage=1234の1234は誰でも値を入れる事ができるから
チェック等は必ずするように
http://www.example.com/?page=1234
こういう形なら$_GET['page']で1234が取得できるから
これを使って切り替えれば良い
ただしpage=1234の1234は誰でも値を入れる事ができるから
チェック等は必ずするように
phpでシステム開発をする場合には通常次の階層の直下に*.phpファイルを置いて
動作確認を行いますよね?
C:\Program Files\Apache Software Foundation\Apache2.2\htdocs
しかし、1つのPCで複数サイトの開発を行う場合には、次の用にフォルダを切った上で
開発を行っているのですが、この方法は正しいですか?
C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\site1
C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\site2
※要するに動作確認をする場合には次の用にしなくてはならないので。(まっ、これしか方法は無いかな?)
http://localhost/site1/index.html
http://localhost/site2/index.html
動作確認を行いますよね?
C:\Program Files\Apache Software Foundation\Apache2.2\htdocs
しかし、1つのPCで複数サイトの開発を行う場合には、次の用にフォルダを切った上で
開発を行っているのですが、この方法は正しいですか?
C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\site1
C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\site2
※要するに動作確認をする場合には次の用にしなくてはならないので。(まっ、これしか方法は無いかな?)
http://localhost/site1/index.html
http://localhost/site2/index.html
>>370
べつにWindows環境だってIPベースでも名前ベースでもできるさ
べつにWindows環境だってIPベースでも名前ベースでもできるさ
おれは常にテキストエディタ(Vim)と過去の開発資源(ライブラリ)だけで事足りてる
んんんだこのgdgdはw
複数サイトをプロジェクト(複数人数)でやるんだから、ファイルのアップロード方式の方が重要。複数の人間がftpでアップするのなら、それを管理しやすい方法で
あと、htdocs/aaa/bbb/ とかでやった場合、mod_rewrite の RewriteBase が後でアレな時あり
プロジェクトを管理できれば良いので、エディタは何でもいい
複数サイトをプロジェクト(複数人数)でやるんだから、ファイルのアップロード方式の方が重要。複数の人間がftpでアップするのなら、それを管理しやすい方法で
あと、htdocs/aaa/bbb/ とかでやった場合、mod_rewrite の RewriteBase が後でアレな時あり
プロジェクトを管理できれば良いので、エディタは何でもいい
複数の人間が更新するならCVSとか使うかなあ
サイト側もcheckoutするのだ
サイト側もcheckoutするのだ
Subversionを使っているのに何故かデプロイがftp経由ファイル単位なうちのプロジェクトは滅ぼしていいと思う。
>370
同時にいじるなら、何も考えずにやってるとアクセスログが同じファイルになってしまうので、やりづらいと思う。
そのままでもできるけど、バーチャルホストの方がエラーログの切り分けが簡単。
あとは両プロジェクトで同名のクッキーを使った場合衝突が発生する点かな。セッション周りが特に危険。
あと、本番環境に持っていく際に、相対リンク/絶対リンクとか周りで絶対いくつかリンク切れが発生すると思う。
以上のような点を気にしなくて良いのならば、そのままでもいいんじゃない?
>370
同時にいじるなら、何も考えずにやってるとアクセスログが同じファイルになってしまうので、やりづらいと思う。
そのままでもできるけど、バーチャルホストの方がエラーログの切り分けが簡単。
あとは両プロジェクトで同名のクッキーを使った場合衝突が発生する点かな。セッション周りが特に危険。
あと、本番環境に持っていく際に、相対リンク/絶対リンクとか周りで絶対いくつかリンク切れが発生すると思う。
以上のような点を気にしなくて良いのならば、そのままでもいいんじゃない?
ああ、そもそもセッション変数が共有されてしまう点の方が問題か。
クッキーは発行パスを適切に指定すれば混ざらないが、本番環境への移行の際に適切な修正をする必要がある。
クッキーは発行パスを適切に指定すれば混ざらないが、本番環境への移行の際に適切な修正をする必要がある。
パール互換の正規表現についてなのですが、
preg_matchなど公式マニュアルに出ている内容については理解したのですが、
Perlとは微妙に違うリテラルやトークンの使い方について詳しく説明してある
ドキュメント等はないでしょうか?
preg_matchなど公式マニュアルに出ている内容については理解したのですが、
Perlとは微妙に違うリテラルやトークンの使い方について詳しく説明してある
ドキュメント等はないでしょうか?
PHPって確か鬼車使っているんだっけ
だとしたら
http://www.geocities.jp/kosako3/oniguruma/doc/RE.ja.txt
補記 3. Perl 5.8.0と比較して存在しない機能
+ \N{name}
+ \l,\u,\L,\U, \X, \C
+ (?{code})
+ (??{code})
+ (?(condition)yes-pat|no-pat)
* \Q...\E
但しONIG_SYNTAX_PERLとONIG_SYNTAX_JAVAでは有効
だとしたら
http://www.geocities.jp/kosako3/oniguruma/doc/RE.ja.txt
補記 3. Perl 5.8.0と比較して存在しない機能
+ \N{name}
+ \l,\u,\L,\U, \X, \C
+ (?{code})
+ (??{code})
+ (?(condition)yes-pat|no-pat)
* \Q...\E
但しONIG_SYNTAX_PERLとONIG_SYNTAX_JAVAでは有効
くだらない事なんですが、一つ気になっている事があります。
PEAR::Logでログでログ管理をしようと思っているのですが、
手元の参考書やWebで調べると、解説のサンプルプログラムが
<?php
require_once 'Log.php';
$file = &Log::factory('file', 'out.log', 'TEST');
$file->log('ログ内容');
?>
みたいな場合が多いのですが、この場合Log::factoryで作成した
インスタンス(?)の$fileは明示的にcloseか何かしなくて言いのでしょうか?
例えば、普通のファイル操作ならfopenしたら最後はfcloseをするので、
Log::factoryもそれに該当する操作が必要ないのか?と気になりましたので・・・・
PEAR::Logでログでログ管理をしようと思っているのですが、
手元の参考書やWebで調べると、解説のサンプルプログラムが
<?php
require_once 'Log.php';
$file = &Log::factory('file', 'out.log', 'TEST');
$file->log('ログ内容');
?>
みたいな場合が多いのですが、この場合Log::factoryで作成した
インスタンス(?)の$fileは明示的にcloseか何かしなくて言いのでしょうか?
例えば、普通のファイル操作ならfopenしたら最後はfcloseをするので、
Log::factoryもそれに該当する操作が必要ないのか?と気になりましたので・・・・
テキストファイルを読み込んで一行ごとに配列に入れ
配列を検索して特定の文字が含まれていた場合そのインデックスを返す
っていうのをやりたいのですが、わかりません。よろしくお願いします。
インデックス1を返して欲しいんですが、何も返ってきません。
***テキストファイルの中身*******
群馬県
栃木県
茨城県
埼玉県
東京都
****************************
<?php
//ファイルを開く
$filename="test.txt";
//配列に代入する
$f1=file($filename);
//特定の文字が含まれる要素を探す
$word="栃木県";
$key=array_search($word,$f1);
print($key);
?>
配列を検索して特定の文字が含まれていた場合そのインデックスを返す
っていうのをやりたいのですが、わかりません。よろしくお願いします。
インデックス1を返して欲しいんですが、何も返ってきません。
***テキストファイルの中身*******
群馬県
栃木県
茨城県
埼玉県
東京都
****************************
<?php
//ファイルを開く
$filename="test.txt";
//配列に代入する
$f1=file($filename);
//特定の文字が含まれる要素を探す
$word="栃木県";
$key=array_search($word,$f1);
print($key);
?>
返り値
ファイルを配列に入れて返します。 配列の各要素はファイルの各行に対応します。改行記号はついたままとなります。 失敗すると file() は FALSE を返します
ファイルを配列に入れて返します。 配列の各要素はファイルの各行に対応します。改行記号はついたままとなります。 失敗すると file() は FALSE を返します
>>389
DBなんて使わなくてもstrposでできる
DBなんて使わなくてもstrposでできる
俺なら何も考えず配列に格納→foreachでループ→中でstrpos
>392
strposは文字列検索としては最速の部類。
他の選択肢はpreg_match位しかないが、preg関数とstr関数じゃお話にならんほど速度が違う。
>392
strposは文字列検索としては最速の部類。
他の選択肢はpreg_match位しかないが、preg関数とstr関数じゃお話にならんほど速度が違う。
>>396
395ではないが暇なので作ってみた
$imakara_ikude = microtime(TRUE);
$dokowo_sawatte_hosiinya = '検索対象にしたい任意の文字列';
$kokoga_eenka = '検索したい任意の文字列';
$kokoga_eenka_pattern = '/' . preg_quote($kokoga_eenka, '/') . '/';
$itte_itte_ikimakuru = 100000;
for ($i = 1; $i <= $itte_itte_ikimakuru; $i++) {
if (strpos($dokowo_sawatte_hosiinya, $kokoga_eenka) !== FALSE) {}
// if (strstr($dokowo_sawatte_hosiinya, $kokoga_eenka)) {}
// if (preg_match($kokoga_eenka_pattern, $dokowo_sawatte_hosiinya)) {}
}
$doya_yokattaka = microtime(TRUE) - $imakara_ikude;
echo $doya_yokattaka;
■結果 - Windows XP(ペン4 3.2GHz)+XAMPP(PHP5.2.2)
strpos():0.060ぐらい
strstr():0.052ぐらい
preg_match():0.28ぐらい
strstr()の方が微妙に早いが、公式マニュアルでstrstr()の説明見ると
strpos()使えカスと書いてるので俺は素直にstrpos()使う。
395ではないが暇なので作ってみた
$imakara_ikude = microtime(TRUE);
$dokowo_sawatte_hosiinya = '検索対象にしたい任意の文字列';
$kokoga_eenka = '検索したい任意の文字列';
$kokoga_eenka_pattern = '/' . preg_quote($kokoga_eenka, '/') . '/';
$itte_itte_ikimakuru = 100000;
for ($i = 1; $i <= $itte_itte_ikimakuru; $i++) {
if (strpos($dokowo_sawatte_hosiinya, $kokoga_eenka) !== FALSE) {}
// if (strstr($dokowo_sawatte_hosiinya, $kokoga_eenka)) {}
// if (preg_match($kokoga_eenka_pattern, $dokowo_sawatte_hosiinya)) {}
}
$doya_yokattaka = microtime(TRUE) - $imakara_ikude;
echo $doya_yokattaka;
■結果 - Windows XP(ペン4 3.2GHz)+XAMPP(PHP5.2.2)
strpos():0.060ぐらい
strstr():0.052ぐらい
preg_match():0.28ぐらい
strstr()の方が微妙に早いが、公式マニュアルでstrstr()の説明見ると
strpos()使えカスと書いてるので俺は素直にstrpos()使う。
>>392
というわけで、
if (strpos($str, 'search') !== FALSE)
を使え。必ず「!== FALSE」にするように。理由は説明ダルいからマニュアル見れ。
>>389
$index = FALSE;
$word = '玉';
if ($ary = file('test.txt')) {
foreach ($ary as $key => $val) {
if (mb_stripos($val, $word) !== FALSE) {
$index = $key;
break;
}
}
}
var_dump($index);
strpos()はマルチバイト対応してないので、mb_系使うように。
というわけで、
if (strpos($str, 'search') !== FALSE)
を使え。必ず「!== FALSE」にするように。理由は説明ダルいからマニュアル見れ。
>>389
$index = FALSE;
$word = '玉';
if ($ary = file('test.txt')) {
foreach ($ary as $key => $val) {
if (mb_stripos($val, $word) !== FALSE) {
$index = $key;
break;
}
}
}
var_dump($index);
strpos()はマルチバイト対応してないので、mb_系使うように。
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
みんなの評価 : ○類似してるかもしれないスレッド
- くだすれPHP(超初心者用)4 (1001) - [97%] - 2008/11/21 17:19 ○
- くだすれPHP(超初心者用)6 (958) - [97%] - 2009/8/19 4:11 ○
- くだすれPHP(超初心者用)3 (1001) - [97%] - 2008/6/8 6:35 ☆
- さっさとPHP5.0.6出せよ糞Zend (80) - [31%] - 2019/5/9 7:45
トップメニューへ / →のくす牧場書庫について