【PHP】下らねぇ質問はここに書き込みやがれ 29
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/09/17(日) 04:26:39ID:???まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆質問する場合の注意
1. 自分のIDを表示させること。(メール欄に何も記述しないでください)
2. サーバーのOS、WebサーバーとPHPの種類やバージョン等を明記すること。
3. 己の行った操作、変更などを詳しく明記すること。
4. エラーメッセージはそのまま表記すること。「エラーが出ます」では絶対分かりません。
5. 質問者としても態度をわきまえること。
6. 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・質問者は必ずIDを表示させてください。(メール欄に何も記述しないでください。)
・2回目以降は最初に質問した際のレス番号を名前欄に入れてください。
(逆に回答者は質問者に対して>>(アンカー)をつけて答えてください。)
・解決しなくても回答をもらった場合はお礼を言う。
(荒らし、煽りは除く。逆に煽られたときも、無闇に反論せずスルーすべし)
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え。理解できないならムリに使うな。
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
0266nobodyさん
2006/09/21(木) 16:59:25ID:yxCjYnZV入力されたデータを書き込む前の加工はどのページで行うのがふさわしいでしょうか?
0267nobodyさん
2006/09/21(木) 17:02:47ID:???おれもメール関数でめちゃくちゃ悩んで1ヶ月ぐらいしてあきらめたときがあった。
そんときの解決策。
to,サブジェクト、本文の他にFromも設定してあげたらうまくいった。
たったそれだけだけど、こんなことで1ヶ月も悩んだ。
ためしてみな。これでもだめなら別の回答者が現れるのをまつ。
0268nobodyさん
2006/09/21(木) 17:09:25ID:???ちと、商品数が増えてきて、しんどくなってきた悪寒
0269nobodyさん
2006/09/21(木) 17:10:45ID:???ttp://www.php.net/manual/ja/function.mail.php
にfromなきゃ駄目って書いてあるな・・
マニュアル嫁
ソース晒せ
ってのを守ればもうちょっと早かったはず
0270nobodyさん
2006/09/21(木) 17:10:47ID:???対処法ありますか??
0271nobodyさん
2006/09/21(木) 17:12:36ID:???0274nobodyさん
2006/09/21(木) 17:39:57ID:25o/CiRuなるほど。早速試してみます。
0275nobodyさん
2006/09/21(木) 17:48:19ID:???MysqlのVARCHAR(10)のDefaultがNOT NULLってあるんですけど、これは
どういうときにNOT NULLを使うのでしょうか?
0276nobodyさん
2006/09/21(木) 17:56:51ID:fiT61BpR$result = mysql_query("SELECT id FROM table1");
while($r = mysql_fetch_array($result)){
echo "$r['id']:";
$result2 = mysql_query("SELECT row1 FROM table2 WHERE id = $r['id']");
while($r2 = mysql_fetch_array($result2))
echo "$r2['row1'] ";
}
と同様のことを、よりスマートに行う方法ありませんか?
table1からは200件程度取り出します。
0277nobodyさん
2006/09/21(木) 17:58:20ID:???0279nobodyさん
2006/09/21(木) 18:41:11ID:???だれかこんなおいらに分かりやすい説明をぷりーず
0281nobodyさん
2006/09/21(木) 18:48:20ID:25o/CiRu残念ながら関係ありませんでした・・・fromなくっても動きました・・・
0282nobodyさん
2006/09/21(木) 18:52:45ID:yxCjYnZVまたはsession_destroy();で破棄するべきでしょうか?
あるサイトでarray()で初期化しろとうたっているページを発見したのですが、
配列でセッション変数を初期化したほうがいいのでしょうか?
ご指摘お願いいたします。
0283282
2006/09/21(木) 19:04:35ID:yxCjYnZV$hoge=セッション変数;←$hogeにセッション変数代入
session_destroy();←ここでセッション破棄
これがエラー(Notice: Undefined index: hoge)として帰ってきてしまいます。
セッションを破棄したことで、$hogeには何も入ってないからでしょうが、
どう記述していいのかわかりません。
0284えがみボンバイエイ
2006/09/21(木) 19:07:17ID:???こういうサイト作り中なのですが、文字化けしてしまいまして、文字コード変換を教えてもらいたいです。
ソースは
<?php
//URL
$url = array("http://yahoo.co.jp","http://www.bb-chat.tv/","http://www.snsnavi.jp/","http://mixi.jp","http://livedoor.jp","http://iki.2ch2.net/");
//$url配列を一個づつ処理
foreach ($url as $value){
//メタタグの内容を取得
$array = get_meta_tags($value);
//メタタグの内容を表示
echo "<p>サイト名(サイトへリンク):"."<a href=".$value.">サイト名</a>";
echo "<p>サイトのサムネイル:<img src=".'http://img.simpleapi.net/small/'.$value." >" ;
echo "<p>はてなブックマーク数:<img src=".'http://b.hatena.ne.jp/entry/image/'.$value." >" ;
echo "<p>サイトの内容:".$array["description"];
echo "<p>サイトのキーワード:".$array["keywords"];
echo "<hr />";
}
?>
で、echo "<p>サイトの内容:".'mb_convert_encoding( $array["'.'description'.'"],"Shift-JIS","auto")' ;
みたいにすればいいのかなと思うのですが、どうもうまくいきません。。。
0286nobodyさん
2006/09/21(木) 19:12:37ID:???autoの判定が怪しくなるんじゃないの?
0287nobodyさん
2006/09/21(木) 20:15:22ID:8hLu55dO0288nobodyさん
2006/09/21(木) 20:19:45ID:???http://www.google.com/search?num=50&hl=ja&inlang=ja&ie=Shift_JIS&oe=Shift_JIS&safe=off&q=get+%2B%22%3D%26%22+php&lr=lang_ja
0289287
2006/09/21(木) 20:20:24ID:yxCjYnZV>>287へ
0290nobodyさん
2006/09/21(木) 21:29:24ID:???ビット演算子
ttp://www.php.net/manual/ja/language.operators.bitwise.php
このページ見てもビットちんぷんかんな俺には分からないけどな
0291nobodyさん
2006/09/21(木) 21:33:52ID:???http://www.php.net/manual/ja/language.references.whatdo.php
0293nobodyさん
2006/09/21(木) 22:24:48ID:yxCjYnZVエラー1067がでて起動できません。
文字コードがsjisだと問題なく起動できるのですが、
eucにするのは無理でしょうか?
0295nobodyさん
2006/09/21(木) 22:39:54ID:???0296nobodyさん
2006/09/21(木) 22:45:48ID:???0297nobodyさん
2006/09/21(木) 23:19:45ID:???0298293
2006/09/21(木) 23:37:31ID:???お騒がせしました。
0299nobodyさん
2006/09/21(木) 23:42:18ID:wtB1wQTqhttp://2ch.net/ → <a href="http://2ch.net/">http://2ch.net/</a>
<a href="http://2ch.net/">http://2ch.net/</a> → <a href="<a href="http://2ch.net/">"><a href="http://2ch.net/"></a>
$str = eregi_replace("([^=\"])http://([a-z0-9\_\-\./~@?=&-\#]+)([^<\"])", "\\1<a href=http://\\2 target=_blank>http://\\2</a>\\3", $str);
$str = eregi_replace("([a-z0-9\_\-\.]+)@([a-z0-9\_\-\.]+)", "<a href=mailto:\\1@\\2>\\1@\\2</a>", $str);
これだと、時々判定漏れで可笑しくなってしまいますorz
0301nobodyさん
2006/09/22(金) 00:38:03ID:???そんな面倒が嫌だから、リンクを作ったりテキストを弄るのは表示直前なんだよ
確実にやりたいならリンクを戻すことから始めりゃいんじゃない。
0302nobodyさん
2006/09/22(金) 01:07:04ID:???真面目にやるならこんな感じ
ttp://www.din.or.jp/~ohzaki/perl.htm#AutoLink
0304nobodyさん
2006/09/22(金) 02:11:15ID:???0305nobodyさん
2006/09/22(金) 02:16:31ID:???さらっとかどうかは知らんけど
echo strtotime(preg_replace('/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/', '\1-\2-\3 \4:\5:\6', $str));
くらいのもんじゃないの?
0306nobodyさん
2006/09/22(金) 02:33:23ID:0rl6NvDWログイン情報としてsession()を、掲示板の名前等を記憶されるためにsetcookie()を
同じスクリプト内で使いたいのですが、上手くいきません。どちらかだけだと大丈夫なのですが、
両方使う場合にはどうしたら良いのでしょうか?
0307nobodyさん
2006/09/22(金) 02:38:27ID:???両方SESSIONじゃダメなの?
ってか掲示板の名前を覚えさせる必要って言うのはあるのかな?
POSTとかで事足りる希ガス
0308nobodyさん
2006/09/22(金) 02:48:57ID:0rl6NvDWすいません、説明が不十分でした。
掲示板の名前っていうのは投稿した際のHNとかのことです。
0309nobodyさん
2006/09/22(金) 02:49:43ID:???サンクス
$yyyy = substr($src_date, 0, 4);//年
$mm = substr($src_date, 4, 2);//月
$dd = substr($src_date, 6, 2);//日
$hh = substr($src_date, 8, 2);//時
$mm = substr($src_date, 10, 2);//分
$ss = substr($src_date, 12, 2);//秒
なんて面倒なことをするとこでした。
0310nobodyさん
2006/09/22(金) 02:56:03ID:X1gmluk1配列である$linesの要素から、正規表現でマッチした配列の要素を削除する
方法が思い浮かびません。これはどうしたら出来るでしょうか?
preg_replace ('/^$/', '', $lines) だと、空文字列 ('') に置換できますが
配列の要素自体を取り除くことはできませんでした。
0311310
2006/09/22(金) 03:01:16ID:X1gmluk1ごめん。
マニュアルのArray見るの忘れてた。これでイケるかな。
0312270
2006/09/22(金) 03:07:31ID:cF1a5TbS普通にそれでググってもなくない??
auの絵文字を実体参照に変えるやりかた
0313nobodyさん
2006/09/22(金) 04:10:46ID:???http://ns1.php.gr.jp/pipermail/php-users/2004-November/024085.html
0314nobodyさん
2006/09/22(金) 06:52:44ID:???foreach(range(0, count($lines) - 1) as $i) {
if(preg_match('/条件/', $lines[$i])) unset($lines[$i]);
}
0316nobodyさん
2006/09/22(金) 09:04:42ID:6cSapPbrPHP Version 4.3.10-16 です。OSはLinuxです (Debian 3.1)
以下のようなスクリプトを実行すると、
echo strtr('abc', 'b', 'B')."\n";
echo strtr('abc', array('b' => 'B'))."\n";
echo "\n";
echo strtr('abc', 'b', '')."\n";
echo strtr('abc', array('b' => ''))."\n";
以下のような結果になるのですが、
aBc
aBc
abc
ac
なぜ、三行目は「ac」にならずに「abc」と表示されるのでしょうか。
説明書を見てもそうなるとは書いてないように読めるのですが。
参考資料などありましたら教えてください。
0317nobodyさん
2006/09/22(金) 09:38:17ID:???0318nobodyさん
2006/09/22(金) 09:45:26ID:???> string strtr ( string str, string from, string to )
> この関数は str を走査し、 from に含まれる文字が見つかると、そのすべてを to の中で対応する文字に置き換え、 その結果を返します。
「対応する文字」だと書いてある。
ちなみにソース上では、fromの長さとtoの長さのMIN、つまり小さいほうをとってそこまでの長さ分しか処理してない。
まあ、toに空文字を指定したらfromに含まれる文字を全部削除、みたいな仕様のほうが便利だろうけどね。
俺の経験上strtrってそんなに使用頻度の高い関数じゃないし、何かperl由来の事情か何かあるんじゃね?
0319nobodyさん
2006/09/22(金) 10:04:52ID:???strtrのもとは、perlのtr演算子、そのもとになってるのはUNIXのtrコマンドだろうけど、
確かに、それらには空文字だから削除するなんて仕様はないからこの動作のほうが自然化。
納得。(Perlだと、tr/b//d としないと削除しない)
アメリカ人が書いたPHPスクリプトに、あたりまえのように
strtr($hoge, array("\n" => "", "\r" => ""))
とか使われていたので、ついうっかりしてしまった。
どうもありがとう。
0320nobodyさん
2006/09/22(金) 10:12:59ID:???どこの誰だw
0321nobodyさん
2006/09/22(金) 10:27:18ID:???,.r " 、 ` 、
/ )、、 \
/ ノ ヽ ヽ、
/ ル' ヾ ヽ
/ / ゙i, ゙i
j ,ィ/ ゙i, |
lィ' ,ィ/j/ | iリ
| /l / '"` | |l
リ! ./,ノ _,、=''''`ヘ ,リ
゙! l/ ,:-ー=‐-ミ、,,_,.ノ /(::ノ-‐)ーV´
ヽ,/`ヽヽ .ト、 (;:ソ-‐)- 、,-トi´ ,ノ
, ヘ ゙iヽl `ヽ,r'´ ノ ヾー--‐''゙i
,,.く ゙i ゙i ヽ、 __,,、-'" 〉 ,!
ハ'´ ゙! ゙i ,! ´ ´ ./.......,,,,,,,,____/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
゙、゙i,__r'゙゙>ー┬-!_j _______ , /;\;;;;;;;;;;;;:;;;;| 私はムスカ大佐だ。
,゙V" ゙ヽ;;;! l ゙!、 ゙ー一'''''"´ /;;;;;;;;ヽ;;;;;;;;< 呼んだかい?
,.:r''";;;;ヽ. - ''^゙~ ゙ヽ,ヽ ,,.、-─‐- .,/;;;;;;;;;;;;;ヽ;;;;;;;;;;|
,.:r'''";;;;;;;/;;r'´ -‐‐'''"´~ヽ\ (.r‐'''""゙"''''y.);;;;;;;;;;;;;;;;〉;;;;;;;\_____________
;;;;;;;;;;;;;;;;;l;;;| _,,..、-‐^ヾ゙ヽ、 _,,ヽ ,/'゙!;;;;;;;;;;;;∠、;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;j;;;;| ,⊥, ゙i :レ' ゙!;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;!;;;:;| -‐''"´ ゙)ゝ、、 ! !. !;;;;;;;;;;;;;;;;!;;;;;;;;;;;;;;;;;;;;
0322nobodyさん
2006/09/22(金) 10:35:15ID:???echo strtr('abc', 'b', '')."\n";
echo strtr('abc', array('b' => ''))."\n
の違いがよくわからない私に分かりやすく教えてくれませんか。
0324nobodyさん
2006/09/22(金) 10:53:46ID:???0325nobodyさん
2006/09/22(金) 11:03:32ID:???それに慣れてる人が互換コマンドとして使えばいいものであって、
そうでない人まであえて使う必要はそれほど無いだろう。
でもtrのPHP版での拡張モード(配列で複数ワードを指定し、多重変換は抑止してくれる)は
str_replaceで同じことするのも案外面倒くさくて、結構便利な関数だよ。
0326nobodyさん
2006/09/22(金) 11:09:39ID:???> 説明書を見てもそうなるとは書いてないように読めるのですが。
> 参考資料などありましたら教えてください。
ttp://www.php.net/manual/ja/function.strtr.php
> from と to の長さが異なる場合、長い方の余分な文字は無視されます。
じゃ参考になりませんか。
0327nobodyさん
2006/09/22(金) 11:24:33ID:???str_replaceも配列とって重複避けるモードもあるし、こっちのほうが一般的じゃないか?
PearもZFもこのスレで登場するのもstr_replaceが圧倒的に多数かと思う。
引数のとり方が違うから状況に応じて使い分けりゃいいんだけどね。
0329nobodyさん
2006/09/22(金) 11:38:32ID:???前者は文字単位の指定方法で、この指定では変換対象の文字が無いから無視される。
後者は単語単位の指定方法で、ちゃんと変換単語("")が指定されているから機能する。
そんだけ。
0333270
2006/09/22(金) 14:03:28ID:???http://mlmlml.nobody.jp/sample/AuBuiltInIconConvertor.txt
リンク先じゃなくてここのことですよ?
0334332
2006/09/22(金) 16:08:59ID:???見れるよ。別にあんたと見れる見れないの論争をするつもりはない。
あんたは見れないが俺は見れるんだろ。別に俺は困らん。
0341nobodyさん
2006/09/22(金) 19:21:51ID:???0343nobodyさん
2006/09/22(金) 19:36:45ID:S0P77otq自分は普通に、Excel使っているけど、複数人で一つのチェックシートを使う場合
Excelだと不便を感じる。
↓こんな感じのものはPHPで転がってないですかねぇ?
http://tomo.s217.xrea.com/griwiki2/griddata_list.php?id=demo1&category=2&page=4
0344270
2006/09/22(金) 19:39:08ID:???確かにあまりつかいがって良くないかも
0345nobodyさん
2006/09/22(金) 20:13:30ID:???こんなくだらんことにも気づけなかったくせに教えてくれた人に礼も無しとはな。
0346nobodyさん
2006/09/22(金) 21:11:07ID:???あ、こいつ(頭が)足りないな…
とは思っていたがw
0347nobodyさん
2006/09/22(金) 21:25:54ID:???ソースの確認すら出来てないと思うぜ
0350nobodyさん
2006/09/22(金) 21:55:58ID:???0351nobodyさん
2006/09/22(金) 23:10:11ID:aEgPknQ10353351
2006/09/22(金) 23:17:56ID:aEgPknQ1なるほど、それなら自分の打ちやすい方でいいのですね。
fwriteが5byteでfputsが4byteなのですが、それの違いによる動作速度の差などは生じたりしますか?
0355nobodyさん
2006/09/22(金) 23:24:59ID:???0356nobodyさん
2006/09/22(金) 23:55:51ID:???0357nobodyさん
2006/09/22(金) 23:57:46ID:???0358nobodyさん
2006/09/23(土) 00:08:06ID:???たとえば、
http://www.livly.com/mypage.php?uid=1Q9u
から
http://www.livly.com/mypage.php?uid=3Q9u
のなかの
http://www.livly.com/item/musikui.swfが含まれているswfを表示するようなスクリプトです、
宜しくお願いします。
0360351
2006/09/23(土) 00:30:44ID:TznJyQfl遅くなりました。
ではなれてるfwriteを使っていこうと思います。 どうもありがとうございました。
0361nobodyさん
2006/09/23(土) 01:28:21ID:???まぁ>>270はかなり痛いということがわかった。
0362nobodyさん
2006/09/23(土) 02:07:09ID:oZb6fCvN$TEST = array("ASP", "Perl", "PHP", "SSL", "HDML");
$RESULT = array_splice($TEST,3,2,"Ruby");
print_r($RESULT);
このようにすれば
「ASP,Perl,PHP,Ruby」
のような結果が得られると思ったのですが・・・。
なぜかブラウザには
「SSL,HDML」
が出力されます。。。
これは単に私の勘違いなのでしょうか?><;
どなたか解説の方お願いします。
0364nobodyさん
2006/09/23(土) 02:46:16ID:???「ASP,Perl,PHP,Ruby」になったのは変数$TEST。
$RESULT = array_splice($TEST,3,2,"Ruby");
じゃなくて
$DELETE_VALUE = array_splice($TEST,3,2,"Ruby");
って書けば意味分かる?
array_spliceはarray_pushやarray_shiftとかと同じで第一引数を直接編集するもの。
0365363
2006/09/23(土) 02:51:38ID:???マニュアルには
http://jp.php.net/manual/ja/function.array-splice.php
削除された要素で構成される配列が返されます。
とある
例 1. array_splice() の例
を見ても戻りを使ってないっしょ
0366nobodyさん
2006/09/23(土) 05:45:46ID:???Shift_JISで書き込まれるようなのですが、
UTF-8で書き込みしたいです。
文字コード指定などはどのようにやればできるのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています