トップページphp
1001コメント286KB

【PHP】下らねぇ質問はID出して書き込みやがれ 80

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2009/02/01(日) 18:10:57ID:PdwQzQch
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 78
http://pc11.2ch.net/test/read.cgi/php/1230026935/

◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
0622nobodyさん2009/02/12(木) 14:09:41ID:???
お前がキレイに書け
0623nobodyさん2009/02/12(木) 14:10:00ID:???
っていうか&とかめんどくさくね?

shiftおしながら&とかキーも離れてるし。

andなら即入力できるわ。
0624nobodyさん2009/02/12(木) 14:10:45ID:???
>>621
お前が書いてくれるんだろ?
0625nobodyさん2009/02/12(木) 14:12:33ID:???
if(>>621 == >>552){
print "氏ね";
}
0626nobodyさん2009/02/12(木) 14:13:22ID:???
と、初心者がお怒りのようです
0627nobodyさん2009/02/12(木) 14:13:59ID:???
if(>>621 == "初心者"){
print "true";
}
0628nobodyさん2009/02/12(木) 14:14:28ID:???
と、初心者がお怒りのようです
0629nobodyさん2009/02/12(木) 14:15:02ID:???
と、初心者がお怒りのようです
0630nobodyさん2009/02/12(木) 14:15:06ID:???
>>627
trueの使い方・・・・
0631nobodyさん2009/02/12(木) 14:15:33ID:???
と、初心者がお怒りのようです
0632nobodyさん2009/02/12(木) 14:17:32ID:???
と、初心者がお怒りのようです
0633nobodyさん2009/02/12(木) 14:18:41ID:???
なぁなぁ、俺をほっといて進行するなよ
0634nobodyさん2009/02/12(木) 14:21:08ID:???
と、>>625がお怒りのようです
0635nobodyさん2009/02/12(木) 14:34:56ID:lqdvRsSw
PHPでURLから変数を渡す場合、GETを使用して下記の通り入力しています

www.nobody.jp/?id=20090212


これを、例えば2chのように

www.nobody.jp/20090212/

としたい場合は、PHPの中身をどうしたらよいでしょうか?

よろしくお願いいたします
0636nobodyさん2009/02/12(木) 14:35:37ID:???
コンパイルしなおすか?って話?
ないない
0637nobodyさん2009/02/12(木) 14:40:01ID:???
mod_rewrite
0638nobodyさん2009/02/12(木) 14:44:40ID:???
>>635

path_info
query
0639nobodyさん2009/02/12(木) 14:44:41ID:???
ctype_digit((string)$i)
これが一番
0640nobodyさん2009/02/12(木) 14:51:50ID:???
>>639
"0" "01"
0641nobodyさん2009/02/12(木) 14:58:27ID:???
$i = "0123";
$i = $i*1;

if (ereg("^[0-9]+$",$i) and $i != 0) {
print "test";
}
0642nobodyさん2009/02/12(木) 15:01:22ID:???
>>641
0123でfalseにならないといけないわけでしょ。本末転倒
0643nobodyさん2009/02/12(木) 15:07:28ID:lqdvRsSw
>>638
ありがとうございます
家に帰ったら試してみます
0644nobodyさん2009/02/12(木) 15:08:14ID:???
そもそも10進数かどうかを判断する関数が無いPHPが悪い
0645nobodyさん2009/02/12(木) 15:12:22ID:???
$i = "0123";
if(ereg('^0+',$i)){
$i = "error";
}

if (ereg("^[0-9]+$",$i) and $i != 0) {
print "test";
}
0646nobodyさん2009/02/12(木) 15:22:25ID:???
>>645
$i = "123\0";
0647nobodyさん2009/02/12(木) 15:24:05ID:???
君たちのレベルの低さに吐き気がする
0648nobodyさん2009/02/12(木) 15:28:12ID:???
>>647
じゃあてめーが作れ
0649nobodyさん2009/02/12(木) 16:14:09ID:???
煽りにいちいち反応するなよ。
言わせとけ。
0650nobodyさん2009/02/12(木) 16:54:48ID:???
$i*1 これ地味に使えるな
0651nobodyさん2009/02/12(木) 17:01:58ID:???
おまえらエディタは何つかってるの
おれはphpエディタってやつ。
乗り換えようかな
0652nobodyさん2009/02/12(木) 17:09:00ID:???
今年のバレンタインデーはすごいヴぉ!

