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

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

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

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

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

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

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

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0313nobodyさん2009/09/23(水) 22:52:22ID:???
>>312
作者は亡くなられてしまったけれど、FDも未だ健在だ。

エディタじゃないけれど
0314nobodyさん2009/09/23(水) 22:58:07ID:YDDYzS74
なんで >>1も読めないバカばっかなんだ?
質問もしない、回答もしない、あげく回答者、質問者に文句だけ言う。
ほんとお前はクズだよ。 何回言えば分かるんだ?
0315nobodyさん2009/09/23(水) 23:11:27ID:???
>>314
そんなに怒らずに

こんな時は、松屋のフレッシュトマトカレーでも食べてきなよ。
0316nobodyさん2009/09/23(水) 23:31:29ID:???
松屋しょっぱすぎるだろ
0317nobodyさん2009/09/23(水) 23:38:04ID:???
>>314
まあもちつけ
0318nobodyさん2009/09/24(木) 01:59:27ID:???
えでぃっ太エディゴン最強伝説
0319nobodyさん2009/09/24(木) 07:03:53ID:???
SimpleText
0320nobodyさん2009/09/24(木) 08:35:30ID:???
この連休、ずっとPHPの学習で終わった・・・orz
0321nobodyさん2009/09/24(木) 10:10:10ID:???
で、成果は?
0322nobodyさん2009/09/24(木) 10:18:27ID:ZrqsxmrO
それは聞かないでくれ・・・orz
0323nobodyさん2009/09/24(木) 10:55:43ID:+rwbC943
それより「人権擁護法」という危険な法律を知っているかい?

民主党が次の臨時国会でこっそり成立させようとしています。
選任された在日朝鮮人が委員長を務める「人権委員会」に「差別を取り締まる」強力な権限を与える法律だよ。
人権委員会が差別と認定したら一般人はもちろん警察官も罰せられます。

つまり事件の容疑者に朝鮮人が浮かび上がった時点で、警察は捜査できなくなります。
容疑者が「俺が朝鮮人だから疑うのか!」と人権委員会に訴えて、それが差別と認定されれば警察官が処罰されます。
レイプ事件の犯人が「俺が朝鮮人だから拒否したのか!」と訴えて、それが差別と認定されれば被害者の女性が処罰されます。

このように人権委員会の権限は「非常に強固」あり「簡単に悪用」できます。
非常に危険な法律なのですが、民主党は実現させようとしています。
つまり彼らは「在日朝鮮人に悪い人はいない」と確信しています。

その確信は、民主党の根底にある非常に「偏った思想」から来ています。
「日本人は差別する悪い人種。朝鮮人は差別されて可哀相な人種。」という、
これはすなわち「日本は悪い国、日本人が嫌い。」という、
いわゆる「反日思想」です。

朝鮮人や中国人は日本が嫌いですが、日本人が日本を嫌いになるのは異常です。
異常な思想の人間が現在の日本には大勢います。
その原因は主に「日教組」にあります。

戦後GHQの指導で設立された日教組の構成員は、当時の在日朝鮮人であり、
彼らはごく自然に日本の教育現場に反日思想を持ち込んだのです。
戦後70年近く日本人に反日教育をやり続けた成果として、異常な日本が出来上がりました。

反日団体である「民主党」が日本人の圧倒的な支持を得て政権を取りました。
民主党は人権擁護法だけでなく、次々と反日政策が実現します。
在日外国人に日本の参政権を与えるのもそのひとつ。
受給者の7割以上が在日朝鮮人と言われている生活保護を手厚くするのもそのひとつ。
日本は朝鮮人の楽園になります。
0324nobodyさん2009/09/24(木) 11:59:58ID:???
くだらねえ質問じゃなくてくだらねえ自己主張がきた
0325nobodyさん2009/09/24(木) 13:15:41ID:???
現在、無料で手に入るテキストエディタならサクラエディタがおすすめ
Terapadにこだわる人は何故なの?
その理由を教えてくれよ
別に煽ってるわけじゃなくてその理由を聞きたいだけだから理由を聞いても別に煽る気はないからね


