【PHP】質問スレッドpart24【php】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
04/11/01 04:09:15ID:???・新規質問の方は上げてください。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
0792nobodyさん
04/11/18 02:19:03ID:???$sec = 6000;
echo date('H:i:s', mktime(0, 0, $sec));
一応mktimeでいけるね
24時間以上だとこのままでは無理だけど
0793792
04/11/18 02:32:31ID:???参考になるか分からんけど漏れが作った奴載せとく
function sectohour($sec) {
$hour = floor($sec / 3600);
$sec %= 3600;
$min = floor($sec / 60);
$sec %= 60;
return(sprintf('%02d:%02d:%02d', $hour, $min, $sec));
}
0794nobodyさん
04/11/18 03:35:35ID:???FOMA端末のUA識別は
"DoCoMo/^2\.0" という表記で良いんでしょうか?
<?
$ua = $_SERVER["HTTP_USER_AGENT"];
if(ereg("DoCoMo/^2\.0",$ua)){
header("Location: aaa.html");
exit;
}else {
header("Location: bbb.html");
exit;
}?>
FOMAで「aaa.html」 それ以外は「bbb.html」へ飛ばすようにしてるつもりなのですが、
上手く動作しません。
0795nobodyさん
04/11/18 04:36:45ID:???location hoge は絶対パスで書かないと駄目だとか
0796790
04/11/18 08:35:27ID:???レスありがとうございます。なるほど、mktimeですか気付きませんでした。
しかし、24時間以上を扱う予定なので793さんのコードを参考に作ってみます。
みなさんありがとうございました。
0797nobodyさん
04/11/18 09:49:06ID:jaTiTZm1Fatal error: Call to undefined function: mb_convert_encoding()
のエラーで止まって動かなくなりました
bm_convert_encoding()の動きはわかるんだけど
PHPのライブラリ?から読み込んでるんですか?
0798nobodyさん
04/11/18 10:23:09ID:???環境は?
Windowsだったらdll読み込んでないんだろうし、
Linux系だったらconfigureで-with指定してないんだろうな。
0800nobodyさん
04/11/18 11:06:28ID:???c:\windows\system32にdllをおいてApacheを起動するだけでOKですか?
0801nobodyさん
04/11/18 11:10:35ID:???0802797
04/11/18 12:57:08ID:jaTiTZm1phpdevをインストールした状態です
0803nobodyさん
04/11/18 14:57:43ID:z5HMJmKGhoge=aaa&piyo=bbb
上の文字列の「aaa」の部分を抜き出したいのですが、うまい正規表現の仕方はないでしょうか?
preg_match_all("/hoge=(.+?)\&/",$str,$match);
だと、hoge=aaaのマッチが取れないのです…。
0805nobodyさん
04/11/18 15:28:11ID:???テンプレ
正規表現道場@2ch Part3 s/煽り|荒らし/あぼーん/g
http://pc5.2ch.net/test/read.cgi/php/1069245758/
0806nobodyさん
04/11/18 15:35:00ID:???$str = "hoge=aaa&piyo=bbb";
parse_str($str);
echo $hoge;
echo "<br>";
echo $piyo;
0808805
04/11/18 15:46:53ID:???正規表現勉強するなら、ここのテンプレにあるぞ。
っと言ったつもりだった。
あっちで質問してら。
0810nobodyさん
04/11/18 15:55:34ID:???preg_match_all の方を使おうとしてるのを考慮すると、>>809の可能性も。。。
0811nobodyさん
04/11/18 17:12:40ID:???countとsizeof関数は、何か違うのでしょうか?
マニュアルには、sizeofはcountのエイリアスとしか記載されていませんでしたが
使い分ける必要等はあるのでしょうか?
0812nobodyさん
04/11/18 17:40:40ID:???0815nobodyさん
04/11/18 18:03:03ID:???ごっちゃになるからだけだと思う。
sizeof導入も、C書きの人がすんなり入りやすいためだけだろう
多分。
0816nobodyさん
04/11/18 18:03:29ID:???使わない方が無難
0817軟式PHP
04/11/18 18:07:36ID:???0818nobodyさん
04/11/18 18:18:24ID:8nQGI/2aそこで質問なのですが、
ASPでのresponse.endに該当する記述は、PHPだと何になるのでしょうか?
具体的にはフォームから送られた内容を確認するために、
受け取った変数の中身をechoで表示したところで、1度スクリプトを停止させたいのです。
基本的な事で申し訳ありませんが、よろしくお願いします。
0819nobodyさん
04/11/18 18:22:11ID:???0820nobodyさん
04/11/18 18:58:04ID:???0821nobodyさん
04/11/18 19:05:33ID:bps4zhVUたまに変換されずになることがあります。
変換内容はュ→ユのように小文字を大文字に直すだけなんですが
何か原因があるのでしょうか?
また、str_replace()とか使った方がいいですか?あまり違いがわからなくて・・。
0823822
04/11/18 19:13:29ID:???そういう処理はマルチバイトを考慮しない関数は使わない方がいい。
色々ググってみ。
0824nobodyさん
04/11/18 19:29:34ID:???php_openssl.dllが見つかりませんというエラーになります。
extension_dirをフルパスに設定しても./(ドットスラ)にしても
見つからないらしいです。
他にも何か設定を変える必要があるんでしょうか?
0825nobodyさん
04/11/18 19:39:34ID:???2. 違うphp.iniを変更している。
0826nobodyさん
04/11/18 19:53:52ID:???1. きちんとあります。それらしきところ(system32配下やカレントディレクトリなど)に
いろいろ配置してみましたがダメでした。見つからないらしいです。
2. extension=php_openssl.dll の行をコメントアウトして再起動するとエラーが消えるので
php.ini自体は正しいと思われです。
0828nobodyさん
04/11/18 20:45:57ID:???http://php.s3.to/man/ref.openssl.html
>Win32ユーザへの注意: このモジュールをWindows環境で使用するには、PHP/Win32バイナリパッケー ジのDLLフォルダからlibeay32.dllを使用する WindowsマシンのSYSTEM32フォルダ(例: C:\WINNT\SYSTEM32または C:\WINDOWS\SYSTEM32)にコピーする必要があります。
これではないのか?
0829nobodyさん
04/11/18 20:49:13ID:???libeay32.dllをsystem32フォルダにコピー
環境変数OPENSSL_CONFを新規作成してopenssl.cnfのパスを指定
0830nobodyさん
04/11/18 20:51:20ID:???編集する場合はエディタから開くで指定する。
0831nobodyさん
04/11/18 22:14:30ID:VOS+8K87のように、オブジェクトを返すメソッドから直接そのメソッドを呼ぶことは、
許されてないのでしょうか?
パースエラーになります。
PHP4です。
0832nobodyさん
04/11/18 22:27:31ID:XCBl1M85PHPで一番得意なのはどういう処理ですか?
(DB操作や文字列処理、数値計算など)
0834nobodyさん
04/11/18 22:40:25ID:???マニュアルより。
PHPを使用する上で最も優れている点は、初心者に対しては非常に分かり 易いと同時に、
プロフェッショナルのプログラマに対しては多くの進んだ機能を提供している点です。
PHPの機能を羅列した長い一覧表を読まなければならないのかと心配する必要はありません。
PHPはすぐに始められますし、数時間の内に簡単なスクリプトが書けるようになります。
0836nobodyさん
04/11/18 22:55:21ID:???0838nobodyさん
04/11/18 23:01:18ID:???他言語との速度比較をする際に参考にしようと思って質問しただけです
>>834
なるほど。
ということは処理的な特徴は特にないのですか?
(私はPHPを使った開発はしてません)
>>835
なぜ?
>>836
Java書けますけど
私もそう思います
0840nobodyさん
04/11/18 23:07:11ID:???それなら最初から速度に関して質問すればいいでしょ
全体的な処理の速さなら他の言語と違いあるだろうし、規模にもよるんだって回答もあるでしょう。
文字列処理だけ特別に早かったり、数値計算がなぜかすごく遅かったりなんていう言語はあるとは思えん。
0841831
04/11/18 23:13:11ID:???それだと、自分の中で、「PHPつかえねー」って結論になってしまいます。
それだとさみしいな。
0842832
04/11/18 23:16:13ID:???全体的な速度とかは求めてません。
あくまでもPHPとして得意な処理ってなんなの?っていう件でお答えしていただきたかったのです
ちなみに特別に早いとか遅いはないですけど
得意・不得意は絶対にありますよ
特に数値計算は苦手な言語が多いので差が出やすいと思います
0843nobodyさん
04/11/18 23:17:07ID:???そういう方面に使いやすい
0844nobodyさん
04/11/18 23:21:08ID:???0845832
04/11/18 23:22:15ID:???マニュアルでも確認できましたし
やはりそういう得意分野は処理ではなく開発(特に初心者向け)のほうで1歩前に出てるということですね
ありがとうございました。
0848nobodyさん
04/11/18 23:27:05ID:???そう、初心者向けに開発しやすい
お約束が少ない
まぁ玄人(?)でも簡単に書けてすぐ動く。
速さを求めるなら、他のをどうぞ
0850nobodyさん
04/11/18 23:42:50ID:???鯖に易しい
0851nobodyさん
04/11/19 00:03:18ID:OG1nPnpo0852nobodyさん
04/11/19 00:17:02ID:???スクリプトの実行終了と同時に閉じられます。
http://jp2.php.net/manual/ja/function.mysql-connect.php
mysql_pconnect()は、二つの点を除いて mysql_connect()と全く同様に動作します。
1.すでにオープンされていないかどうかを調べます。
それがみつかった場合、新規の接続をオープンする代わりに
そのリンクのIDが返されます。
2、SQLサーバーへの接続がスクリプトの実行終了時にも 閉じられないということです
0853nobodyさん
04/11/19 00:23:33ID:???MySQLサーバ側のタイムアウトで切断する。
あとPHPで普通の接続(永続的接続でない)した場合は、
スクリプト実行の終了時にPHPが自動的に切断処理を行う。
勿論自分でcloseするのも可。
0854nobodyさん
04/11/19 00:43:00ID:???web系の事なら何をするにしても関数が用意されてる。
ただ、急に名前変わったり過去の関数をずっと引きずるのはいただけない。
ずっと68Kを引きずったMacのようだ。と元マカーの俺。
0855nobodyさん
04/11/19 01:04:32ID:???ダメ。マニュアルのどっかに書かれていたのを読んだ記憶があるんだがみつからねー
()-> で検索できればエラー例が一発で出るんだけど仕様上無理なんだよなぁ
0856nobodyさん
04/11/19 01:35:35ID:???同じく探したが見つからなかった…
0857nobodyさん
04/11/19 02:15:29ID:???変換するにはどう変更すればいいんでしょうか?
if ($autolink) { $comment = auto_link($comment); }
になっているのですが・・・
0859nobodyさん
04/11/19 02:42:56ID:???# URLの自動リンク (0=no 1=yes)
$autolink = 1;
掲示板なんですがコメントにURLが張られるとそのままURLの文字にリンクが張られるので
こちら、って文字に置き換えてリンクを張りたいのです。
定義の意味がよくわからないので見当はずれだったらすみません;
0860nobodyさん
04/11/19 02:49:13ID:???見当外れだ。auto_link 関数の定義があるでしょ。
どうせ http から始まる文字列を <a href="http**">http***</a> に replace してるんだろうから
それを <a href="http**">こちら</a> に変更すればいい。
0862nobodyさん
04/11/19 05:57:46ID:???あんなに共有サーバの設定しにくい代物でサーバにやさしいのか?
サーバ管理者泣かせだと思うよ
モジュール追加する作業も面倒だし
たまに他のApacheモジュールと競合するときあるのよね
どうしたもんかね
まぁサーバにやさしいというか>>848が言ってるように
初心者にやさしいだけ
標準でいっぱい入れてるから遅いってのもあるけどね
0863nobodyさん
04/11/19 06:28:08ID:???\/
人
/ ̄  ̄ ̄\
( 人____)
|./ ー◎-◎-)
(6 (_ _) )
| .∴ ノ 3 ノ ______
ゝ ノ .| | ̄ ̄\ \
/ \__ | | | ̄ ̄|
/ \___ | | |__|
| \ |つ |__|__/ /
/  ̄ ̄ | ̄ ̄ ̄ ̄| 〔 ̄ ̄
0864nobodyさん
04/11/19 08:15:55ID:???\/
人
/ ̄  ̄ ̄\
( 人____)
|./ ー◎-◎-)
(6 (_ _) )
| .∴ ノ 3 ノ ______
ゝ ノ .| | ̄ ̄\ \
/ \__ | | | ̄ ̄|
/ \___ | | |__|
| \ |つ |__|__/ /
/  ̄ ̄ | ̄ ̄ ̄ ̄| 〔 ̄ ̄
0865nobodyさん
04/11/19 09:26:48ID:???どのようにしたらよいのでしょうか?
0867nobodyさん
04/11/19 10:17:24ID:???0868nobodyさん
04/11/19 10:48:57ID:???0869nobodyさん
04/11/19 11:01:01ID:???使えるならユーザ側でかなりの工夫しないとDBのパスワードとか盗まれるぞ。
safe_modeになってないのは論外。
0872nobodyさん
04/11/19 15:56:12ID:???そもそも設定が面倒とか言ってるヘタレ共有鯖管のトコ使わんけどな。
しまいにゃセキュリティホール塞ぐの面倒とか言い出しそうだ。
0873nobodyさん
04/11/19 17:35:26ID:???何使えばいい?
mysql_select_db?
0874nobodyさん
04/11/19 17:59:52ID:???phpのflock()の信頼性はどうなのでしょうか?
flockを使用せずmkdir()を用いた方が良いのでしょうか?
0875nobodyさん
04/11/19 18:20:18ID:???0876nobodyさん
04/11/19 18:26:18ID:???0877nobodyさん
04/11/19 19:04:08ID:???0878nobodyさん
04/11/19 19:30:42ID:???↓PHPマニュアルには
http://jp2.php.net/manual/ja/ref.mbstring.php
>configureスクリプトでモジュールを有効にする必要があります。
>詳細は、インストールの節を参照して下さい。
と書いてありますが、指定されたインストールのページには
詳細どころか configureスクリプト の文字すら無く、弱っております。
0880素人
04/11/19 20:44:15ID:/iwixYaKApache バージョン 2.0.40
PHP Version 4.3.9
簡単なファイルアップロードのプログラムを動かすと
なぜかファイルサイズが倍(正確には倍より少しちいさい)ぐらいになってしまいます。
当然、中身もおかしいので画像ファイルだとずれた画像になってしまいます。
ftpだとうまくいきます。
プログラムは
http://www.pat.hi-ho.ne.jp/dimension/sample/sample_others_upload.shtml
のとおりなのですが、、、
どなたかお心当たりはありませんでしょうか。
0882カポコン
04/11/19 21:38:18ID:???Linuxはエナブルで追加、
Windowsは、php**.dllを置いた所に拡張モジュールを置いて
リスタート
0884nobodyさん
04/11/19 23:07:45ID:???0885nobodyさん
04/11/19 23:27:14ID:???0886nobodyさん
04/11/19 23:33:25ID:???0888nobodyさん
04/11/20 00:03:07ID:???0889nobodyさん
04/11/20 00:16:24ID:???0890nobodyさん
04/11/20 00:23:38ID:???↓次の質問いってみようか
0891nobodyさん
04/11/20 00:29:02ID:???whileループ使うよりfor使えばいいのに
0892nobodyさん
04/11/20 02:03:29ID:lZ7mI+hyプログラム経験まったくない初心者で今日からPHPを勉強し始めました。
まだ本当の初心なのですが、
$x = 1;
$a = 2;
$b = $a + 3 * $x;
print("計算結果は".$a+3*$x."です<br>");
print("計算結果は".$b."です<br>");
としたときに
3です
計算結果は5です
と表示されるのはなぜなのでしょうか?
いろいろ調べてみたのですがわかりません。
教えていただけないでしょうか?
■ このスレッドは過去ログ倉庫に格納されています