2/14 8:31:30 にUNIXtimeが「1234567890」になるんだっちょ。

チョコが貰えないorz、とかいって拗ねてる場合じゃないぜベイベー
0653nobodyさん2009/02/12(木) 17:09:04ID:???
>>651
viエディタ
0654nobodyさん2009/02/12(木) 17:19:43ID:aZX0AV9v
serializeしたデータの中にHtml要素の文字列があるとunserializeで失敗してしまうんですが、
これは回避できないんでしょうか
0655nobodyさん2009/02/12(木) 17:22:53ID:???
>>651
PwwwHwwwwwPwwwwエwwディwwwタwwwwwwwwwwwwwwwww
0656nobodyさん2009/02/12(木) 17:26:43ID:???
>>654
何があるとだめなん?
0657nobodyさん2009/02/12(木) 17:32:06ID:???
>>654
何がどう失敗で、どんなエラーメッセージが出るの?
0658nobodyさん2009/02/12(木) 17:54:09ID:aZX0AV9v
falseが帰ってくるだけでエラーは出てないようです。
調べてみたら ' があると駄目みたいです。¥を使っても駄目みたいです。

0659nobodyさん2009/02/12(木) 17:58:13ID:???
>>658
それは、serializeしたデータの保存&読みだしでデータが欠損してるんじゃないの?
serializeしてその場でunserializeしたらどう?
0660nobodyさん2009/02/12(木) 18:02:38ID:???
試してみたけどfalseなんて返ってこないで正常に実行できるけど
0661nobodyさん2009/02/12(木) 18:05:58ID:???
あたりまえだ
0662nobodyさん2009/02/12(木) 18:13:38ID:???
PHPエディタはCotEditorが一番だと思います
0663nobodyさん2009/02/12(木) 18:21:26ID:yggi4kx9
unixタイムから日数だけを得る方法を教えて下さい
できるだけシンプルなのがいいです。

例えば去年の10月1日のタイムスタンプがあって、今年の2月2日のタイムスタンプがあった場合
その間は何日なのかが知りたいです
0664nobodyさん2009/02/12(木) 18:24:59ID:Xw2bfIqD
携帯の絵文字の切り出しに、
mb_ereg_search_*系の関数を使おうと思ったのですが、
どうも挙動がおかしいので調べたところ、
以下で、mb_regix_encodingは-win系のエンコードが使えないと見ました。
http://ml.php.gr.jp/pipermail/php-users/2003-October/018702.html
これはかなり以前の記事ですが、現在のPHP5でもそうなのでしょうか?
0665nobodyさん2009/02/12(木) 18:29:43ID:nDyTrHL0
ホームページにコメント機能を付けたいと思ってます
教えてください
0666nobodyさん2009/02/12(木) 18:37:15ID:aZX0AV9v
DBへ入れたものが駄目なようでした。

何かが違ってるようにも見えないんですが・・・・
0667nobodyさん2009/02/12(木) 18:50:34ID:???
>>666
addslashes()
これ使おうな
0668nobodyさん2009/02/12(木) 19:10:52ID:???
>>666
エスケープしてなかったら、保存もエラーになるでしょ。
エスケープを2重にやってるとかじゃない?
0669nobodyさん2009/02/12(木) 20:53:37ID:V/w7K2RO
404ページをオリジナリティかつ、トップページに戻れるようなデザインにするのって
なんかデメリットある?
デフォルトの404ページの方が良いみたいなことって特にないよね?
0670nobodyさん2009/02/12(木) 20:55:34ID:???
404に限らず全てのエラーページをオリジナルにしてる俺に謝れ!
0671nobodyさん2009/02/12(木) 21:09:57ID:???
404枚のオリジナルページを作るってこと?
ん、デフォルトページも404枚あるの?
そんなにバリエーション作ってたら管理しきれなくね?
0672nobodyさん2009/02/12(木) 21:11:25ID:???
>>669
サイトのブランドイメージとかそういうのもあると思うよ
0673nobodyさん2009/02/12(木) 21:12:18ID:???
しかもphp関係ないしweb制作板いけよ
0674nobodyさん2009/02/12(木) 21:34:16ID:???
HP制作会社なら404もしっかり作ってほしいね
趣味でやるなら別だけど
0675nobodyさん2009/02/12(木) 21:50:02ID:???
>>671
いや、べつに1〜404まであるわけじゃないよ。
大抵403,404,500だけあれば事足りる。

