【PHP】質問スレッドpart20【php】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
04/08/06 15:44ID:paJ4kjjQ・新規質問の方は上げてください。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
抜けているものがあったら補足願います
0029nobodyさん
04/08/08 00:27ID:???俺の場合、それは頻繁に使うからこうしている
変換する文字列を簡単に拡張できるようにstrtrを使っているが別にstr_replaceで置換を使ってもいいと思う
/* HTML特殊文字変換 */
function htmlspecialcharsEx( $text ){
$translations = array(
"'" => "?",
);
return strtr( htmlspecialchars($text) , $translations );
}
同様に改行付き出力の為にprintlnも定義したりしている。
0030nobodyさん
04/08/08 00:28ID:???$translations = array(
"'" => "'",
);
0031Tom
04/08/08 01:51ID:5rvsGlMWなるほど!!!そうすればいいのですね!早速やってみます。
レス本当にどうもありがとうございました!
0032nobodyさん
04/08/08 03:00ID:F0zxfskV皆さんどうしてるんですか?
0033nobodyさん
04/08/08 03:06ID:???0034nobodyさん
04/08/08 03:11ID:F0zxfskV0035nobodyさん
04/08/08 03:25ID:???鯖だってフリーのhttpdがいろいろあるのに。
0036nobodyさん
04/08/08 03:30ID:F0zxfskV0038nobodyさん
04/08/08 12:25ID:???"sendmail_from" not set in php.ini or custom "From:" header missing
と出て送れませんでした。
php.iniの[mail function]は
SMTP = localhost または SMTP = xx.xx.com(普段使ってるメールのSMTP)
sendmail_from = [email protected] (普段使ってるメールアドレス)
で試しました。;は外してあります。Apacheも再起動しています。
telnetを試したところ、上記のメールアドレスとSMTPで正常に送信できました。
どこがダメなんでしょうか、誰か助けてください……
0039nobodyさん
04/08/08 13:04ID:zYHZKtONSMTP = xx.xx.comって中継を許可してんの?
ま、まさかねぇ・・・
SMTP = localhostって自分のPCでメールサーバーを動かしてるよね?
0040nobodyさん
04/08/08 13:28ID:???#define W32_SM_SENDMAIL_FROM_NOT_SET19
<win32/sendmail.c>
static char *ErrorMessages[] =
{"\"sendmail_from\" not set in php.ini or custom \"From:\" header missing"}, // 19
/* Fall back to sendmail_from php.ini setting */
if (mailRPath && *mailRPath) {
RPath = estrdup(mailRPath);
}
else if (INI_STR("sendmail_from")) {
RPath = estrdup(INI_STR("sendmail_from"));
} else {
if (headers) {
efree(headers);
efree(headers_lc);
}
*error = W32_SM_SENDMAIL_FROM_NOT_SET;
return FAILURE;
}
つーことは、sendmail_fromが設定されていないんでねぇの?
0041nobodyさん
04/08/08 13:29ID:???うう、たぶんそれです。
PHP関係ない部分でコケてたんですね…すいません。
正直なとこメールだのSMTPだの、よく知らないんで(PHP自体も、覚えたてでして)
エラー文とかをググって、出てきた方法を片っ端から試したんですが……
それ以前の問題ってことでしょうか。また調べてきます。
0042nobodyさん
04/08/08 13:42ID:???皆さんどうしてます?
0043軟式PHP
04/08/08 14:08ID:???0045nobodyさん
04/08/08 14:13ID:???0046Imo ◆.jC7ANgFY.
04/08/08 14:36ID:???必要ページ数 = ceil(記事数 / 1ページあたりの表示数)
計算はこんなところ。あとはrangeでも使ったりして。
0047nobodyさん
04/08/08 15:01ID:zYHZKtONごっそりデータを読み込んでから拾うしかないのだろうか。
良い方法を見つけた人いないですか?。
0049nobodyさん
04/08/08 15:25ID:zYHZKtONありません!。
投稿総数を保存しているのは当然の事だしなぁ。
カウンターにもっと高度なヒントが隠されているのでしょうが、
どんなヒントなのだろう。
私には思い付かないので教えてくださいm(_)m。
005038
04/08/08 15:48ID:???mail関数などで調べると、どこのサイトを見ても、
php.iniの SMTP = xx.xx.xxx と sendmail_from = [email protected]
を自分の使ってるものにすれば、それで送れるようになる。
みたいに書いてあるんですが、勘違いなんでしょうか。それだけじゃダメなんですか?
0051nobodyさん
04/08/08 16:22ID:???0052nobodyさん
04/08/08 16:23ID:zYHZKtONSMTP = localhost
smtp_port = 25
というのは、localhost:25でMTA(メールサーバー)が稼働している
事が前提であってMTAが無ければ当然メールは送信出来ません。
他は、>>40を参照
0053nobodyさん
04/08/08 16:35ID:???GETの場合…$_GET['変数名']
これは普通の変数と何が違うんでつか?
0054nobodyさん
04/08/08 16:55ID:???0055nobodyさん
04/08/08 17:15ID:mbHx5JiBEUC-JP、Shift_jis、
どっちが一般的なんでしょう?
Shift_jis で使うのってナンセンス??
0056nobodyさん
04/08/08 17:28ID:???mbstring.internal_encoding = euc-jp
にするとメール送信フォームなんかのときに
再度、euc から shift_jisに変換する必要が出てくるんですよね?
0057nobodyさん
04/08/08 18:00ID:???かきくけこ
さしすせそ
仮に上のような複数行にまたがる文字列があったとして
「こ」を含む行全体(かきくけこ)のみを取得するには
どうすれば良いのでしょうか?
どうぞよろしくお願いします
005955
04/08/08 18:23ID:???shift_jis だと問題ありでしょうか?
0060nobodyさん
04/08/08 18:23ID:???内部コードはOSによる
・Windowsならshift-jis
・LinuxならEUC(FedoraはUnicodeらしいがよく知らん)
詳しくはここ
http://tsuttayo.sytes.net/php/char_trn/index.html
0061nobodyさん
04/08/08 18:33ID:???>>内部コードはOSによる
(! ̄д ̄)えぇぇぇ
それはちょっとおかしいだろ。
そもそも本家で配布されているWin用バイナリは--enable-zend-multibyteしてるんだっけ?
--enable-zend-multibyte付でコンパイルされてなかったらSJISを内部コードに出来なかったと記憶しているが。
006261
04/08/08 18:35ID:???スクリプトが--enable-zend-multibyteしていないとSJISは拙いんであって
internal_encodingは問題ないのか。。。
0063nobodyさん
04/08/08 18:41ID:???その方がいいと思うよ
0064軟式PHP
04/08/08 20:49ID:???いや、今年は行ってないな。周りから「色白すぎ」と言われる。
焼けても赤くなるだけのタイプ>俺
>>57
正規表現使うとか、改行で分割して判定して取得とか。
0065nobodyさん
04/08/08 21:34ID:???ttp://www.gta-series.com/eng/index.php
↑のサイトはどこでphpを使っているんでしょうか?
教えてください、お願いします
0067nobodyさん
04/08/08 21:45ID:???0068nobodyさん
04/08/08 21:48ID:Odqra96P0070Imo ◆.jC7ANgFY.
04/08/08 22:09ID:???$txt = <<<EOM
あいうえお
かきくけこ
さしすせそ
EOM;
$search = preg_quote('こ');
$txt = preg_grep("/$search/", explode("\n", $txt));
echo implode("\n", $txt);
0071nobodyさん
04/08/08 22:20ID:???あいうえお
かきくけこ
さしすせそ
EOM;
0072nobodyさん
04/08/08 22:23ID:???いやん
ばかぁん
えっちぃ
ERO;
0073nobodyさん
04/08/08 22:33ID:???0074nobodyさん
04/08/08 22:41ID:???preg 系は文字コードが UTF-8 で u オプションを使用するときだけにした方がいい。
その例で、文字コードが EUC-JP の場合、「修学旅行」という文字が含まれていても引っかかる。
0075nobodyさん
04/08/08 23:22ID:Odqra96Pその変数をfor文を使って初期化したいです。
for($i=0; $i<10; $i++)
$data$i = "abc";
これだと、エラーで動きません。
どこを修正したらいいでしょうか?
0076nobodyさん
04/08/08 23:29ID:???0078nobodyさん
04/08/08 23:31ID:???${"data".$i} = "abc";
007975
04/08/08 23:32ID:Odqra96P0080nobodyさん
04/08/09 00:07ID:???0081軟式PHP
04/08/09 00:54ID:???008278
04/08/09 01:30ID:???0083nobodyさん
04/08/09 02:15ID:???どーでも良いが、0から10まで作りたいなら
for ($i=0;$i<=10;$i++) じゃないのか?
>>78
なんでだろ?
0084nobodyさん
04/08/09 02:47ID:???<?php
$name = "山田";
$_GET ["name"];
print $_GET;
?>
実行結果「Arrey」
$_GETの使い方教えてください・・・
008684
04/08/09 03:13ID:???0087nobodyさん
04/08/09 03:13ID:???0089nobodyさん
04/08/09 04:15ID:???○ o ○ ○ 「ママー夏過ぎるよ」
○`「「「l
\. V7 r‐、
____`o ○ | |. >、,>
// |O。゚-ト、. | | |
.//| /(・) ∩ |o. | | | /\ | |
|//| | | | | / | | ̄`l /\
|//| (・) \_| |─/ /く | / r、/`ーっ
|// \ | / / | \/\/ `ー'"
|/ ヽ__ // / | /
mn____|___r──l__/ | /
ヽ_______|__ノ────' ──''"
0090軟式PHP
04/08/09 09:13ID:???<?php
print 'GET:' . $_GET['name'] . '<br>' .
'<a href="'.$_SERVER['PHP_SELF'].'?name=山田">山田クリック</a><br>';
?>
0091nobodyさん
04/08/09 09:26ID:???<?=$_GET["name"];?>
軟式軟式。私も真っ白。
0092Imo ◆.jC7ANgFY.
04/08/09 10:44ID:???ついついpregしか使わない癖があってorz(perlから入ったからかなぁ、、、
ereg_replace_callbackみたいなのがあったら移りやすいのだけど…。
>>90
rawurlencodeをして渡したほうがいいのでは?
ブラウザによっては日本語をUTF-8に変換して取得しようとするから、
0093nobodyさん
04/08/09 11:04ID:???そのた制限ありますかね?
〜だと全く変換されないとかっての
$conv = mb_convert_kana($str, 'asHVc');
0094軟式PHP
04/08/09 11:13ID:???確かに。スマンカッタ。GETで直接日本語を渡す機会が殆ど無かったから忘れてた。
そういえばHDMLのFORM構文の初期値に日本語を入れる場合もurlencodeしてたなぁ。
初心者にはエンコ無い方が分かりやすいかもしれないからユルシテ。・゚・(ノ∀`)・゚・。
0095nobodyさん
04/08/09 11:46ID:lYQyr6Nk配布されているところって知らないかい?
0096nobodyさん
04/08/09 12:07ID:???0097nobodyさん
04/08/09 12:14ID:???まぁその前にSQLを全然知らないみたいだが
0098nobodyさん
04/08/09 13:48ID:???それを DB に落とし込むのは日本各地で車輪の最発明は無駄だよね。
あと、郵便番号は更新しないといけないし。
大学のデータとかもどこか SOAP や XML-RPC とかで提供しないかな。
0099nobodyさん
04/08/09 14:00ID:???0100nobodyさん
04/08/09 14:32ID:???Class関連の使い方はだいたい分かるのですが、
実際に使っていきたいのですが、
どうもとっかかれなくて、書籍もJAVA関連になるので躊躇ぎみで、
こんなところから、とっかかればいいよ、などなど
アドバイスを頂ければと思っています。
宜しくお願いします。
0101nobodyさん
04/08/09 14:35ID:???まずは言語とは無関係にオブジェクト指向が何かを学ぶことをお勧めします。
0102軟式PHP
04/08/09 16:21ID:???Class使えればオブジェクト指向と思ってる100君には
「オブジェクト脳のつくり方」でも読んでみるといいかも。
0103軟式PHP
04/08/09 16:36ID:???憂鬱なプログラマのためのオブジェクト〜も読んでみれ。・゚・(ノ∀`)・゚・。
0104nobodyさん
04/08/09 17:00ID:GoEzAwXJarray_uniqueを使うと、配列から重複した値を削除しますよね。
もし、重複した値を残したければどう処理すればよいでしょうか?
それ専用の命令はありますか??
0105nobodyさん
04/08/09 17:06ID:???0106軟式PHP
04/08/09 17:14ID:???$array1 = array("1","2","3","3","4","4","5","6","7","8","8","9");
$array2 = array_unique( $array1 );
$array3 = array_diff_assoc( $array1, $array2 );
print_r( $array3 );
?>
0108nobodyさん
04/08/09 18:06ID:GoEzAwXJありがとうございました。
array_diff_assocという関数があるのは始めて知りました・・・。
0109nobodyさん
04/08/09 19:11ID:???0110nobodyさん
04/08/09 19:27ID:w1W9HQhoclk(this,'res',15)
(15は正の整数でいろいろ変わる)
という文字列がたくさん含まれている文字列$contentsに対して、
preg_match_all("/,([0-9]+)/",$contents,$matches);
とやると数字がとれるのですが、
preg_match_all("/',([0-9]+)/",$contents,$matches);
や
preg_match_all("/\',([0-9]+)/",$contents,$matches);
とすると数字がとれません。なぜなのでしょうか?
0111nobodyさん
04/08/09 19:59ID:???0112110
04/08/09 20:28ID:???0113110
04/08/09 20:34ID:???でもひっかかりません。ということは、
なにか根本的な勘違いをしてるのでしょうか・・・?
0114nobodyさん
04/08/09 20:44ID:1E04QFET0115110
04/08/09 20:47ID:???0116nobodyさん
04/08/09 21:05ID:lYQyr6Nkリスティング
個別ページ
検索機能
htmlテンプレート
を作りたいが、どこからやればよいか・・・
参考になる本・サイトはありますか?
0117nobodyさん
04/08/09 21:13ID:???2.リスティング
3.検索
4.個別ページ
0.PHP
0118nobodyさん
04/08/09 21:13ID:1E04QFET機能だけ列挙したって意味がない
何が作りたいのかきちんと書け
0119nobodyさん
04/08/09 21:16ID:???0120nobodyさん
04/08/09 21:21ID:???UserAgentは「-」となっているみたい
(確認しました)ですが、
これを任意の文字列に変える方法はありますでしょうか?
0121nobodyさん
04/08/09 21:53ID:???検索してみたんですがそのまま表示するだけの解説しか見つからなくて・・・
よろしくお願いします。
0122nobodyさん
04/08/09 22:11ID:???ホントに検索したのか?!
http://www.php.net/manual/ja/function.imagejpeg.php
012468
04/08/09 22:28ID:Wd+U0VKlコメントをこれ以上長くすると、表示がおかしくなってしまいます。
<?php
// ファイルから読んでいくよ
$fp = fopen("./test.txt","r");
for(;;){
// ファイルから一行読み込む
$line = fgets($fp);
if($line == null)
break;
list($ban,$com) = explode("<>", $line);
// 読み込んだ行を出力する
print "<H4>番号:$ban</H4>";
print "<P>コメント:$com</P>";
}
fclose($fp);
?>
012568
04/08/09 22:31ID:Wd+U0VKlttp://rivernet.cool.ne.jp/upmini/200408a/20040809223111_.txt
0126nobodyさん
04/08/09 22:49ID:???即興で書いてみた。
<?php
$fp = @fopen("./test.txt","r") or die("File open failed");
print("<dl>");
while( ($s = fgets($fp)) != null ){
list($ban,$com) = explode("<>",$s);
print("<dt>{$ban}</dt>");
print("<dd>{$com}</dd>");
}
print("</dl>");
fclose($fp);
?>
0128nobodyさん
04/08/09 23:03ID:uySv1+mCは?頭悪いの?
012968
04/08/09 23:06ID:Wd+U0VKlこれでも駄目です。
■ このスレッドは過去ログ倉庫に格納されています