くだすれPHP(超初心者用)4
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/06/13(金) 20:32:36ID:???もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
PHP使いが優しくコメントを返しますが、
お礼はPHPの布教と初心者の救済をお願いします。
PHP Home Page
http://www.php.net/
http://jp.php.net/
前スレ: くだすれPHP(超初心者用)3
http://pc11.2ch.net/test/read.cgi/php/1193295871/
適当に関連スレ(マルチはだめぽ)
【PHP】下らねぇ質問はここに書き込みやがれ 69
http://pc11.2ch.net/test/read.cgi/php/1211879073/
0624606さんへ
2008/10/24(金) 00:15:22ID:wH/GxTYw基本はわかっていそう。
次はそうだな。サーバー立てて自分でUPしてみて。
もちろんここにさらす必要はないから。
でその作った掲示板とショッピングカートをのせる。
後HTML+CSSの練習かな?
feiz−design.コム/inquiry.ピエチピ
って自分で全部は作っていないんでしょう?
0625nobodyさん
2008/10/24(金) 00:27:34ID:???0626nobodyさん
2008/10/24(金) 01:01:51ID:wH/GxTYw俺の責任でつね
0627nobodyさん
2008/10/24(金) 01:31:05ID:???0630nobodyさん
2008/10/24(金) 04:26:04ID:???うちでは@数えるだけ。
0631nobodyさん
2008/10/24(金) 05:00:30ID:???そうですね。ごく簡単に判定することにします。
CPAN の Email::Valid や Mail::CheckUser みたいなものが提供されているかと期待したのですが。
0634nobodyさん
2008/10/24(金) 05:21:44ID:???0635nobodyさん
2008/10/24(金) 05:25:14ID:???0636nobodyさん
2008/10/24(金) 05:27:02ID:???0637nobodyさん
2008/10/24(金) 08:50:51ID:???移植すれば?とかアホかと
0638nobodyさん
2008/10/24(金) 09:16:03ID:???0639nobodyさん
2008/10/24(金) 12:48:51ID:???{
if (mb_strlen($text) > $num) {
$after = mb_substr($text, 0, num);
return $after.'<略>';
} else {
return $text;
}
}
という,文字列が一定以上の長さならそこで切って、
語を付加する関数を作ろうとしたのですがうまくいきません
なぜなのか分かる方いらっしゃいませんか?
0640nobodyさん
2008/10/24(金) 12:51:59ID:???0641nobodyさん
2008/10/24(金) 13:03:57ID:???そんなもん作るな・・・
http://jp.php.net/mb_strimwidth
0642nobodyさん
2008/10/24(金) 17:48:45ID:45nbMWSd$xml = simplexml_load_file($url);
var_dump($xml);
↑この結果が↓このようになります。
objet(SimpleXMLElement)#1 (2) { ["社員番号"]=> string(5) "00001" ["氏名"]=> string(7) "ABC DEF" }
社員番号を表示したいのですが
echo($xml->社員番号);
とやっても表示されませんでした。
XMLの要素名が日本語なのが問題なのでしょうか?
0646nobodyさん
2008/10/25(土) 09:29:46ID:hQkPyR+6$xml->IDだと表示されたので
要素名が日本語だとまずいのかなと思ったです。
0647nobodyさん
2008/10/25(土) 13:24:59ID:???0648nobodyさん
2008/10/26(日) 18:47:14ID:???のようなgyaoのURL(tag/?keyword_id=****)からHTMLソースを取得する方法はないでしょうか
fsockopenを使うような気がしたのですがうまく取得できません
PHP4.43
0649nobodyさん
2008/10/26(日) 19:34:59ID:???0650nobodyさん
2008/10/26(日) 20:31:06ID:???0651nobodyさん
2008/10/26(日) 21:48:04ID:???0652nobodyさん
2008/10/27(月) 01:44:12ID:???レン鯖では無効にしてる場合も多いけど
0653nobodyさん
2008/10/27(月) 11:28:17ID:???0654nobodyさん
2008/10/27(月) 11:33:39ID:???0655nobodyさん
2008/10/27(月) 11:40:20ID:???0656nobodyさん
2008/10/27(月) 12:15:24ID:???レン鯖では無効にしてる場合も多いけど
0657648
2008/10/27(月) 13:18:28ID:???でできるようです
Anhttpdでローカルテストしてたんですが、実はAnhttpdだと上のような外部fopenが強制終了されてしまうというオチでした
file_get_contentsも同じく
さーてこまった
0658nobodyさん
2008/10/27(月) 13:52:47ID:???0659nobodyさん
2008/10/27(月) 14:05:00ID:???0660nobodyさん
2008/10/27(月) 14:05:47ID:???困ってるように見えない。
ところでよその鯖から取って来るときってあんまりファイルポインタの操作に
用事はないような。たいてい file_get_contents() な感じの用事じゃないのかな。
0661587
2008/10/27(月) 15:48:44ID:???PHP5入れてみます
やりたいことは他鯖からとってきたHTMLデータから特定の部分を抽出して、置換して整形してから表示したいっていう感じです
0662nobodyさん
2008/10/27(月) 15:51:25ID:???0663nobodyさん
2008/10/27(月) 15:53:47ID:???0664nobodyさん
2008/10/27(月) 16:00:00ID:???Zend1互換モード使えばクラス関係以外はPHP4として動作するしな
あとHTMLを改変する場合コピーライト注意な、公開してると無断転記となる場合も・・・
0665nobodyさん
2008/10/27(月) 16:42:05ID:???30分粘ったが投げた。
0666nobodyさん
2008/10/27(月) 18:20:29ID:???マッチしたらマッチしたのが後から何番目の配列か知りたいのですが何か良い方法はないでしょうか?
>>はかならず配列の後から数えて数番目という位置にあり、前から順にマッチさせていくとすごく時間がかかってしまいます。
aaa
bbb
ccc
ddd
eee
ff>>f
ggg
0668nobodyさん
2008/10/27(月) 20:20:31ID:???0670nobodyさん
2008/10/29(水) 17:11:52ID:???0430
みたいな数桁の数字の、頭のゼロを一律に削除する方法はないでしょうか
0671nobodyさん
2008/10/29(水) 18:23:27ID:???0672nobodyさん
2008/10/29(水) 19:09:05ID:???0673nobodyさん
2008/10/29(水) 19:15:52ID:???$mdb = &MDB2::factory($DSN);
どなたか教えてください。
0674nobodyさん
2008/10/29(水) 19:18:20ID:???0678nobodyさん
2008/10/30(木) 02:50:00ID:???0679nobodyさん
2008/10/30(木) 03:01:55ID:???大抵はpregの方が速い
と言うか>>671のが一番速そうに思う
速さうんぬんの処理内容じゃないが・・・
0681nobodyさん
2008/10/30(木) 10:03:00ID:???この正規表現の場合は多分eregの方が早い
0682nobodyさん
2008/10/30(木) 10:44:09ID:???大学の研究でPHP使うことになったんだが、俺プログラムなんてシタコトナイシ…
この機能はPHPとアパッチ入れただけでは動かんとですか?
なにがなんやら…
出来ましたら詳しく解説しているサイト、もしくは書籍を紹介してもらえると助かります
0683nobodyさん
2008/10/30(木) 10:57:04ID:???preg match :0.0012149810791016
ereg match :0.0011699199676514
preg replace :0.0017139911651611
ereg replace :0.0032238960266113
ltrim :0.00061607360839844
cast :0.00018191337585449
+=0 :3.2901763916016E-05
0684nobodyさん
2008/10/30(木) 11:04:19ID:???0687nobodyさん
2008/10/30(木) 16:48:27ID:???PHPコアでも当たり前のように自動キャストしてるから、実装が最適化されてて速いのかな
0689nobodyさん
2008/10/30(木) 18:58:05ID:???桁を合わせてくれw
686 名前:nobodyさん[sage] 投稿日:2008/10/30(木) 16:17:42 ID:???
>>683
で、どれが早いの?
687 名前:nobodyさん[sage] 投稿日:2008/10/30(木) 16:48:27 ID:???
見た感じキャストじゃね?
PHPコアでも当たり前のように自動キャストしてるから、実装が最適化されてて速いのかな
0690nobodyさん
2008/10/30(木) 23:03:26ID:???Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in
このエラーが出るのっておかしいですよね?PHPのインストールがまずいのでしょうか?
0691nobodyさん
2008/10/30(木) 23:05:01ID:???0692nobodyさん
2008/10/31(金) 02:57:43ID:???0694nobodyさん
2008/10/31(金) 11:05:03ID:???0695nobodyさん
2008/10/31(金) 13:02:12ID:???1回の時はこんなんになった
正直な話どれを使おうが気にするレベルでも無い
preg match :1.0013580322266E-05
ereg match :1.7166137695312E-05
preg replace :6.9141387939453E-06
ereg replace :1.4781951904297E-05
ltrim :4.0531158447266E-06
cast :3.0994415283203E-06
+=0 :3.0994415283203E-06
0696nobodyさん
2008/10/31(金) 13:38:06ID:???$v = '0430';
$num = 0;
$a = array_reverse(str_split($v));
for($i=0;isset($a[$i]);$i++)$num+=is_numeric($a[$i])?pow(10,$i)*$a[$i]:0;
echo $num;
0697nobodyさん
2008/10/31(金) 20:27:56ID:???具体的には、1日一回、データベースにあるデータを取り出してメールを送信したいんですが……
0698nobodyさん
2008/10/31(金) 20:41:57ID:???0699nobodyさん
2008/10/31(金) 21:24:23ID:???for ( ;; ) {
if ( date( 'His' ) == '000000' ) mail( ... );
}
0700nobodyさん
2008/10/31(金) 21:34:36ID:???0701nobodyさん
2008/11/01(土) 00:07:09ID:???配列展開してからのforでの処理でもかまいません
例)
たちつ>てとなに"ぬね<のはひふへほ
↓
たちつ>てとなに”ぬねのはひ<ふへほ
PHP5.25
0702nobodyさん
2008/11/01(土) 00:19:59ID:???0703nobodyさん
2008/11/01(土) 12:16:03ID:???0704nobodyさん
2008/11/01(土) 12:38:29ID:???0705nobodyさん
2008/11/01(土) 13:20:17ID:???preg_replace('/(?<=>)(.*?)(?=<)/se', 'preg_replace("/\\"/", "”", "$1")', $str);
>>703
任意に指定するのは不可能。
Location の代わりに Refresh でジャンプさせれば、ブラウザによっては Referer が空になる。
0706703
2008/11/01(土) 14:09:59ID:???回答くださり、ありがとうございます。
確認ですが、サイトBから以下のようにサイトCへリダイレクトした場合、
サイトCから見たリンク元はサイトBになるということですよね?
サイトA→サイトB→サイトC
0708705
2008/11/01(土) 18:38:19ID:???リダイレクトしても普通はリンクを踏んだページが Referer になる。
サイト B で Location を出した場合 → サイト C から見たリンク元はサイト A
サイト B で Refresh を出した場合 → 送信されない
サイト C から見たリンク元をサイト B にしたければ JavaScript を使うか、
もう一度リンクを踏んでもらうしかないと思う。
0709nobodyさん
2008/11/02(日) 09:59:21ID:???>preg_replace('/(?<=>)(.*?)(?=<)/se', 'preg_replace("/\\"/", "”", "$1")', $str)
当方もHTMLタグ内以外の"を全角かなんかに置換したくてこれ応用したいんですけど自分の場合、
$str = <a href=http://aaa.html>宇宙"人</a><a href=http://aaa.html>未来"人</a><a href=http://aaa.html>超能力"者</a>;
みたく連続で並んでいるデータに対して置換を行いたいんです。
>>705のままだとふたつめ以降の<a>タグの"が全部全角に置き換わっちゃうので試行錯誤してみたんですがうまくいきませんでした。
解決のすべはあるでしょうか?PHP 5.26です。
0711705
2008/11/02(日) 16:38:15ID:???タグの間には <> が出てこないから、単純にこれでいいかも。
アサーション使わずに > < 込みで二番目の置換に渡しても結果は同じになるし、
二番目の置換は正規表現使わない方が高速だわ。
preg_replace('/>[^<>]*</se', 'str_replace("\\"", "”", "$0")', $str);
0712nobodyさん
2008/11/02(日) 17:50:57ID:tL8xHBO4俺昔タグ内のname=""の中にさらに"があるアホデータの置換断念したことあるわ
0713nobodyさん
2008/11/02(日) 18:29:46ID:6l/MEBbz代数演算子の記述が変な気がする。
前置加算→ $i++
後置加算→ ++$i
前置減算→ $i--
後置減算→ --$i
前置と後置が逆になってるような・・・
0714nobodyさん
2008/11/02(日) 18:32:13ID:???0715nobodyさん
2008/11/02(日) 22:29:09ID:???0716nobodyさん
2008/11/03(月) 02:43:21ID:q5+iesG+PEARのHTTP_Session と PEAR_DB を使う方法でしょうか??
他にセオリー的なものがあれば教えて頂けると幸いです。
0717nobodyさん
2008/11/03(月) 03:08:13ID:???0718nobodyさん
2008/11/03(月) 17:55:37ID:???0719nobodyさん
2008/11/03(月) 17:58:50ID:???0720nobodyさん
2008/11/03(月) 23:52:41ID:???ここは素直に session_set_save_handler でいいんじゃない?
session_start を使った既存のコードを変更したくない場合はおすすめ。
マニュアルでは全く触れてないけど、書くときはロックに気を付けろ。
本来はセッションに限ったことじゃないんだけど、セッションはフレーム
ページとかで読み書きのタイミングが重なりやすいので、特に同時接続を
意識して書かないと再現しにくいバグに悩まされる。
■ このスレッドは過去ログ倉庫に格納されています