【PHP】下らねぇ質問はここに書き込みやがれ 33
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/11/23(木) 00:27:02ID:???まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
【前スレ】
【PHP】下らねぇ質問はここに書き込みやがれ 32
http://pc8.2ch.net/test/read.cgi/php/1162818436/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ http://pc8.2ch.net/php/subback.html
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで http://pc8.2ch.net/db/subback.html
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
しかし初心者が目的も定めずに速度を気にしたところでほとんど意味は無いぞ
0449nobodyさん
2006/11/29(水) 11:04:23ID:???SSLとは関係無いセッションハイジャックの話をしているわけだが
もっと分かりやすく言えば、SSLを使うことは大前提で、それより高度なセキュリティ確保の話をしているわけだ
0450nobodyさん
2006/11/29(水) 11:27:38ID:???>>437よ、君の仮定には大きな誤算がある。
それは、「被害者Cが君の計算通りに行動する確率はものすごく低い」ということだ。
時間の誤差とか何とか、それらとの掛け算で、君の仮定が成功する確率は現実的には極めて低い。
>>441は、そんなアホな>>437に向けた皮肉だと俺は読んだ。
要するに「現実的じゃないぜ」ってことを遠まわしに皮肉ってるんでしょ?w > >>441
0451nobodyさん
2006/11/29(水) 11:50:20ID:???何で他人が作った物を批判したがるかな。そういう奴に限って決まって能力ないからな。
0452nobodyさん
2006/11/29(水) 12:10:39ID:1l/WuAMq.qmailを使用し、メール受信と同時にPHPスクリプトを起動しようと思っているのですが
うまくいきません。
.qmail-***には以下の様に記述いたしました。
| /usr/local/bin/php /path/to/script.php
で、実際に動作テストをしてみるとスクリプトが動いていない模様なので
メールログを見てみると
Nov 29 11:58:50 IICL002 qmail: delivery 39: deferral: /usr/local/bin/php:_error_while_loading_shared_libraries:_libmysqlclient.so.14:_cannot_open_shared_object_file:_No_such_file_or_directory/
上記のエラーが出ています。
/usr/local/bin/php /path/to/script.php
上記コマンドをコマンドライン上から入力するとプログラムは実行出来ます。
念のためlddで確認してみると
ldd /usr/local/bin/php
libmysqlclient.so.14 => /usr/local/mysql//lib/mysql/libmysqlclient.so.14
/2個が気になりますが一応セットされています。
パーミッションかな?と思いましたが違うようです。
どなたかご教授宜しくお願いいたします。
0453nobodyさん
2006/11/29(水) 12:14:54ID:???>俺のサイトAからサイトBへリンクを貼り、被害者Cがそれをクリックする。
フィッシングサイトに引っかかるやつの面倒まで見なくてもいいだろ
0454nobodyさん
2006/11/29(水) 12:16:58ID:???0455452
2006/11/29(水) 12:36:03ID:???/usr/local/mysqlのパーミッションが足りなくファイルまで到達できなかったようです。
お手数おかけ致しました。
0456nobodyさん
2006/11/29(水) 12:38:31ID:???0457Mrセキュア
2006/11/29(水) 12:40:55ID:???お 外 に で る と 事 故 に あ う か も し れ な い の で 怖 く て 出 れ ま せ ん (笑)
0459nobodyさん
2006/11/29(水) 13:03:47ID:uckTTJrX0460nobodyさん
2006/11/29(水) 13:05:56ID:???::インスタンス化してなくても使えるメソッド
0461nobodyさん
2006/11/29(水) 13:09:57ID:???0463nobodyさん
2006/11/29(水) 14:02:32ID:+Stuj4pW0464nobodyさん
2006/11/29(水) 14:06:26ID:???http://pc8.2ch.net/php/
0465nobodyさん
2006/11/29(水) 15:40:27ID:???GDライブラリで写真ギャラリーのサムネイルを自動で作るのを作ってみたのですが
これって結構負荷高いのでしょうか?
作った画像を保存するようにして、まずファイルがあるか調べ、
ない時だけ作るようにすれば、作るのは一回だけなのでたいしたことないと思いますが、
サムネイルにとる場所をランダムでちょっと動かすようにしてみたのですが
そのためには、保存しないで、毎回作らないとだめじゃないですか?
具体的には
mt_rand ( 0, 1);
で乱数発生させて、0か1かで座標に代入する数を変えて
imagecopyresampled
で画像を作り
imagejpeg($thumb,null, 100);
で表示させてます。
例えば、サムネイルが100枚くらいあるページで、毎日1000〜2000くらいPVがあるとしたら
結構やばめでしょうか?
CPUとかメモリとかにもよるんでしょうけど、
スペックは管理先に問い合わせないとはっきり分かりません。
専用サーバーで、業務用に借りていて結構お金出してるはずなんで、
そんなにしょぼくはないはずです。多分…。
ちょっと微妙な質問かもしれませんが、たいしたことないよ〜とか、あれは結構重いよ〜とか
意見があればお願いします。
0466nobodyさん
2006/11/29(水) 15:40:32ID:gqW8eidGそれをもとにHTMLファイル作成して
そこに飛ぶようにしたいんですけど
作成したHTMLページにはどうやればとばすことできますか?
0468nobodyさん
2006/11/29(水) 15:56:16ID:???0472466
2006/11/29(水) 16:34:07ID:gqW8eidGごめんなさい、よくやり方がわからないです。
今はフォームのactionでhtmlファイル作成するページに飛ばして
るんです。そこでまた作成したページに飛ぶ感じにしようと思ったんですけど
かなり無駄なことしてますよね・・
なにかいい方法は?
0473468
2006/11/29(水) 16:40:40ID:???ないんですかー
どうもありがとうございます。
tcpの知識がないので勉強してきます。
>>471
80番が開いてたら書き込み不可能とかにするつもりなので、
そういったことはしたくないのです。
0474nobodyさん
2006/11/29(水) 16:49:05ID:???0475nobodyさん
2006/11/29(水) 16:51:54ID:???0476468
2006/11/29(水) 16:52:44ID:???深読みしすぎですよ。そういう意図じゃないんですよね。
プロキシ弾くだけならおとなしくライブラリ入れますし。
書き込んだ人のIPを表示しているので、
アクセスされる可能性を視野にいれた措置です。
0477nobodyさん
2006/11/29(水) 17:00:36ID:???接続を試行して成功したらポートが開いてる、失敗したら閉じてる
ただそれだけだ がんばれ
0478nobodyさん
2006/11/29(水) 17:24:06ID:???まぁいいや、レッツPHPからソース盗んで改造しろ
0479nobodyさん
2006/11/29(水) 17:25:52ID:???何がわからんのかいまいち理解できないが。
1.フォームを表示
2.番号を入力させてサブミット
3.サブミットした値を元にHTML作成
4.結果を表示(作ったHTMLへ飛ぶってこういうことか?)
なら、HTMLの基本中の基本だろ?
で、3の部分でPHPを使いたいわけだ。
んで何が分からないの?
0480466
2006/11/29(水) 17:32:34ID:gqW8eidGで4で作ったHTMLに飛びたいんです
その4の部分がわからなくて・・
アホでごめんなさい
0481468
2006/11/29(水) 17:39:43ID:???なるほど。HTTP系の関数の何かが使えそうですね。
もう少し色々と調べてやってみます。
>>478
>ポート番号80で調べるということは、自宅鯖持ちのやつを全部弾くつもりか
そうですね。
ただ、コメントを禁止するだけで、閲覧はできるようにします。
2chのような掲示板ではないですし、所詮個人サイトなので、
用件があればメールも用意してるし大丈夫だと勝手に判断しました。
それよりも鯖を運営してるIPで、ネットサーフは危険じゃないですかね。
0482nobodyさん
2006/11/29(水) 17:40:25ID:???いやだからさ、2のサブミット先をphpファイルにすれば、
そこで出力した結果がブラウザに表示されるだろ?
それが4なんじゃないのか?
0483466
2006/11/29(水) 17:49:05ID:gqW8eidG2で、飛んだPHPファイルでhtmlファイルを作って
4でさらにそのhtmlファイルに飛ぶかんじです
やり方がおかしいですかね?
やりたいこととしては、フォームで番号入力させて
その番号のhtmlファイルを作って、そこに飛ばす
って感じです
0484nobodyさん
2006/11/29(水) 18:03:40ID:???2.番号を入力させてサブミット(ここも前からあるhtmlファイル)
3.サブミットした値を元にHTML作成 (hoge.phpの処理)
4.作成したHTMLへリダイレクト(ここもhoge.phpの処理)
5.作成したHTMLが表示(さっき出来たhtmlファイル)
======hoge.phpここから======
・前からあるhtmlから来たPOSTを受け取ってファイル作成の処理
・作成したファイルへリダイレクトの処理
======hoge.phpここまで======
つまりhoge.phpはブラウザに何かを表示する処理はないのよん
0485nobodyさん
2006/11/29(水) 18:05:31ID:???0486nobodyさん
2006/11/29(水) 18:11:08ID:???今は$_SESSIONを調べているのですが気になった
0487nobodyさん
2006/11/29(水) 18:47:24ID:J9ZOlswS<html><head><body><?
echo "<table border='1'><tr><td>";
echo "<form action='tuika.php method='post'>";
echo "<input type='text' name='data_1'><br>";
echo "<input type='text' name='data_2'><br>";
echo "<input type='submit'value='データの追加'>";
echo "</form></td></tr></table>";
?></body><html>
kakunin.phpソース
<html><head><body><?
echo $_POST['data_1'];
echo $_POST['data_2'];
?></body><html>
上のような感じで、tuika.phpで文字を打ち込んで、それがdata_1、
data_2としてkakunin.phpにポストされて、kakunin.phpでその内容が
表示されるというプログラムを作ったんですけど、kakunin.phpのソースを
<html><head><body><?
$p = 1;
$q = 2;
echo $_POST['data_$p'];
echo $_POST['data_$q'];
?></body><html>
という風に、data_以下の数字の部分を変更すると、ポストされた内容が
表示されなくなってしまいます。data_以下の数字の部分を記号で表すように
したいのですが、一体どうすればいいでしょうか。誰か教えてください。
0488487
2006/11/29(水) 18:50:57ID:J9ZOlswSecho "<form action='kakunin.php method='post'>";
でした。
0489nobodyさん
2006/11/29(水) 19:03:23ID:???だから>>467で回答してあるんだからマニュアルでheader()関数ぐらい調べろよ
http://jp.php.net/header
の「2番目の特別なヘッダは、」あたりに書いてあるだろ
やりかたわからないです
とかいう前にわかろうと努力すらしない
おまえはいつまでたっても進歩しないだめ人間だ
プログラミングとか向いてないからさっさとやめたほうがいいよ
0490nobodyさん
2006/11/29(水) 19:31:43ID:OZta3BjGシングルクオートの中では変数は展開されない。
echo $_POST['data_'.$p];
echo $_POST['data_'.$q];
とか
echo $_POST["data_{$p}"];
echo $_POST["data_{$q}"];
とか書くべし。
あと4行目、>>488でもおかしくない?kakunin.phpの後ろにシングルクオート要るでしょ。
0491466
2006/11/29(水) 19:34:15ID:gqW8eidGheader("Location:$text.'.html'"); で飛ばないんですがなぜ?
0492nobodyさん
2006/11/29(水) 19:43:30ID:???0493487
2006/11/29(水) 19:55:47ID:J9ZOlswSできました! ありがとうございます!
0494nobodyさん
2006/11/29(水) 20:02:17ID:???表示(echo時)に自動的に<img src="test.gif">のように
することってできるのでしょうか?
0495nobodyさん
2006/11/29(水) 20:09:27ID:???0498415
2006/11/29(水) 20:41:58ID:???多分、直近レスのせいでキャッシュリミッタに固定観念が入っちまったんだとは思うが、俺が聞いてるのはブラウザの挙動の話
ヘッダ情報は正しく送られているのは確認済で挙動が昔と違うわけな
ずっとwebやってた奴なら何か変化があったか情報を持ってるか?聞いた方が早いと思うわけ
ヘッダ情報を処理するのはあくまでブラウザだからな、ブラウザの実装によって動きが変って当然なのな、分かる?
結局、vmに残ってたwin98のie5と比較したら、やっぱり挙動が変ってたな
0500nobodyさん
2006/11/29(水) 21:00:05ID:Ob2oQ/dq「ー」が文字化けするとかなんかあるんですけど、ファイルの文字コードはEUCですよね?
0501nobodyさん
2006/11/29(水) 21:10:06ID:???>>494
$text = 'screenshot.gif';
$ext_pattern = 'jpg|gif';
$text = preg_replace('/(([a-zA-Z0-9-_]+)\.(?:'.$ext_pattern.'))/', '<img src="$1" alt="$2" />', $text);
echo $text;
0502軟式PHP
2006/11/29(水) 21:14:32ID:???0503nobodyさん
2006/11/29(水) 21:22:36ID:???0504nobodyさん
2006/11/29(水) 21:47:07ID:???0507nobodyさん
2006/11/29(水) 22:07:20ID:???>例えば変数内に”test.gif”などとファイル名があったら
>表示(echo時)に自動的に<img src="test.gif">のように
if (strpos($a, "test.gif") !== false) { echo "<img src=\"test.gif\">; }
0508nobodyさん
2006/11/29(水) 22:19:23ID:Ob2oQ/dq0514nobodyさん
2006/11/29(水) 22:47:14ID:1R8/2qI8今日から始めたばかりの初心者です。
テキストボックスに文字が入った時のみ表示させるプログラムを作ろうとおもって
書いてみたのですが123とかの数字だけ表示されてABCなどの文字を入れるとelseになってしまいます
数字も文字も表示させる方法を教えてください。
$post = $_POST["post"];
if(strlen($post>0)){
print($post);
}
else{
print("エラー");
0515nobodyさん
2006/11/29(水) 22:53:28ID:???0516nobodyさん
2006/11/29(水) 22:53:40ID:???○ if(strlen($post)>0){
0517nobodyさん
2006/11/29(水) 22:56:14ID:???0518nobodyさん
2006/11/29(水) 22:56:48ID:1R8/2qI8ありがとうございました。助かりました。
0519nobodyさん
2006/11/29(水) 22:57:01ID:???0520nobodyさん
2006/11/29(水) 23:01:05ID:???0521nobodyさん
2006/11/30(木) 00:25:39ID:???フィッシングサイトからリンクされている正規のサイトを見た人の面倒は見る必要あるだろうが。
その理論でいったら、2chから三井住友銀行(正規サイト)のリンクを踏んだ人が被害にあっても無視できるのか?
勿論その被害者は、
・ドメイン名が正規の三井住友銀行であることを確認した。
・SSLサーバ証明書が正規のものであることを確認した。
という条件な。
0522nobodyさん
2006/11/30(木) 01:38:26ID:???自分の知恵の自慢の続きはこちらへどうぞ
http://pc8.2ch.net/test/read.cgi/php/1064399467/l50
0523nobodyさん
2006/11/30(木) 05:12:14ID:sNmjvtK7数百行x4列のcsvファイル(10KB強)を同一プログラム上で複数回読み出すのと
1回読んでそれを全部2次元配列に入れて、その後は配列からデータをひろうのでは
どちらが負担が軽いでしょうか?
どちらも同じくらい、もしくは配列に入れちゃう方が負担が軽いならばそうしたいのでですが。
0524nobodyさん
2006/11/30(木) 05:56:57ID:???と言いたいが、
10kb程度なら体感あまり変わらないでしょ。
0525nobodyさん
2006/11/30(木) 06:45:48ID:???と言いたいが、
10kg程度なら体感あまり変わらないでしょ。
って見えた。
0526nobodyさん
2006/11/30(木) 06:56:21ID:???10KBくらいならメモリ食ったうちにも入らないから配列に入れちゃった方がいいんでない?
CSVファイルが単純なカンマ区切りならどっちでもそんなに変わらないけど、
ちゃんとエスケープ処理されてるExcel互換CSVファイルなら
展開が少し重くなるから、何度も展開しない方が多少は早い。
まー、でも1000行にも満たないレベルじゃたかが知れてそうだけど。
0527nobodyさん
2006/11/30(木) 10:03:48ID:???0528nobodyさん
2006/11/30(木) 11:22:03ID:???urldecode() や mb_convert_kana() ではないみたいですし。
0529nobodyさん
2006/11/30(木) 11:57:24ID:???ここ参考になる?
http://module.jp/blog/regex_unicode_prop.html
0530nobodyさん
2006/11/30(木) 12:00:07ID:???http://jp2.php.net/urldecode
ユーザーノートにそれっぽいのあるけど
0531523
2006/11/30(木) 12:12:40ID:sNmjvtK7あ、そんなもんなんですね、
いや、最近始めたものでその辺の感覚がよく分からなかったので。
ありがとうございます。勉強になりました。
0532nobodyさん
2006/11/30(木) 12:51:57ID:???ありがとうございます。
ユーザーノートにある unicode_urldecode() を
ベースにうまくいきました。
0533nobodyさん
2006/11/30(木) 13:04:26ID:???0534nobodyさん
2006/11/30(木) 13:49:07ID:???例えば
$a=array("テスト"=>"$test");
$b=array("ホゲ"=>"$hoge");
↑上記二つを合体して↓
$c=array("テスト"=>"$test","ホゲ"=>"$hoge");
みたいに出来たらいいのですが、可能でしょうか?
意図は$aと$bの配列の値がフォームの入力値によってことなるからです。
0535nobodyさん
2006/11/30(木) 13:58:51ID:???0536nobodyさん
2006/11/30(木) 13:59:47ID:???こうですね。
0537nobodyさん
2006/11/30(木) 14:23:37ID:???0538nobodyさん
2006/11/30(木) 14:39:16ID:sFslmVclhtmlspecialchars
ENT_QUOTES
mb_SubStr
mb_convert_kana
などを使って一応意識してるつもりなのですが、
フォームから「あああああああああ」と入力された場合は大丈夫なのですが、
URLから直接↓このように入力されるとちょっと無理的な現状なのですが
index.php?q=あああああああああ
なにか良い対策はありませんか?
0539nobodyさん
2006/11/30(木) 14:45:29ID:???0540nobodyさん
2006/11/30(木) 14:53:04ID:???Debian GNU/Linux 3.1
apache2.0.54-5sarge1 (aptでインストール)
php-5.2.0 (ソースからインストール)
上記のような環境で、*.php にブラウザからアクセスするとメモ帳などが開いて
生ソースが表示されます。
以前 php-4.4.3 を使用していたときは正常に動作していたのですが、
なぜか挙動不審になってしまいます。
/etc/apache2/httpd.conf には
LoadModule php5_module /usr/lib/apache2/modules/libphp5.so
の行もありますし、/etc/apache2/apache2.conf では
AddType application/x-httpd-php .php
の記述もあります。
なにか原因として思い当たることはありますでしょうか。
ちなみに、apache2 の動作が不審だったため、apt-get remove apache2
を行い、設定ファイルのいくつかがデフォルトに戻ってしまったのも
原因のうちかもしれません。
0544nobodyさん
2006/11/30(木) 15:38:08ID:???0545nobodyさん
2006/11/30(木) 15:48:30ID:G4M0iaJfどんな感じだったでしょうか
0546nobodyさん
2006/11/30(木) 16:10:33ID:HTGu5qKm例えば
mysql_query("insert into table_1(ID_C)values
while ($a < 4){
('999'),
$a++;
}
('999')");
こんな感じで、$aの値が4になるまでテーブルのID_Cというカラムの中に999という
データを入れるプログラムを作りたいんですけど上手く行きません。誰か教えてください
0547nobodyさん
2006/11/30(木) 16:13:05ID:???■ このスレッドは過去ログ倉庫に格納されています