【PHP】ID出さなくても質問OKなスレ【初心者歓迎】
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん
2009/02/03(火) 01:09:36ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
0877nobodyさん
2009/08/31(月) 14:34:29ID:???0879nobodyさん
2009/08/31(月) 14:40:52ID:???0880nobodyさん
2009/09/01(火) 12:42:16ID:???0882nobodyさん
2009/09/02(水) 10:09:20ID:???で、今PHPのインストール設定のところで迷っているのですが、php-5.2.10-Win32.zipをダウンロードし、C:\phpに展開しました
その後php.ini-distをphp.iniに名前変更してWindowsディレクトリに入れました
その次の事が良く分からないのですが、このphp.iniの内容を書き換えろというのは、例えば自分でメモ帳やらTeraPadで書き換えろという事なのでしょうか?
それと、本に「extension_dir="c:/php/ext"」と書かれているのですが、コレはphp.ini内で検索して出てくる「extension_dir = "./" 」という部分を書き換えればいいのでしょうか?
また、自分は「独習PHP」を参照にしているのですが、このサイト(http://y-kit.jp/saba/xp/phpsetup.htm#down)やこのサイト(http://www.phpbook.jp/install/phpini/index.html)で、書かれている事などが違います
いったいどれを参考にし、どういうような書き換えをするべきなのでしょうか?
教えていただければ幸いです
0883nobodyさん
2009/09/02(水) 10:16:57ID:???俺が初心者にPHPを伝授する
http://pc11.2ch.net/test/read.cgi/php/1167984858/
0885nobodyさん
2009/09/02(水) 10:24:27ID:???他のサイトのは貴方の環境には合いませんから違います。
0886nobodyさん
2009/09/02(水) 10:31:33ID:???返答ありがとうございます
思っていたよりもPHP導入って難しいんですね
PHP学習するよりも何か導入の方が時間かかっている気がします(苦笑)
第1章がなかなか先に進みません・・・
0887nobodyさん
2009/09/02(水) 11:57:26ID:???上記のスレの>>1から続く設定方法を見てやってみたのですが、
>>13のPHPの設定で、Apachewo再起動したところ、httpd.confの「LoadModule php5_module C:/php/php5apache2.dll」がEroorになり、
「php5apache2.dll」がload出来ないと出ました
色々とやってみたのですが出来ません
いったいどこの設定が間違っているのでしょうか?
教えてください
0888887
2009/09/02(水) 12:10:26ID:???0889nobodyさん
2009/09/02(水) 12:17:27ID:???0891nobodyさん
2009/09/02(水) 19:44:10ID:???を実行しても、/usr/local/bin/php がインストールされません。
(--prefixはちゃんと/usr/localになっています。)
以前はこれでうまくいっていたはずなのに。
何が原因かわからないのですが、心当たりのあるひとがいたら教えてください。
PHP5.2.10, MacOS X Snow Leopard
0892nobodyさん
2009/09/03(木) 01:24:57ID:???基本的すぎて?解説書に書いてない
0893nobodyさん
2009/09/03(木) 01:39:12ID:???print "1 $hoge";
print '2 $hoge';
->出力
1 ほげ
2 $hoge
-----------------------------------------
速度的には ""の中に変数を書くのではなく、
print "1 ". $hoge;
とするのが早いらしい。
0894nobodyさん
2009/09/03(木) 02:39:30ID:???まあソースを追えばわかるんだろうけど。
0895nobodyさん
2009/09/03(木) 02:53:32ID:???�d
すみません、質問の仕方が不適切でした。
その違いはわかるのですが、シングルでもダブルでも動作に違いがない場合
どちらを使うかは全くどうでも良いことなのでしょうか?
具体的には、
$hoge['name']と書くか
$hoge["name"]と書くか悩んでる。現在統一されてなくてバラバラなので気になって。
0896nobodyさん
2009/09/03(木) 03:41:35ID:???書き方が悪かった、
print "1 ". $hoge;
print '2 '. $hoge;
とやった際のスピードは殆ど変わらない
ダブルで変数が書かれていた場合、変数を呼び出す際に遅いということ。
>>895
シングル・ダブル、どちらでもかまわないが、文字+変数などでキーを指定する場合は
$hoge[ "As$num" ] ではなく、
$hoge[ "As".$num ] とやった方がいい
0897nobodyさん
2009/09/03(木) 04:58:16ID:???PERLだとシングルで囲むと不具合の出る日本語(カタカナのソとかだったような)があったけど、
PHPではその心配はしなくて良いのでしょうか?
0898nobodyさん
2009/09/03(木) 15:35:06ID:???これtwitterAPIがかなり不完全で辛いのだけど、他に使えそうなのないだろうか。
自作したほうがかゆいとこに手が届くのは確かだけど
既存のがあるのならそっち流用したほうが手間省けるし。
twitterのbotやツール関連スレないかと探してみたもののないっぽいね。
0899nobodyさん
2009/09/03(木) 21:13:27ID:???1.7.2
MySQLを起動しているのに、
XAMPPの「ステータス」の画面では、
MySQL 起動していない
って表示されます。なんで?
起動していることの検出に
失敗している?
0900nobodyさん
2009/09/03(木) 21:14:46ID:???0901nobodyさん
2009/09/03(木) 21:27:49ID:???0902nobodyさん
2009/09/03(木) 21:43:26ID:???0903nobodyさん
2009/09/03(木) 21:52:33ID:???チュートリアルどおりに正常にインストールが完了していれば
問題なく使えるようになっているはずだが
なんか余計なことした?
0904nobodyさん
2009/09/03(木) 21:55:43ID:???ってのに、遭遇したんだが、
これってどこから設定するの?
0905nobodyさん
2009/09/03(木) 21:59:37ID:???1.phpinfoのタイプミス
2.PHP不可のサーバー使っている
3.その他こっち参照ttp://74.125.153.132/search?q=cache:GpgepT72DysJ:sakaguch.com/pastbbs/0033/B0016626.html+php.info&cd=1&hl=ja&ct=clnk&lr=lang_ja
0906nobodyさん
2009/09/03(木) 22:07:05ID:???それは使えません」
って英語で出てきた。
0907nobodyさん
2009/09/03(木) 22:11:20ID:???これってphpだとダメなんだね。
0908nobodyさん
2009/09/03(木) 22:16:03ID:???0909nobodyさん
2009/09/03(木) 22:28:10ID:???$a=array(1,2,3,"","","");
$a=array(1,2,3,null,null,null);
0911nobodyさん
2009/09/03(木) 23:23:51ID:???nullはnull、文字列では無い。
空白つったらspace。
0912nobodyさん
2009/09/03(木) 23:25:02ID:???0913nobodyさん
2009/09/03(木) 23:29:37ID:???0915nobodyさん
2009/09/04(金) 00:06:06ID:???0916nobodyさん
2009/09/04(金) 00:09:10ID:???という話があってだな。
0917nobodyさん
2009/09/04(金) 03:29:20ID:???0918nobodyさん
2009/09/04(金) 10:06:16ID:+DFleHvHどうも中心がずれてしまいます。
$src_img=ImageCreateFromJPEG(元の画像);
$img_w=ImageSX($src_img);
$img_h=ImageSY($src_img);
if($src_img){
//$resize_h,$resize_wトリミング後のサイズ
//$new_h,$new_w縮小後の画像のサイズ
if($resize_h>$resize_w){
$rate=$resize_h/$img_h;
$new_w=$rate*$img_w;
$new_h=$rate*$img_h;
$dst_y=($new_h-$resize_h)/2;//位置の調整
}else{
$rate=$resize_w/$img_w;
$new_w=$rate*$img_w;
$new_h=$rate*$img_h;
$dst_x=($resize_h-$resize_w)/2;//位置の調整
}
$dst_img=ImageCreateTrueColor($resize_w,$resize_h);
$result=ImageCopyResampled($dst_img,$src_img,0,0,$dst_x,$dst_y,$new_w,$new_h,$img_w,$img_h);
ImageJpeg($dst_img,$resize_path.$img_name);
imagedestroy($dst_img);
imagedestroy($src_img);
こんな感じなんですが、よろしくお願いします。
0919918
2009/09/04(金) 10:27:33ID:+DFleHvHImageCopyResampled($dst_img,$src_img,-$dst_x,-$dst_y,0,0,$new_w,$new_h,$img_w,$img_h);
↑で解決しました。
昨日一日使ってうまくいかず
imagecopyresampledのマニュアル(公式じゃない奴)調べなおしてうまくいきました。
お騒がせしました。
0922nobodyさん
2009/09/04(金) 18:05:29ID:???ネットワーク系のプログラミングはほとんど経験ありません
どこかのHPの専用ブラウザを作るにはそのHPのソースが絶対にわからないとだめなのでしょうか
この2ch専用ブラウザは誰が作ったのでしょうか
お願いします
0923nobodyさん
2009/09/04(金) 18:17:06ID:???0924nobodyさん
2009/09/04(金) 19:29:22ID:???「拡張子がphpのファイルをphp5スクリプト(cgiモード)として扱う」という設定があります。
各所の説明を見ると、CGIモードならセーフモードの影響を受ける機能が使える
というような記述があるんですが、CGIモードにしても自作スクリプトが動いてくれません。
しかし、セーフモードである別のレンタル鯖Bだと問題なく動きます。
同じセーフモード環境下なのにAだけエラーが出る理由が分からないんですが、
phpini等の設定の違いでありえることなんでしょうか?
0926nobodyさん
2009/09/04(金) 20:22:03ID:???色々制限もあるしWebプログラムのプラットフォームでやるようなことじゃないとおもう
0928nobodyさん
2009/09/04(金) 20:51:56ID:???そりゃどういうエラーが出てるかをいわなきゃわからんだろ
パーミッションは?cgiで動かすなら755とかにしないとだめだよ
0929nobodyさん
2009/09/06(日) 01:41:17ID:???ゾーンアラームはMySQLがインストールできないので
Outpost2009にしたのですが
Outpostはトラブルが多いので別のにしたいのですが
OSはXPです
0930nobodyさん
2009/09/06(日) 02:15:39ID:???ルーターもってないの?
もってるならいらないからアンインストールしていいよ
0933nobodyさん
2009/09/06(日) 19:17:24ID:???ルーター機能つきのモデムなんじゃない?(むしろADSLモデム機能つきルーターか)
ルーター自体がファイアーウォール機能が備わっている(外から中だけだけど)
ようするにルータがある状態ならバックドアだけに気をつけてればいいので
アンチウイルスソフトのみでいいというお話
(ここで遮断すれば中から外へ向かう悪意のあるソフトはインストールされないので)
XPからは中から外を検知するWindowsファイアーウォールなんてのもついてるしね
今時ルーターを通さないで直接接続してる人はまれだろう
(ブロードバンド契約時にルーターも貸し出されることが多い)
まだルーターが普及してないころに必要だったものなので
ソフトウェアのファイアーウォールは直接接続してる人にしかいらないもの
ソフトよりハードのほうが強力だしわざわざソフトとハードで二重にする必要はないよ(重いだけ)
>>932
初心者乙
0934nobodyさん
2009/09/06(日) 19:27:51ID:???接続するときなんかを想定すると必要になる場合もあるけど
ルータがあってデスクトップで家のみで使う分にはいらない
0937nobodyさん
2009/09/06(日) 22:13:14ID:???ゾーンアラームのログを見たら
2年ぐらい使ってて外からの攻撃を受けたのが0件だったから十部ありえるんだよな
0938nobodyさん
2009/09/06(日) 22:38:04ID:???だいたい外からの攻撃として検出されるのは
攻撃前の下調べのポートスキャンが大半でしょ
ルータのログには残ってるんじゃない?
0939nobodyさん
2009/09/07(月) 10:01:31ID:???勝手に(パーソナル)ファイアーウォールは入ってるんじゃないの?
0940nobodyさん
2009/09/07(月) 11:00:31ID:???入らない。セットになってる製品もあるけどね。
たとえば俺が使ってるカスペルスキーの製品でも、
ファイアーウォール機能つきのKaspersky Internet Securityと、
アンチウィルスのみのKaspersky Anti-Virusがある。
他の会社の製品も大体似たような感じで、
ファイアーウォール機能つきとついてない2種類の製品を用意してる場合が多い。
ファイアーウォールはアプリケーションとしては重い部類に入るし、不要な干渉も多いので、
セキュリティに詳しい人でルーター入れてる人は避ける傾向にある。
0941nobodyさん
2009/09/07(月) 11:13:02ID:???詳しくなくて&phpと離れてしまって申し訳ないが
ルータのF/W機能で、Zone Alarmみたいにプログラム単位で許可・不許可を設定できる?
俺のiodataのルータだとそういうの見つからなかったから、ルータ側では使わないポート塞ぐ位しかしてない。
0942nobodyさん
2009/09/07(月) 12:05:00ID:???結局できてもプロトコル別やポート別が限界じゃないかな。
0943nobodyさん
2009/09/07(月) 12:16:57ID:???できない。
ファイアーウォールってのは字のごとく外からの不正アクセスを火の壁でブロックする(イメージ)機能。
ルータが行うことはまさにこれでこれ以上のことはしない。
直接インターネットに接続してる場合、ポートが開いている状態になっているので、
これをソフトウェア的に閉じるのがZoneAlarmみたいなソフト。
このようなソフトウェアは外から中への監視に加え、中から外へ向かう通信も監視している。
中から外への監視というのは、ウイルスなどで自PCにサーバ機能をもつソフトなんかを、
知らない間に設置されてしまったときの検出には役立つが、基本的に必要性がない。
なぜなら自分で意図的にいれたソフトウェアは最初から信頼しているわけだからね。
(たとえば2chブラウザを使うために入れてわざわざ通信の許可するのは不要だと思わない?)
それにウイルスに感染して上記のようなソフトを入れられた場合、
ルータをはさんでればポートが開くことはないのでその後の受け皿になることもないが、
ソフトウェアの場合、プロセスを強制終了させられて機能させなくすることも可能なので信頼性が低い。
上のほうでハード(ルータ)だソフトだいってるのはそういうこと。
ポートは基本的に全て開ける必要はないので全て閉じていい。
PHPの開発でApacheいれるにしてもlocalhostでの開発になるんだからわざわざ外に開ける必要はない。
0944924
2009/09/07(月) 12:26:22ID:???xreaではないんです
>>928
Warning: session_start() [function.session-start]: SAFE MODE Restriction in effect.
で、スクリプトのディレクトリにtmpディレクトリ作ってsession.save_pathで指定してみたらエラーは消えたけど
ログインが出来ないっていう…。(ログイン成功で発行されるセッションの値がNULL)
0945nobodyさん
2009/09/08(火) 17:21:31ID:8FIeNmpAwhile (list ($a, $b) = each ($c)){
$flag1 = eregi("test",$a);
$flag2 = eregi("test",$a);
echo $flag1;
echo $flag2;
}
echo $flag1;
echo $flag2;
0946nobodyさん
2009/09/08(火) 17:26:50ID:???$cの中身よく見てみな。
whileの最後のループでeregiマッチしなくて$flag1と$flag2に空が代入されているからだろ。
0947nobodyさん
2009/09/08(火) 17:27:47ID:???0948nobodyさん
2009/09/08(火) 19:10:27ID:???↓のブログのコメントの73番のやり方が分かる方はおられませんか??
ttp://ameblo.jp/yamasita-94nsr/entry-10018566158.html
PRという文字列を含む場合、ソート用の変数に追加させないようにしたいんですが
どのようなif文を追加すれば良いのか分かりません。
0949nobodyさん
2009/09/08(火) 20:55:24ID:???0950nobodyさん
2009/09/09(水) 07:04:04ID:???workspaceの指定し
mysqlのエンコードを設定後
bin/httpd.confに
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
追加すると
apacheが立ち上がりません
イベントビュアーで確認をとったところ
上記書き換え行のシンタックスエラーがでてるみたいなのですが
subversionを使うには他に何か操作する必要があるのでしょうか?
OSはXPSP2です
ソフトはサクラエディタです
ファイアーウォールはウィンファイアウォールです
0951nobodyさん
2009/09/09(水) 07:32:07ID:???スレ違いもとい板違い
http://pc11.2ch.net/test/read.cgi/mysv/1245157265/l50
0952nobodyさん
2009/09/09(水) 07:33:21ID:???http://pc12.2ch.net/test/read.cgi/tech/1230488758/l50
0953nobodyさん
2009/09/09(水) 11:31:03ID:???private $width;
public function __construct(){ 中身 }
public function __destruct(){ 中身 }
public function get_width(){return $this->width;} //�@
}
ちょっと色々と省略していますが、このthisはいったい何を意味しているのでしょうか?
というよりも、�@の部分はwidthプロパティを取得しているとの事らしいのですが、 $this->widthの部分が何をしているのかが分かりません
すみませんが教えていただきたく質問させてもらいました
0954nobodyさん
2009/09/09(水) 11:38:37ID:???$foo=mew MyClass();
$foo->get_width();
//ならget_width()の$thisは$fooだし
$boo=mew MyClass();
$boo->get_width();
//なら$boo。
0955nobodyさん
2009/09/09(水) 11:40:58ID:???$thisは自身を指す変数
->はアロー演算子と呼ばれるものでオブジェクトのメンバを参照するときに使う
http://www.shigeweb.jp/php/project_p/?page=class§ion=first
なんかを読むと良い
0956nobodyさん
2009/09/09(水) 11:51:58ID:???0958nobodyさん
2009/09/09(水) 15:57:59ID:???あるアプリケーションをメンテナンスすることになったのですが、動作がわからず困ってます。
せめて
・どのファイルが読み込まれたのか
・どの関数が呼び出されたのか
を知ることができたらと思い、質問させていただきました。
よろしくお願いします。
0959nobodyさん
2009/09/09(水) 16:20:16ID:???あと Xdebug
0960nobodyさん
2009/09/09(水) 18:01:48ID:???backtraceはちょっと求めるものとは違いました。
debug_backtrace()を使うには、すでに呼び出されることがわかっているコードの中で呼び出す必要がありますが、
どのコードが呼び出されるのかまるでわかってない場合には使いづらいです。
Xdebugについては知りませんでしたので、調べてみます。
ありがとうございました。
0961nobodyさん
2009/09/09(水) 20:19:12ID:???0962nobodyさん
2009/09/10(木) 10:14:01ID:???0963nobodyさん
2009/09/10(木) 15:21:24ID:???$to='メールアドレス@hotmail.co.jp';
$subject='テストメール';
$body='こんにちは、世界!';
if(mb_send_mail($to,$subject,$body)){
print('メール送信に成功しました。');} else {print('メール送信に失敗しました。');
}
?>
と書いたら、Fatal error: Call to undefined function mb_send_mail() in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\samples\chap4\sendmail.php on line 5 と出てきました
php.iniの設定もSMTP、sendmail_fromともにちゃんと設定したつもりなのですが、何故メールを送れず構文エラーが出るのでしょうか?
ちなみにこの構文は参考書のコピーなのですが
0964nobodyさん
2009/09/10(木) 15:29:16ID:???0965nobodyさん
2009/09/10(木) 15:32:36ID:???0966nobodyさん
2009/09/10(木) 15:35:20ID:???php.iniのextension=php_mbstring.dllの事でしょうか?
もしそれならばちゃんと設定してあります
0967nobodyさん
2009/09/10(木) 15:40:07ID:???0971970
2009/09/10(木) 15:46:49ID:???0972969
2009/09/10(木) 15:47:41ID:???0974970
2009/09/10(木) 15:56:42ID:???F4機能でも文字検索してみたのですが、ありませんでした・・・orz
0975970
2009/09/10(木) 16:38:53ID:???Configure Command で
cscript /nologo configure.js "--enable-snapshot-build" "--enable-debug-pack"
"--with-snapshot-template=d:\php-sdk\snap_5_2\vc6\x86\template" "--with-php-build=d:\php-sdk\snap_5_2\vc6\x86\php_build"
"--with-pdo-oci=D:\php-sdk\oracle\instantclient10\sdk,shared" "--with-oci8=D:\php-sdk\oracle\instantclient10\sdk,shared"
と書いていて、mb_stringは入っていないようでした
で、色々と実験してみたのですが、やっぱり解決しませんでした
この場合どのようにすればいいのでしょうか?
一度アンインストールとかして最初からした方がいいのでしょうか?
0976nobodyさん
2009/09/10(木) 16:43:36ID:???レス数が950を超えています。1000を超えると書き込みができなくなります。