0676nobodyさん2009/02/12(木) 22:06:17ID:???
>>675

>>671はネタ。スルーでおk
0677nobodyさん2009/02/12(木) 22:07:37ID:???
>>667
今どきそれは推奨されてないんぢゃ?

と思ったがマニュアルにはなんも書いてないなぁ。
http://jp2.php.net/manual/ja/function.addslashes.php
0678nobodyさん2009/02/12(木) 22:13:55ID:???
>>665
PHPでできるけど、
何も知らないところから勉強はじめたら、
3ヶ月はかかるよ?
0679nobodyさん2009/02/12(木) 22:15:52ID:???
>>665
お手軽にコメント機能を実現するならブログに
するという選択肢もある。

○ WordPress.com (ブログレンタルサービス)
http://ja.wordpress.com/
0680nobodyさん2009/02/12(木) 22:23:21ID:???
> PHP ディレクティブ magic_quotes_gpc はデフォルトでは on で、
> 全ての GET、POST、COOKIE データについて基本的に addslashes() を実行します。
こんな数年前の情報が残ってるぐらいマニュアルがメンテされてないな
どっちにしろ addslashes() が出てくる場面じゃない
0681nobodyさん2009/02/12(木) 22:28:22ID:???
>>678
お返事ありがとうです。
メールフォームが作れるくらいです。
データベースを使うことになるんでしょうか?

>>679
ブログも良さそうですね
0682nobodyさん2009/02/12(木) 22:30:05ID:???
>>680
おれ去年最新版入れたときまだデフォルトONだったよ
数年前とかいいかげんなこと言うな
0683nobodyさん2009/02/12(木) 22:30:34ID:???
>>663
DateTime::diffは?

http://jp.php.net/manual/en/book.datetime.php

日本語のマニアルなかったw
0684nobodyさん2009/02/12(木) 22:45:33ID:???
>>682
0685nobodyさん2009/02/12(木) 22:53:53ID:???
>>682
未だに php.ini-dist を元にして使ってるいい加減な奴に言われたかないねぇ
0686nobodyさん2009/02/12(木) 22:54:06ID:???
php,iniのauto_prepend_file
に複数のファイルを指定したいとおもっています

auto_prepend_file = "HTML.php"
は動作しましたが

auto_prepend_file = "HTML.php:Debug.php"
と書いたところエラーになってしまったのですが、
複数の場合どう記述すべきなんでしょうか?

それともうひとつ質問があります
先にあげたauto_prepend_file
と似たような要望なのですが、
指定したディレクトリのphpファイルすべてを
あらかじめ読み込ませるのは
php.iniで可能でしょうか?
0687nobodyさん2009/02/12(木) 22:54:09ID:???
>>684
今、win版5.2.8落としてみたら
php.ini-distはON
php.ini-recommendedはOFF
php.iniを作らずにコマンドプロンプトからphpinfo()したらON

デフォルトはONっていうのが正しそうだね。
0688nobodyさん2009/02/12(木) 22:54:37ID:???
php.iniのdistとreの違いって何ですか?
06896882009/02/12(木) 22:55:07ID:dX5bqrmp
あげわすれました
0690nobodyさん2009/02/12(木) 23:07:17ID:???
>>688,689
php.ini-dist は既存環境との互換性を重視した設定
古いスクリプトがうごかねぇぞと言ってくる、理解してない人でも動かせるように用意されている
php.ini-recommended はPHPの設計者が推奨する設定
新規開発はこれを基にする