14歳 中学生より
0326nobodyさん2009/09/24(木) 13:19:38ID:???
terapadはねーよ
0327nobodyさん2009/09/24(木) 13:21:54ID:???
なんで >>1も読めないバカばっかなんだ?
質問もしない、回答もしない、あげく回答者、質問者に文句だけ言う。
ほんとお前はクズだよ。 何回言えば分かるんだ?
0328nobodyさん2009/09/24(木) 13:24:48ID:???
327 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
0329nobodyさん2009/09/24(木) 14:01:08ID:???
中ニ病患者が多いな
http://pc11.2ch.net/test/read.cgi/php/991372719/
こっちでやれ
0330nobodyさん2009/09/24(木) 14:35:18ID:???
14歳のガキがこのスレにいたとはな・・・
やれやれだぜって感じだな
0331nobodyさん2009/09/24(木) 14:38:47ID:???
ちょっと待て、14歳って・・・今学校だろ!
サボりか登校拒否か・・・
0332nobodyさん2009/09/24(木) 14:44:04ID:ZrqsxmrO
<?php
require_once('HTML/QuickForm.php');
require_once('HTML/QuickForm/Renderer/Default.php');

function showProcess($values) {
global $file;
if($file->isUploadedFile()) {
$file->moveUploadedFile('./doc/');
print('アップロードに成功しました。');
}else{
print('不正なファイルが指定されました。');
}
}

$form=new HTML_QuickForm('myForm','POST');
$form->addElement('header',NULL,'HTML_QuickFormアップロード');
$file=$form->addElement('file','name','ファイル名:'); //�@
$form->addElement('submit','sbm','アップロード');
$form->addRule('name','ファイルを選択してください。','uploadedfile'); //�A
$form->addRule('name','ファイルサイズは10KBまでです。','maxfilesize',10240); //�B
$form->addRule('name','テキストファイルのみアップロード可能です。','mimetype','text/plain'); //�B

if($form->validate()) {
$form->process('showProcess',FALSE);
}else{
$renderer=new HTML_QuickForm_Renderer_Default();
$renderer->setRequiredNoteTemplate('<tr><td></td><td><font color="Red">*</font>必須項目です。</td></tr>');
$form->accept($renderer);
print($renderer->toHtml());
}
?>
03333322009/09/24(木) 14:45:12ID:ZrqsxmrO
このPEAR::HTML_QuickFormのコードを実行すると、画面に表示されたファイル名という所の横に*マークが付きますが、
いったいこの*マークはどこがの何が作用してマークが付くのでしょうか?
�@のnameを変更すれば当然消えますが、�Aのnameを変更しても消えます
しかし、�Bの部分のnameを変更したら消えません
自分にはどうしても分かりません
0334nobodyさん2009/09/24(木) 14:46:01ID:???
テラパッド信者乙

329 名前:nobodyさん[sage] 投稿日:2009/09/24(木) 14:01:08 ID:???
中ニ病患者が多いな
http://pc11.2ch.net/test/read.cgi/php/991372719/
こっちでやれ

330 名前:nobodyさん[sage] 投稿日:2009/09/24(木) 14:35:18 ID:???
14歳のガキがこのスレにいたとはな・・・
やれやれだぜって感じだな
0335nobodyさん2009/09/24(木) 15:21:52ID:???
さすが中ニ病患者は妄想もすごいな
どんだけ膨らませたらTerapad信者になるんだ
0336nobodyさん2009/09/24(木) 15:52:37ID:???
>>332
addRuleでuploadedfileを指定した場合は、必須になります。

QuickForm.php
function addRule($element, $message, $type, $format=null, $validation='server', $reset = false, $force = false)

0337nobodyさん2009/09/24(木) 15:52:52ID:Y4H9ZJk5
クリックカウンタは通常xxx.php?aaa=bbbみたいにスクリプトを通しますが、
それを通さずに特定の画像(例:www.hogehoge.com/hoge.jpg)を直接クリックした
カウントを表示するにはどのようにすればいいですか?
例として ttp://naruserv.ddo.jp/img/ の○○viewsがそうです。
スクリプトを使ってるかどうかわからないのですが・・・
0338nobodyさん2009/09/24(木) 16:08:11ID:???
>>337
1、example.com/example.jpg のアクセスで実は count.php?file=example.jpgが起動してアクセス記録後画像表示。
2、アクセスログから集計。
0339nobodyさん2009/09/24(木) 16:09:23ID:???
>>336
ありがとうございました
0340nobodyさん2009/09/24(木) 16:15:16ID:???
>>337
何なんだ、この悪趣味なページは・・・恐
03413372009/09/24(木) 16:39:07ID:Y4H9ZJk5
>>338ありがとうございます

サイトのソースを見てもcount.php?file=example.jpgのような記述がないのですが
どのように起動しているのでしょうか?
たびたびすみません。
0342nobodyさん2009/09/24(木) 16:40:46ID:???
mod_rewriteで
0343nobodyさん2009/09/24(木) 16:59:20ID:yE0K6uT6
今からプロバイダを乗り換えたいのですが
PHPが動かないプロバイダってありますか?
0344nobodyさん2009/09/24(木) 17:05:15ID:???
>>343
回線接続業者のおまけウエブサーバー部分の話だったら、 PHP使えるところの方が少ないかと。
03453372009/09/24(木) 17:15:11ID:Y4H9ZJk5
>>342
ありがとうございます。
何となくですが理解できた気がします。
0346nobodyさん2009/09/25(金) 01:29:16ID:nHivhU16
mysqlでCDをauto_incrementにしている場合に
CD
1
2
3

と次は4になって、仮に3番のレコードが削除されていても
4となってくれるのはいいのですが、
この3や4以前のレコードが削除されていた時に
phpで4というのを知るにはどうしたらよいでしょうか。
いったんインサートして4を知るしか方法は無いのでしょうか。
早い話がphpadminでいうNext Autoindexを取得できないかな、と。
よろしくお願いします
0347nobodyさん2009/09/25(金) 01:48:43ID:nHivhU16
事故解決しました
show table status like table_name
でAuto_incrementに書いてありました。
0348nobodyさん2009/09/25(金) 01:57:43ID:nHivhU16
間違えました、テーブル名のところはクォーテーションでくくらないと
だめみたいでした。
SHOW TABLE STATUS LIKE 'table_name';
0349nobodyさん2009/09/25(金) 14:37:38ID:Z7rJvuWo
<?php
require_once('Cache/Lite.php');
$params=array(
'cacheDir'=>'c:/tmp/',
'lifeTime'=>600);
$cache=new Cache_Lite($params);
$cid='query'.$_GET['category']; //この部分の'query'の意味が分かりません
if($data=$cache->get($cid)){
print($data);
} else {
$data='クエリ情報"category"の値:'.$_GET['category'].'('.date('G:i:s').')';
$cache->save($data,$cid);
print($data);
}
?>
失礼しますが質問させて下さい
上記のPEAR::Cache_Liteコードの、コメントを書いた部分の文字列'query'の意味が分かりません
実行しても別に画面上に出てくるわけでもないですし、何故この文字列を書き加えなければいけないのかが分かりません
何かキャッシュ実行時にqueryという文字がないとキャッシュと認識しないとかいう理由とかあって書き加えているのでしょうか?
0350nobodyさん2009/09/25(金) 14:47:49ID:???
>>349
よくわかんないけどプリフィックスじゃないの
0351nobodyさん2009/09/25(金) 14:57:03ID:???
>>349
キャッシュデータにつける名前みたいなもん。
だから、違うデータをキャッシュしたければそこは違う文字列にしないといけない。その後につけたしてる$_GET['category']も、名前の一部。
0352nobodyさん2009/09/25(金) 14:58:09ID:???
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ

って書いてるのに
PEARスレあるだろ超過疎ってるけど
もうPEARなんて使うのやめなさいよ
0353nobodyさん2009/09/25(金) 19:41:22ID:jTI+YC2w
セーフモードがかかっているレンタルサーバで、
mkdirやtouchでディレクトリおよびファイルを作成したいのですが、
作成する箇所の親ディレクトリのパーミッションが777でないと作成できません。
作成するときに親ディレクトリを一時的にchmodで777への変更を試みましたが、
chmod関数の仕様上不可能でした。
アップロード時のディレクトリのパーミッションがデフォルトで755です。
このパーミッションをアップロード時に777に変更すれば可能ですが、
変更せずに(755のままで)ファイルやさらにディレクトリをつくり出す方法はありませんか?
あるいは上述した通り自分がやった方法ではできませんでしたが、
一時的に777にして作成後755に戻す方法でもよいです。
どなたか分かる方よろしくお願いします。
0354nobodyさん2009/09/26(土) 11:20:01ID:???
PHPでメールを送りたいのですが、自分でSMTPサーバを立てていないので検索したところ
yahooで無料でやっているとか
そこで以下のようにphp.iniを書き換えてapache再起動したのですが、
Warning: mail() [function.mail]: Failed to connect to mailserver at "smtp.mail.yahoo.co.jp" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set()

と怒られ、メール送信ができませんでした。

根本的に勘違いしているのでしょうか?
よろしくお願いします

[mail function]
; For Win32 only.
SMTP = smtp.mail.yahoo.co.jp
smtp_port = 25

; For Win32 only.
sendmail_from = [email protected] (xxxxxは自分のもっているyahooアドレス)
03553542009/09/26(土) 11:52:48ID:???
yahooだと複雑そうなので、簡易的なradishというもの自分のPC内で立ち上げて使ってみます
0356nobodyさん2009/09/26(土) 11:53:34ID:???
windowsか
smtpならxmail使っとけ
0357nobodyさん2009/09/26(土) 12:04:29ID:Ka/xy5+X
PHPとMYSQLが正常に接続できなくて困っています、宜しくお願いします。

【環境】
MySQL5.1.38
WindowsXP SP3
Apache2.2.13
PHP5.2.11
phpMyAdmin3.2.2

【エラー内容】
phpMyAdminに、以下のようなメッセージが表示されます。
「お使いの PHP MySQL ライブラリのバージョン 5.0.51a が MySQL サーバのバージョン 5.1.39 と異なります。これは予期しない不具合を起こす可能性があります。」

【詳細】
以前、MySQL5.0を使っていたため、それが残っていると思われるため、
以下の手順を試みましたが、エラーが直りませんでした。

1. C:\Program Files\MySQL\MySQL Server 5.1\bin\libmySQL.dllをC:\WINDOWS以下にコピーしてApacheを起動。
2. Apacheは起動するものの、PHPからDBに接続しようとするWindowsの予期せぬエラーで接続ができない。
3. Apacheのエラーログや、MySQLのエラーログにも、この件についてログが吐かれていない。
4. {phpのインストールパス}\libmysql.dllをC:\WINDOWS以下にコピーしてApacheを起動すると、正常にDBにも接続できます。

【そのほか】
libmysql.dllが、MySQLの5.1系に対応できていないためだと思われますが、
肝心のlibmysql.dllはどこから入手できるのでしょうか?

また、MySQL5.1についてきたlibmySQL.dllのファイル名[libmySQL]のSQLが大文字であることも気になります。
0358nobodyさん2009/09/26(土) 12:06:19ID:???
>>357
まず、MySQLとPHPをアンインスコして、フォルダも消す。

できればその対象のファイルがレジストリに残ってないか調べておく。

