【PHP】ID出さなくても質問OKなスレ【初心者歓迎】
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん
2009/02/03(火) 01:09:36ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
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:???0977970
2009/09/10(木) 17:08:16ID:???すみません、ギブっす・・・
--enable-mbstringのビルドの仕方というものが自分には皆目分かりません
以下のようにネットで色々と調べてみたのですが、理解が出来ません
libmbflライブラリというものも何で、どこで入手し、どこに入れればいいのかも分かりませんし、
configure のオプションに、--enable-mbstring を追加という記述も、いったいどこに追加すればいいのかも分かりませんでした
http://www.asahi-net.or.jp/~wv7y-kmr/memo/php_mbstring.html#compile
http://php.plus-server.net/mbstring.installation.html
http://www.php.net/manual/ja/mbstring.installation.php
申し訳ございませんがご教授願いたいと思います
先ほどからすみません
0979970
2009/09/10(木) 17:47:15ID:???PHPは筆記で今までやってきてそこそこ出来るようになったのですが、こういう設定の方はまだまだサッパリの初心者です
http://www.aconus.com/~oyaji/www/apache_linux_php.htm
こういうサイトを見つけたのですが、僕の問題の場合、Apacheの設定をしなければならないのでしょうか?
自分で--enable-mbstringを入れると言っても、いったい何のどこに加えればいいのかが分かりません
そもそも、このcongirureというものが良く分かりません
上記のサイトのPHPをインストールって箇所の黒い枠の部分に辿り着く方法がそもそも分からないのです
0980nobodyさん
2009/09/10(木) 17:49:07ID:???http://www.php.net/manual/ja/install.unix.php
信頼性の低い個人サイトより公式マニュアル見たほうがいいよ
0981nobodyさん
2009/09/10(木) 17:58:23ID:???windows環境でしょ?linuxの解説みて混乱しないでね。
phpのインストールはどこにした?
php.iniのextension_dirにphp_mbstring.dllある?
0982nobodyさん
2009/09/10(木) 18:02:19ID:???ここを見て入れなおしてもいいんじゃないかな。
php_mbstring.dll の有効化もガイドしてるから。
0983nobodyさん
2009/09/10(木) 18:02:39ID:???http://pc11.2ch.net/test/read.cgi/php/1167984858/を1から見て入れなおせや
0984970
2009/09/10(木) 18:15:14ID:???あ、linuxでしたね、すみませんw
php_mbstring.dllはありますし、
php.iniの設定で、extension=php_mbstring.dllとしていますし、
extension_dirの指定ファイル先に、php_mbstring.dlというものがありますl
0985970
2009/09/10(木) 18:16:41ID:???やっぱ再インストールですかね?
再インストールの場合は、PHP、Apache、どちらを再インストールすればいいのでしょうか?
>>983さん
そのスレは見て、それと参考書を加えた設定でやりました
0986nobodyさん
2009/09/10(木) 18:30:57ID:???0987nobodyさん
2009/09/10(木) 21:22:39ID:Wu0Ynk2eset_time_limit();だと処理に時間掛かりすぎるから
30秒待ったら次の処理に行きたいんだけど
無理なのかーー
0988nobodyさん
2009/09/10(木) 21:35:58ID:???何をしたいのかわからんので外していると思うが
forkさせてpcntl_alarmでタイマーを作成とかなら昔やった。
php5.3ならpcntl_sigtimedwaitが使えそうだ。
PHP: PCNTL 関数 - Manual
http://jp.php.net/manual/ja/ref.pcntl.php
0989970
2009/09/10(木) 22:23:35ID:???もう7時間格闘しているのですが、mb_stringが出来ません
php、Apatchともに再インストールしたりしたのですが・・・
何故か--enable-mbstringが出てきません
http://www.asahi-net.or.jp/~wv7y-kmr/memo/php_mbstring.html#windows
configure のオプションに、--enable-mbstring を追加するとか書かれていますが、configureって何なんでしょうか?
もう流石に疲れてきました・・・・・・・・・・・・・・・・・・・・・
0990nobodyさん
2009/09/10(木) 22:25:19ID:???0992nobodyさん
2009/09/10(木) 22:32:53ID:???a. 静的ライブラリとして組み込む方法
b. 共有ライブラリとして使用する方法
c. Windows 環境の場合
って書いてあるじゃないか・・・
0993nobodyさん
2009/09/10(木) 22:33:42ID:???phpはzip解凍するだけ
apacheはmsiでインストール
あとはphh.iniとhttpd.confを確認するだけで平気なはずだが・・・
>>986でも書かれてるように、読み込んでいるphp.iniが違うというのはないのか?
0994nobodyさん
2009/09/10(木) 22:35:15ID:???0995970
2009/09/10(木) 22:35:48ID:???では、a.とb.はLinuxなどの別のOS用のやり方なのでしょうか?
で、c.のやり方・・・
c. Windows 環境の場合
ダウンロードした PHP のパッケージの中に、php_mbstring.dll が含まれています。
php.ini で extension_dir と extension を設定します。
extension_dir = "C:/php/ext"
extension=php_mbstring.dll
ですけれど、それは既に何度も確認しています
レス数が950を超えています。1000を超えると書き込みができなくなります。