magic quotes についてはデフォルトがOFFと考えるのが普通
0691nobodyさん2009/02/12(木) 23:07:31ID:???
magic_quotes_gpc
ttp://jp2.php.net/manual/ja/info.configuration.php
デフォルトはON
PHP5.3で非推奨
PHP6で削除
らしい。
0692nobodyさん2009/02/12(木) 23:08:23ID:???
今のところデフォルトはONだが、まともなやつはOFFで設計するっつうことだ。
06936802009/02/12(木) 23:17:16ID:???
マジッククォートの件は俺が間違っていたな、悪かった
0694nobodyさん2009/02/12(木) 23:53:45ID:???
>683
echo (phpversion() . "\n";
print_r(get_class_methods('DateTime'));

5.2.5
Array
(
[0] => __construct
[1] => format
[2] => modify
[3] => getTimezone
[4] => setTimezone
[5] => getOffset
[6] => setTime
[7] => setDate
[8] => setISODate
)
マニュアルが無いのは、かなり新しい関数だから。
0695nobodyさん2009/02/13(金) 00:29:51ID:D5WxhWPp
while($row = mysql_fetch_array($result)){
・・・
}

で、mysql_num_rows($result)=10のとき、
whileが0〜5回繰り返しまでは$aの操作を、
6〜10回までは$bの操作を、
という風に一気に10回繰り返えさずに
分けて繰り返す方法がありましたら教えてください
よろしくお願いします。
0696nobodyさん2009/02/13(金) 00:35:03ID:yq9DBS5q
このような構造の20個のデータをmysqlで保存したとします
このときピンポイントで1ってところのデータのみ取り出すにはどのようにしたらよろしいのでしょうか?


■■■■■
■■■■■
■■■1 ■
■■■■■
0697nobodyさん2009/02/13(金) 00:42:24ID:???
■は全部同じ値??
0698nobodyさん2009/02/13(金) 00:52:17ID:???
table

a b c d e
■■■■■
■■■■■
■■■1 ■
■■■■■

なら、
$sql = "select * from table limit 3,1";
で、dを配列で取り出す
0699nobodyさん2009/02/13(金) 01:01:06ID:???
→$sql = "select * from table limit 2,1";
0700nobodyさん2009/02/13(金) 01:01:19ID:???
>695
ループ回数を数えておく変数をひとつ定義すれば好きなようにできるだろ。
$i = 0;
while($row = mysql_fetch_array($result)){
 if($i < 5){
  a($row);
 }

}
0701nobodyさん2009/02/13(金) 01:06:32ID:???
途中で送信しちった。$i++をどっかでインクリメントな。
つうかmysql_関数は時代遅れだから使うな。mysqli_系の関数、もしくはPDOを使え。
0702nobodyさん2009/02/13(金) 01:16:42ID:???
つうか++$iのがいいだろ
0703nobodyさん2009/02/13(金) 01:20:44ID:???
>>696
プライマリーキーは設定してるの?
0704nobodyさん2009/02/13(金) 02:16:25ID:???
>>696 >>698
SELECT * FROM table WHERE d='1';
0705nobodyさん2009/02/13(金) 02:27:33ID:???
>>694
DateTimeの全てのメソッドの実装は5.3以降みたいだね

ソースらしいものは、以下のサイトぐらいしか見つからなかった
http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/datetime/versions.xml?revision=1.3&view=markup
0706nobodyさん2009/02/13(金) 02:44:16ID:vhWCyXdF
>>635ですが>>638さんに教えていただいたことを調べて見たんですが
よく分かりませんでした

どなたか具体的に教えていただいてよろしいでしょうか
0707nobodyさん2009/02/13(金) 02:53:13ID:???
何が分からなかったんでしょうか?
0708nobodyさん2009/02/13(金) 04:00:17ID:???
>>706
mod_rewrite使えばいいよ
0709nobodyさん2009/02/13(金) 04:11:21ID:???
追記
ここ読めばいいよ
ttp://www.phppro.jp/phptips/archives/vol15/1
0710nobodyさん2009/02/13(金) 07:08:53ID:???
phpでムーバブルタイプのブログを作ってみたんですが
phpとmysqlが動くレンタルサーバーを探すのが大変なので、
レンタルサーバー上にphpファイルをおかずに済ませようと考えています

そこでローカルでphpを動作させ、ブログの記事であるhtmlファイル作成
ftp関数でアップロードする方法を考えました

しかし気になることがあるのですが、
リモート上でスクリプトを作動させ、htmlファイルを作るより
ftpでhtmlファイルをアップロードするほうが、
負荷がかかってしまうんじゃないかと心配しています

実際どうなんでしょうか?
0711nobodyさん2009/02/13(金) 09:18:45ID:???
>>710
とりあえず>>1
なんか知ってる単語すべて並べてみました的な内容だな(ry
と蛇足は良いとして

逆に質問するがそんなにアクセスがあるサイトなのか?
一日の総アクセス数は?
同時アクセスは最大いつなんだ?
そもそもサイトは秒単位で更新しなきゃならないサイトなのか?
0712nobodyさん2009/02/13(金) 09:21:01ID:???
> phpとmysqlが動くレンタルサーバーを探すのが大変なので、
めっちゃありふれてるのでは?
0713nobodyさん2009/02/13(金) 10:11:28ID:???
★★ Java の宿題ここで答えます Part 67 ★★
http://pc11.2ch.net/test/read.cgi/tech/1232627790/l50
Python の宿題ここで答えます Part 1
http://pc11.2ch.net/test/read.cgi/tech/1153585095/
C/C++の宿題片付けます 122代目
http://pc11.2ch.net/test/read.cgi/tech/1232029287/
Rubyの宿題教えてください。2限目
http://pc11.2ch.net/test/read.cgi/tech/1200175247/

PHPの宿題スレはないの?
0714nobodyさん2009/02/13(金) 10:23:44ID:???
>>704
dが重複のデータを持ってたらダメっぽくない?
0715nobodyさん2009/02/13(金) 10:24:50ID:???
元質問者の意図が曖昧すぎるから答えようが無い
0716nobodyさん2009/02/13(金) 10:34:56ID:X27qI4tl
【OS名】CentOS 5.2
【PHPのバージョン】php5.2.5
【他の設定】
ルータに80番ポートだけ開けてローカルのサーバを公開してます。
DNSはレジストラ提供のDNSサービス
【質問内容】

mb_send_mailにてメールを送信した場合hotmailや特定の企業に届きません。

$sender = "テスト@xxxxx.jp";
$from = mb_encode_mimeheader(SENDER_NAME,"SJIS","UTF-8")." <".$sender.">";
$to = "テスト@hotmail.co.jp";
$bcc = "";
$subject = "テスト";
$body = "テスト";

mb_language("Japanese");
mb_internal_encoding("UTF-8");

$body = mb_convert_encoding($body,"ISO-2022-JP","UTF-8");

$headers .= "From: ".$from."\n";
$headers .= "Bcc: ".$bcc."\n";

mb_send_mail($to,$subject,$body,$headers);

とりあえず自分の使っているプロバイダのSMTPを利用してメールを送信している状況です。
ウェブサーバからメールを送信したいのですが、どのようにすればよいのでしょうか?
0717nobodyさん2009/02/13(金) 10:50:04ID:???
hotmailや特定の企業に届かないとして、
gmailやyahooメールには届くんでしょうか?
自鯖だけに届くとかいう落ちではないですよね。
届かないというとき、バウンスメールは返っているのでしょうか。

OP25の関係のような気もするけど。

相手先固有の問題だとすると、80番を開けているサーバからはメールを受け取らないとか
そういう相手方のフィルターかもしれないですよ。

まぁ、mb_send_mailの問題じゃないから、板違いかもよ
07187162009/02/13(金) 11:00:14ID:???
>>717
ありがとうございます。

SPFなども影響してそうなので他の板で質問してみます。
0719nobodyさん2009/02/13(金) 13:07:37ID:???
>>706
おまえw
$_SERVER['PATH_INFO']でググレksg
0720nobodyさん2009/02/13(金) 13:08:32ID:???
>>715が無知なだけだろ
0721nobodyさん2009/02/13(金) 17:13:28ID:???
何が?
■ このスレッドは過去ログ倉庫に格納されています