その上で、PHPとMySQLをインスコする。
0359nobodyさん2009/09/26(土) 12:53:58ID:???
>>357
PHP5.2系に含まれるphp_mysql.dllとMysql5.1は相性が悪いので動作しない
以下のサイトで修正済みphp_mysql.dllと入れ替えればおk


ttp://friendsofed.infopop.net/4/OpenTopic?a=tpc&s=989094322&f=2963027307&m=3641072581
0360nobodyさん2009/09/26(土) 12:55:22ID:???
>>357
英語が良く分からなければ日本語の解説も書いとくから見とけ
ttp://plaza.rakuten.co.jp/gontata/diary/20090120/
0361nobodyさん2009/09/26(土) 13:30:38ID:???
>>359
どうもありがとうございました。
そんな不具合があったんですね。知りませんでした。

手順通りやってみたところ直りました。
深く感謝します!
0362361 2009/09/26(土) 13:32:04ID:Ka/xy5+X
すみません。ID出し忘れていました。
助かりました。
0363nobodyさん2009/09/26(土) 14:31:17ID:kclaUDci
xamppliteポータブル版のインストール方法がわかりません
perlとmysqlとphpが使えればいいのですが
d:\xamppにインストールした後は何の設定ファイルをいじったらいいのでしょうか?
0364nobodyさん2009/09/26(土) 14:39:05ID:???
なんもいじらなくてもそのまま使えるでしょ
あとはインストール用のbatクリックすればいいんじゃね
xamppのHPにインストール方法かいてるんだからそれ嫁
0365nobodyさん2009/09/26(土) 15:24:23ID:Tg4hzrYm
ちなみにどのフォルダがドキュメントルートでしょうか?
0366nobodyさん2009/09/26(土) 15:32:53ID:???
初心者はxampp使うなや
0367nobodyさん2009/09/26(土) 15:48:33ID:Tg4hzrYm
教えてくださいお願いします
0368nobodyさん2009/09/26(土) 15:51:21ID:???
教えてくださいじゃないだろ・・・
書いてることはちゃんとよめ
読むことすらしないやつはやる資格はない
0369nobodyさん2009/09/26(土) 16:23:26ID:Tg4hzrYm
そういわれましてもわからなくて・・・
0370nobodyさん2009/09/26(土) 16:29:53ID:???
これはひどい
0371nobodyさん2009/09/26(土) 16:51:32ID:???
スレを発見しました
http://pc11.2ch.net/test/read.cgi/mysv/1128262593/
0372nobodyさん2009/09/26(土) 17:59:43ID:???
>>358
再インストール時にレジストリなんて上書きされるんだからあんまし意味ないと思いますよ
0373nobodyさん2009/09/26(土) 20:23:14ID:???
>>372
まったく問題無いのか問題が出る可能性があるのかどっちなんだ?
0374nobodyさん2009/09/26(土) 21:56:48ID:???
>>373
ttp://blogs.yahoo.co.jp/sutarbarjunkie/44164177.html
ttp://ja.wikipedia.org/wiki/%E5%A2%83%E7%95%8C%E6%80%A7%E4%BA%BA%E6%A0%BC%E9%9A%9C%E5%AE%B3>>373
0375nobodyさん2009/09/26(土) 22:18:12ID:???
>>374
話の対象はコンピュータとそのソフトなんだわ。
対象の性質を鑑みることが出来ない?
0376nobodyさん2009/09/26(土) 22:25:02ID:???
>>374
この場合は違うだろw
トラブルの原因となる可能性があるのであれば
しっかりとレジストリの掃除してからの方がトラブルが出た際に要因から外せる
絶対ならないのであればそれも要因から外せる

アドバイスをするのであればソースの確認なり検証なりして確実な答えが必要だと思うぞ

てっきりのレジストリの件についてソースを出してきたのかと思えば…
件に関係ないページかよ…
0377nobodyさん2009/09/26(土) 23:00:48ID:???
アンインストールすりゃレジストリからデータ消えるのに・・・
0378nobodyさん2009/09/26(土) 23:07:40ID:???
質問の解決に繋がらなかった>>358が煽られて荒らしてるんだろ
質問は解決してるんだらかまわりはスルーしてやれ
0379nobodyさん2009/09/26(土) 23:25:24ID:suqPWTbx
外部サイトにpostでデータ送信&リダイレクトさせる方法がわかりません教えてほしいです。
getであればlocation(http://example.com/?hoge=piyo)
でいけるようなのですが。
また、http_clientやcurlでも無理なようでした。
perlならできるようなのですが、phpだと無理なのでしょうか?
0380nobodyさん2009/09/26(土) 23:28:37ID:???
>>377
ソフトウェアのインストールや設定時のレジストリを完全に綺麗にしてくれるなら
巷にあるレジストリクリーナーの役目は無くなっているんだがなぁ
その部分はどう思う?
MYSQLのインストーラは確実に消してくれているのだろうか?
0381nobodyさん2009/09/26(土) 23:30:03ID:???
>>379
HTTP_Client::post()で良いんじゃないの
03823812009/09/26(土) 23:47:11ID:???
>>379
補足。
HTTP_Client::post()の結果を受け取って自サイト内で(本来は外部サイトのコンテンツを)表示するのに問題があるのであれば、
post用のページを一枚はさんで、ユーザーに送信クリックさせる(あるいはjavascriptで自動submit?)のが簡単かな。

ところで、perlでやってる実例なりがあるのであれば、phpで同じことをすれば良いのでは?
0383nobodyさん2009/09/27(日) 04:05:29ID:wLv38OPr
質問です。

http://www.php.net/manual/ja/language.operators.bitwise.php
の「例3 整数値のビットシフト」で
32ビットと64ビットの出力例が紹介されていて
自分のパソコンは64ビットなんですけど
32ビットで出力されているようです:

--- BIT SHIFT RIGHT ON POSITIVE INTEGERS ---
Expression: 2 = 4 >> 1
Decimal:
val=4
res=2
Binary:
val=00000000000000000000000000000100
res=00000000000000000000000000000010
NOTE: copy of sign bit shifted into left side

なぜだか教えてください。
どこかPHPの設定で64ビットに切り替えるところがあるんですか?
0384nobodyさん2009/09/27(日) 05:30:09ID:wLv38OPr
質問です。

### "form_comparison_operators.html" ###
<form action="comparison_operators03.php" method="post">
名前:<input type="text" name="name" />
<input type="submit" />
</form>

### "comparison_operators03.php" ###
<?php
var_dump($_POST['action']);

// 三項演算子の使用例
$action = (empty($_POST['action'])) ? 'default' : $_POST['action'];

if ('default' == $action)
echo "デフォルト";
else
echo "デフォルトじゃない";
?>

…この出力が

NULL
デフォルト

になってしまいます。
ちゃんと"comparison_operators03.php"が呼ばれているんですから
$_POST['action']は"comparison_operators03.php"になるんじゃないんですか?
なぜ、NULLになってしまうんでしょうか?
0385nobodyさん2009/09/27(日) 05:37:01ID:???
>>384
挙動は正しいです

var_dump($_POST['action']); でNULLと出力されていますので$_POST['action']の中身はNULLです
よって(empty($_POST['action'])) はtrueとなり、$actionには'default'が入ります
最後にif ('default' == $action) がtrueとなり'デフォルト'と出力されます
0386nobodyさん2009/09/27(日) 05:40:42ID:???
>>384
あれ?意味が違う気がしてきた
<form action="comparison_operators03.php" method="post">
のactionがPOSTされると思い込んでいるようですが、全く意味が違います
また、form_comparison_operators.htmlのフォームからは$_POST['name'](NULL)のみPOSTされます
HTMLの勉強をお勧めします
0387nobodyさん2009/09/27(日) 05:48:05ID:wLv38OPr
>>385-386
ありがとうございます。

>$_POST['name'](NULL)のみPOSTされます

では、actionをempty「ではない」ように設定するには
form_comparison_operators.htmlをどう書けばよいのでしょうか?
0388nobodyさん2009/09/27(日) 05:53:16ID:???
上の結果から推測してみそ〜
0389nobodyさん2009/09/27(日) 06:04:19ID:wLv38OPr
>>388
では、

### "form_comparison_operators.html" ###
<form action="comparison_operators03.php" method="post">
名前:<input type="text" name="name" />
アクション:<input type="text" name="action" />
<input type="submit" />
</form>

…ですか?確かに

string(3) "foo"
デフォルトじゃない

という出力になりましたけど、
http://www.php.net/manual/ja/language.operators.comparison.php
の「例2 デフォルト値を設定する」は本当にそういう意図で書かれてるんですかね?
変数に$nameではなく、$actionを使ってるところがすごく気になるんですけど…。
第三者の意見も聞きたいです。
0390nobodyさん2009/09/27(日) 06:05:13ID:???
俺第三者だけど〜
0391nobodyさん2009/09/27(日) 06:06:30ID:???
まぁいいや
そういう意図じゃないってどういうこと?
どうなるべきだと思ってるの?
0392nobodyさん2009/09/27(日) 06:19:41ID:wLv38OPr
>>391
「アクション:<input type="text" name="action" /> 」の行が無くても
$_POST['action']に"comparison_operators03.php"が入って
常に"デフォルトじゃない"と表示されるべきだと思っていました。
まぁ、

     <form action="" method="post">

のようにactionが空だったら、
"comparison_operators03.php"すらも呼ばれないわけですから
三項演算子を使う意味がないですね。
結論として、

     <form action="comparison_operators03.php" method="post">

のactionと

     empty($_POST['action']

のactionは「別物」ということでいいですか?
…でも、actionが使われているのは腑に落ちないですねぇ…無駄にややこしいです…。
0393nobodyさん2009/09/27(日) 06:22:11ID:???
おまえはHTMLを勉強した方が良い
0394nobodyさん2009/09/27(日) 06:24:05ID:???
うむ
三項演算子より先にちゃんと基礎を身に付けたほうがいいかと
0395nobodyさん2009/09/27(日) 06:34:16ID:wLv38OPr
この例の変数としてactionが使われているのは無駄にややこしい

…これに同意してくださるなら、HTMLを勉強してあげてもいいですけど
0396nobodyさん2009/09/27(日) 06:48:37ID:???
HTMLのaction属性とPHPの中で適当に付けてる変数名がややこしい?
0397nobodyさん2009/09/27(日) 07:10:48ID:wLv38OPr
超ウルトラややこCでしょう

nameでもfooでもbarでもunkoでもいいから
本当に「適当な」変数名を付けてくれていれば
こんな大惨事になることもなかったのに
わざわざピンポイントでactionを使うなんて
この例を書いた人の品性を疑いますね

昔から「李下に冠を正さず」「瓜田の靴を納れず」と言うでしょう?
疑わしい行動は慎むべきです
下記の者たちには次回からは気を付けていただきたいですね

著者:
Mehdi Achour
Friedhelm Betz
Antony Dovgal
Nuno Lopes
Hannes Magnusson
Georg Richter
Damien Seguy
Jakub Vrana
0398nobodyさん2009/09/27(日) 08:16:55ID:???
勝手に想像して、そうでないと文句言ってるようではこの先つらそうだ。
0399nobodyさん2009/09/27(日) 08:38:48ID:1afp6/JG
レンタルサーバで動かせる簡易的なクローラーを作りたいです。

用途は、特定10サイト程度を定期的に巡回して、新しいリンクが在ればリンク先を保存(2階層まで)する。
と、単純なものなのですが、PHPでの作成は適していますか?
何かアドバイスを頂ければ幸いです。
0400nobodyさん2009/09/27(日) 08:54:03ID:???
>>399
HEADでリクエスト送ってレスポンスヘッダのExpiresの値を前回のものと比較して違っていれば新しいリンクを探す
0401nobodyさん2009/09/27(日) 09:12:57ID:???
リクエストヘッダにIf-Modified-Since付けて304が返ってくるかの方が良いね
PHPなら簡単にできる
0402nobodyさん2009/09/27(日) 10:00:57ID:???
>383
PHP本体をコンパイルしたCコンパイラのintの大きさに依存する。
設定ではなく、コンパイルからやり直さないとダメ。
WindowsならPHPのサイトから64bit版を落とせばいけるはず、あるか知らんが。
04033992009/09/27(日) 11:44:01ID:1afp6/JG
>>400-401 ありがとうございます。参考になりました。
最初は、file_get_contents関数で取得しようと思ってたのですが、
HTTP_Requestの方が細かい設定ができて良いですね。

PHPでのHTTPアクセスを超簡単に行える「PEAR::HTTP_Request」
ttp://phpspot.org/blog/archives/2007/03/phphttppearhttp.html
HTTP_RequestでIf-Modified-Sinceを設定する
ttp://blog.elkc.net/?p=45

ファイルを取得できたので次に、スクレイピング処理?について、
タグの値などを取得するには、TIDY関数やhtmlSQLが便利だと分りました。

で、次の問題が…
前回と今回の変更箇所(更新された部分)は、どのように見つけたらよいのでしょうか?
0404nobodyさん2009/09/27(日) 12:15:33ID:???
if ($line[$i] !== $oldLine[$i])
0405nobodyさん2009/09/27(日) 12:38:06ID:???
<?php
function test($a, $b){
if ($a!==$b) {
$r = "wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww";
}else{
$r = "lol";
}
return $r;
}

$test_hensu = array_map("test", $line[$i], $oldLine[$i]);
print_r($test_hensu);
?>
0406nobodyさん2009/09/27(日) 12:46:37ID:???
>403
そこを考える事を楽しめない奴はプログラマには向いてないな
まあ、コーディングは手段であって必ずしも生業や趣味じゃないからどうでもいい話だが

追跡するのはリンクだけだろ?なら、更新の有無とかチェックしないで、毎回片っ端から全リンクを拾い出せばいい
取得済URLのリストだけ保存しておいて、なかったら新規に追加されたリンクと見なしてデータを取得する
04074062009/09/27(日) 12:49:26ID:???
あー、それだと片手落ちか
個々のファイルが更新されたか否かは、結局ファイルを読みに行かないと分からない
正攻法なら前回クロールで作ったファイルリスト全部に対しIf-Modified-Sinceを送り、更新されていたファイルを取得するのが効率がいい
0408nobodyさん2009/09/27(日) 14:03:51ID:wLv38OPr
>>398
初心者からも文句が出ないように書くのも教える側の義務だと思います
今度彼らに会ったらキツく言っておきます
0409nobodyさん2009/09/27(日) 14:06:19ID:???
義務を求めるのなら有料でPHP教えてくれる先生に聞けばいいよ
ここは義務で回答しに来てるわけではなく、あくまでボランティアだ
0410nobodyさん2009/09/27(日) 14:07:23ID:wLv38OPr
>>402
あら、コンパイルからですか。
64bit版落とすのも面倒なので今回は諦めておきます。
次回PHPが大きくヴァージョンアップしたら、ついでに64bit版に変えてもいいですね。
ありがとうございました。
0411nobodyさん2009/09/27(日) 14:20:37ID:???
落とすのが一番楽だろw
それが面倒なら何ができるんだw
0412チラシの裏2009/09/27(日) 14:36:50ID:???
ticks、すげぇー!超便利!
これCとかJavaにもあったらいいのにな
■ このスレッドは過去ログ倉庫に格納されています