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

くだすれPHP(超初心者用)4

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2008/06/13(金) 20:32:36ID:???
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
PHP使いが優しくコメントを返しますが、
お礼はPHPの布教と初心者の救済をお願いします。

PHP Home Page
http://www.php.net/
http://jp.php.net/



前スレ: くだすれPHP(超初心者用)3
http://pc11.2ch.net/test/read.cgi/php/1193295871/

適当に関連スレ(マルチはだめぽ)
【PHP】下らねぇ質問はここに書き込みやがれ 69
http://pc11.2ch.net/test/read.cgi/php/1211879073/
0133nobodyさん2008/07/11(金) 22:11:31ID:???
誰か助けてくれ---------------------
0134nobodyさん2008/07/11(金) 23:01:47ID:???
何を?
0135nobodyさん2008/07/12(土) 10:17:05ID:???
あんた向いてないから諦めろ
0136nobodyさん2008/07/13(日) 04:23:27ID:???
あきらめきれない。
3000もしたんだよ
0137nobodyさん2008/07/13(日) 20:06:55ID:???
画伯も大変だな
3000は大金だもんな
元気出せよ
0138nobodyさん2008/07/13(日) 21:41:45ID:???
買った本をあきらめろってことじゃなくて、
PHPの勉強をあきらめろってことじゃあ…
0139nobodyさん2008/07/15(火) 03:16:57ID:YrbWt9It
この本返そうかと思ったぜ。
ソフトバンクの本はもう買わん

0140nobodyさん2008/07/15(火) 15:59:19ID:px8EuhxF
simplexmlについて質問です。
以下のようなXMLからCountの値を取得したいのですが、
取得できません。
$string = <<<XML
<?xml version="1.0" ?>
<document>
<Hoges>
<Count>2</Count>
<Hoge>
<aa label="monar" />
<name>モナー</name>
</Hoge>
<Hoge>
<aa label="yaruo" />
<name>やる男</name>
</Hoge>
</Hoges>
</document>
XML;

$xml = simplexml_load_string($string);
foreach($xml->Hoges as $key => $tmp){
/* ここでCountの値を取ろうとしていますが
$keyが'Hoges'になっていて取得できません。
*/
}
↑のforeach内で取得する方法を教えてください。
ちなみに、$xml->Hoges->Countでは正常に取得できます。
どうかよろしくお願いします。
0141nobodyさん2008/07/15(火) 19:35:37ID:???
foreach($xml->Hoges as $key => $tmp){
echo $tmp->Count;
}
0142nobodyさん2008/07/16(水) 01:29:04ID:yQh99k9k
掲示板作ってるんですが最近英語表記のみ url大量に含まれた書き込みが大量に送り込まれ処理に困っております。
POSTで受け取っている$_POST['text']に日本語が含まれていないものを除外、urlが2つ以上含まれているものを除外したいのですが
どのようにしたらよいのでしょうか?

あと似たような問題は他にもいくらでも出てくると思うので、SPAM書き込み対策
掲示板作成の参考になるようなHPとかあるようでしたら教えてください。

よろしくお願いいたします。
0143nobodyさん2008/07/16(水) 01:37:08ID:???
ひとつはjavascriptで制御だな。
javascriptでこの文字が入っていたら除くとか
検索すれbないいよ。
もうひとつはapacheのところで、どこからきているか
を解析してそいつらはみられないようにするんだ。
0144nobodyさん2008/07/16(水) 01:51:52ID:???
>>142 BBQ
0145nobodyさん2008/07/16(水) 08:03:30ID:???
<?php
$baseball = array('鈴木'=>16, '松井'=>55, '清原'=>5);
foreach ($baseball as $key => $val){
print ($key." : ".$val."<br />");
}
?>


これの
$key の後ろの . って何のために必要なんでしょうか?
0146nobodyさん2008/07/16(水) 09:49:58ID:???
文字連結のため。
0147nobodyさん2008/07/16(水) 12:25:39ID:???
連結をしないとエラーになってしまいますが、なぜエラーになるのかがわかりません。
連結をしなければいけないときとしなくてもいいときがわからないというか?
0148nobodyさん2008/07/16(水) 13:00:16ID:???
>>147
お前はいったい何がしたいんだ?

>>145のソースでは当該箇所はどう見ても文字列を連結しようとしている
わけだから、連結演算子(.)は省けないだろう。

どうしても連結したくないなら
print $key;
print " : ";
print $val;
print "<br />";
とでもしておけ。

普通なら
print "{$key} : {$val}<br />";
で終わりだがな。
0149nobodyさん2008/07/16(水) 13:02:18ID:???
>>148

なるほど。
意味がわかったような気がします。
ありがとうございました。
0150nobodyさん2008/07/16(水) 13:20:58ID:JWV92MXF
. で連結するより、変数を{ }で囲った方が処理的負荷が少ないの?
たしか、 .で連結するより ,で連結した方が、処理的に早いって聞いた

処理速度 { } > , > .

これであってるかな?
0151nobodyさん2008/07/16(水) 13:23:05ID:???
高速化は、デカい所からやれ!!
最適化は、脳味噌に適用しろ!!

(http://d.hatena.ne.jp/gegegen/20080524/1211622711より)
0152nobodyさん2008/07/16(水) 13:39:24ID:???
PHPの質問とはちょっと違うと思いますが、

例えば、a8等のアフィリエイトの場合、広告主がサンクスページ(購入完了画面) に申し込み確定タグを
imgタグで仕込みます。

流れ的には、

サイトオーナー番号の付いた a8 のタグをクリックし、クッキーを発行
http://aaaa.com/in.php?s=001
↓
広告主サイト
http://bbbb.com/
↓
商品購入完了画面で、imgタグにより a8 へ通知
<img src="http://aaaa.com/check.php">

という流れだと思うのですが、この時、最初に発行されたクッキーは a8 の名前で作成されるのですが、
これを商品購入完了画面の imgタグで、a8に通知した時、クッキーはa8へ渡るのでしょうか?

上記のような流れのものをPHPで作って試してみましたが、ドメインが違うためクッキーは受け取れませんでした。
もちろん、同ドメインの場合では正常に受け取れます。

サイトが違っても、imgによる呼び出し先が、発行元と同じなため、受け取れるんじゃないかと思ったのですが…
何か特別な事をしているのか、私の勘違いなのか、お知恵を貸しください。

よろしくお願いいたします。
0153nobodyさん2008/07/16(水) 13:45:17ID:???
>>150
逆

ttp://www.phpbench.com/
echo vs. print のところを参照
0154nobodyさん2008/07/16(水) 13:51:19ID:???
>>151 嘘だよ
0155nobodyさん2008/07/16(水) 20:17:18ID:???
何が?
0156nobodyさん2008/07/17(木) 09:33:28ID:???
echo ereg_replace("[a-z]|[0-9]","",$message);

これでアルファベットと記号を消そうと思うんですが、
' とか
" とか
[ とか
も消したいときはどんな風に表記したらいいんでしょうか。
0157nobodyさん2008/07/17(木) 15:54:00ID:???
>>156
例えばこんな感じ?

$message = preg_replace('/[0-9A-Za-z@!"#$%&,_=\|\{\}\[\]\(\)\x27\x2f\x3f\x5c\x60:;\.\*\+\-]/','',$message);
echo $message;
0158nobodyさん2008/07/17(木) 16:03:43ID:???
>>156
>>157は個別に書いたけど、単純に数字〜英記号を一括削除するなら

$message = preg_replace('/[\x21-\x7e]/','',$message);
echo $message;

の方が簡単。
詳しくはPerl正規表現とそのエスケープ文字を調べること。

ereg系正規表現は日本語が混じると誤動作するし、mb_ereg系もイマイチ不安定で
パフォーマンスも低いので、文字コードに拘らないのであればperl互換正規表現
を使う方が何かと便利だと思うよ。
0159nobodyさん2008/07/18(金) 02:29:59ID:???
>>157
>>158

ご丁寧にありがとうございます。疑問が全て解けました。
0160nobodyさん2008/07/20(日) 00:29:05ID:???
perl の正規表現はいろいろ調べてみましたがあんまり良いウェブサイトが見つかりませんでした。今度、本を探してみます。

ところで、

$old = array("a","b","c");
$new = array("<strong>a</strong>","。<strong>b</strong>","<strong>c</strong>");

$wrdst = str_replace($old,$new,$wrdbr);

こんな感じで置換しているんですが、これを
「最初の10個だけ置換」
したいんですが、良い方法がないでしょうか。
0161nobodyさん2008/07/20(日) 06:45:16ID:???
preg_replace('/[a-c]/', '<strong>\\0</strong>', $str, 10)
0162nobodyさん2008/07/20(日) 11:38:30ID:???
>161

ありがとうございます!
0163nobodyさん2008/07/22(火) 19:28:46ID:???
配列の中身を

5の倍数の場合だけ<h1>を入れて返すにはどうしたらいいんでしょうか。

ifで5で割り切れるときだけどかいろいろ考えてみたんですが、いまいちうまくできません。
0164nobodyさん2008/07/22(火) 19:54:43ID:???
>>163 5の倍数の時だけあほになる方法は知ってるんだけどなあ…
0165nobodyさん2008/07/22(火) 20:00:33ID:???
答えが0か5の時はってことね
0166nobodyさん2008/07/22(火) 20:04:12ID:???
>>163
>ifで5で割り切れるときだけどかいろいろ考えてみたんですが
いやそれでok
0167nobodyさん2008/07/22(火) 20:21:02ID:???
% を知らない予感
0168nobodyさん2008/07/22(火) 20:34:06ID:???
mod を知らない予感
0169nobodyさん2008/07/23(水) 02:23:01ID:???
% は知ってまましたがmodは知らなかったっす。今から調べてみるっす!
0170nobodyさん2008/07/31(木) 13:54:43ID:F87Ghxji
文字コードのことで質問があるのですが
基本的にSJISで作ったフォームからはSJISで
EUCで作ったフォームからはEUCで文字コードが
送られてきますよね。だけど送り手が意図的
に文字コードを変えて送ってきたりブラウザ
が勝手に他の文字コードで送ってしまう場合が
あるようなのですがその場合文字コードを
適切にスクリプト内部で使用したい文字コードに
変換する方法てどんなものが考えられるでしょうか。
またみなさんはどうやってますか?
0171nobodyさん2008/07/31(木) 15:43:39ID:???
>>170 mb_convert_encoding
0172nobodyさん2008/07/31(木) 18:02:30ID:???
iteteki ni okutte kuru you na yatsu ha mushi

諢丞峙逧縺ォ騾√▲縺ヲ縺上k繧医≧縺ェ螂エ縺ッ辟。隕悶☆繧翫c濶ッ縺縺倥c繧薙Χ縺√�縺仇ww
0173nobodyさん2008/08/01(金) 01:13:57ID:/2mMDjbG
レッツPHP! ttp://php.s3.to/bbs/bbs7.php  の「写メール掲示板」を使っているのですが、
借りているサーバーの関係でphp4からphp5にバージョンアップしたら、
写真をパソコンで表示させるページ(mailbbs.php)でエラーが出てしまい、閲覧できなくなりました。

簡単に付け足す記述があれば、是非教えていただけないでしょうか?
よろしくお願いします。 m(_ _)m
0174nobodyさん2008/08/01(金) 01:15:02ID:???
そんなのはない
0175nobodyさん2008/08/01(金) 02:46:29ID:???
>>173
まずはその問題を作成者に問い合わせろ
または、エラーを自分で読んで解決しろ
0176nobodyさん2008/08/01(金) 02:51:47ID:3wWMq3LY
とある就職支援のPHP講座について調べていたのですが、
Web申込フォーム、管理画面(データベース連携、検索など)を作成可能なレベルを目指す
という文章に対して
(つд⊂)ゴシゴシ
  _, ._
(;゚ Д゚)
とレスが返されていました。
これはどういうことなのでしょうか?
基本的なレベルだということですか?
0177nobodyさん2008/08/01(金) 03:01:39ID:cc3Gba10
まあ基本といえば基本ですな
ヌルポ
0178nobodyさん2008/08/01(金) 03:04:56ID:???
>>176
すごい基本
できても自慢できないぐらい基本

そのレスの意図なんざ知ったことではないが
0179nobodyさん2008/08/01(金) 03:11:47ID:???
>>177
>>178
なるほど。
2週間の講座なので、基本なのはまあしょうがないですね。
どうもありがとうございました。
0180nobodyさん2008/08/02(土) 17:48:44ID:qYvqcpCs
レンタルサーバーにPHPで組んだ自作画像UPローダー
を設置しようと思ってるのですが、画像をUPロードする
時に画像に関する情報(画像の説明、名前など)
をログファイルに同時に書き込む仕様になっているんです。
とりあえずテストでは問題なく動いてるのですが
もしスクリプトがなんらかの理由で途中で止まってしまったり
した場合、画像だけUPロードされてしまって
ログファイルには書き込みされない(または逆も考えられる)
ことになってしまいますよね。
こういう事態に陥らないためにはどうしたらいいでしょうか?
0181nobodyさん2008/08/02(土) 18:09:58ID:???
両方オッケーだなと判断したら保存&書き込む
0182nobodyさん2008/08/02(土) 18:16:17ID:QOTyBDTF
そんなこと考えないで、プログラム書いて
不具合がでるかどうか確かめろ。
まずはそっちだな
0183nobodyさん2008/08/02(土) 18:41:09ID:qYvqcpCs
>>181
>>182
ご返事ありがとうございます。
とりあえず不都合はまだないのですが
タイムアウト(レンタルサーバーだと30秒)
の問題もあるので結構悩んでます;;
0184nobodyさん2008/08/03(日) 01:05:38ID:a0x+ZsCK
PHPの練習用にxamppをダウンロードしたんですが
どれで練習して どこで実行したらいいんでしょうか?
ttp://phpspot.net/php/php_topics.htmlを見てるんですが
すでに実行にいってしまっていて
よろしくお願いします
0185nobodyさん2008/08/03(日) 01:13:59ID:???
http://phpspot.net/php/pgPHP%8AJ%94%AD%82%F0%82%CD%82%B6%82%DF%82%E9.html
書いてあんだろが
0186nobodyさん2008/08/03(日) 01:25:55ID:tLdg0T4F
mkdirやunlinkなんかのファイルシステム関数で
渡すパスは自動でエスケープされるようだけど
これは実際どういう文字がエスケープされるんでしょうか?
escapeshellcmdと同じ?マニュアルに特に書いてないで分かりません。
0187nobodyさん2008/08/03(日) 01:44:15ID:???
エスケープされるって何を根拠に?
01881842008/08/03(日) 01:52:39ID:a0x+ZsCK
183さん
サンクス
そのurl通りやってみたんですが
表示されませんでした
原因で考えられるのは
ttp://phpspot.net/php/pgXAMPP%82%CC%8BN%93%AE%81E%92%E2%8E%7E.html
にあるように起動後に黒背景のウィンドウが表示されないからかと思うのですが
XAMPPコントロールパネルアプリケーションでは起動 開始ボタンが押されてます
どうすれば実効されますでしょうか?
01891842008/08/03(日) 02:02:51ID:a0x+ZsCK
追記
XAMPPコントロールパネルアプリケーションはver2.5
あとはPHP editorだけダウンロードしてます
他に足らないものはないでしょうか?
ttp://de-lab.com/article/eclipse/を見るとPDTもインストールしなければならないようですが…
0190nobodyさん2008/08/03(日) 02:07:06ID:???
PDTなんていらない
01911842008/08/03(日) 02:09:54ID:a0x+ZsCK
>>190
そうですか…
では>>188に書いてあるように実行できなかったんでしょうか?
違うサイトを見てしまうと挫折してしまう気がして
よろしくお願いします
0192nobodyさん2008/08/03(日) 04:57:56ID:???
そもそも、XAMPP(ry

単純に一つ一つインストールしたほうが早くて確実だと思うけど。
0193nobodyさん2008/08/03(日) 05:28:24ID:???
ほんとXAMPPは弊害招きまくりだな
0194nobodyさん2008/08/03(日) 07:55:45ID:T3jYftlq
静岡の有名なよしのりお爺さんみたいに、IDかえまくり二十四時間打ちまくり
0195nobodyさん2008/08/03(日) 10:31:52ID:9C4HZHI8
ubuntu使うとLAMPインストール楽だよ
0196nobodyさん2008/08/03(日) 18:50:36ID:RMhtfFUN
XAMPPは使いたくない
0197nobodyさん2008/08/03(日) 19:00:15ID:???
宗教上の理由で
0198nobodyさん2008/08/03(日) 19:52:51ID:???
死んだじぃちゃんの遺言で
0199nobodyさん2008/08/04(月) 02:38:05ID:LmctVFYq
ダサさ加減で
0200nobodyさん2008/08/06(水) 23:42:16ID:???
PHP5でGDを使ってEXIFが入っているjpegをリサイズするときにEXIFを保ったままにする方法はありますか?
0201nobodyさん2008/08/07(木) 01:15:21ID:ASRrNjKq
すいません。ちょっと教えてください。
スレ違いかもしれませんが、PHPの呼び出しをしたいので、こちらで質問させていただきます。

サーバーのcronでサーバー内のPHPを毎分実行する時は、
*/1 * * * * /usr/local/bin/php /home/サーバー会社名/public_html/ドメイン名/△△.php
なのですが、
同じように毎分他サーバーのPHPファイルを指定する時はの記述を教えてください。
よろしくお願いします。
0202nobodyさん2008/08/07(木) 02:08:13ID:???
無理
0203nobodyさん2008/08/07(木) 02:51:36ID:GqYvn9Ij
質問です

php5を使って、XMLの内容を並び替える方法を教えてください。
0204nobodyさん2008/08/07(木) 02:52:26ID:???
http://jp.php.net/manual/ja/refs.xml.php
お好きなのをどうぞ
0205nobodyさん2008/08/07(木) 08:01:58ID:???
>>201
HTTP経由で他サーバーのPHPスクリプトを呼び出すPHPスクリプトをcronする
02062012008/08/07(木) 12:39:10ID:???
レスありがとうございます。

PHPスクリプトをcronすることにしました。
ありがとうございました。
0207nobodyさん2008/08/07(木) 15:24:18ID:???
普通にcronでwgetとか
0208nobodyさん2008/08/21(木) 15:50:39ID:???
初心者なんですけど
独習PHP山田 祥寛
まずこれやればいいですか?
自分のwebサーバーでphp使ったサイトとか作れるようになりたいです
0209nobodyさん2008/08/21(木) 15:52:50ID:???
まずマニュアルに目を通す
0210nobodyさん2008/08/21(木) 17:20:22ID:???
>>209
なんかマニュアル難しそうです
0211nobodyさん2008/08/21(木) 17:26:28ID:???
じゃ諦める
0212nobodyさん2008/08/21(木) 17:45:50ID:???
入門系のサイトに目を通してみたらどうか
検索すりゃ役に立つサイトから立たないサイトまでわんさか出る

マニュアルも早いうちから目を通せ
本やサイトは主観で書いてある記事だから誤解もある

0213nobodyさん2008/08/21(木) 18:25:36ID:CIze4FXP
MySQLのデータベースからデータを取り出そうとしてます
データベースはUTF8で作成しています
select文を実行する前に、
$sql = "SET NAMES utf8";
mysql_query($sql);
を実行してデータを取り出しましたが、日本語文字は『utf8』なのですが、
半角英数字は全部『ASCII』になっています

なぜでしょうか?
0214nobodyさん2008/08/21(木) 18:47:35ID:???
ASCII だから
0215nobodyさん2008/08/21(木) 20:58:15ID:???
>>212
ttp://www.standpower.com/index.html
とかでいいですか?
0216nobodyさん2008/08/21(木) 21:32:52ID:???
>>215
そんな感じ
文法や基本的な命令語を覚えれば後は使いたい関数やクラスを都度調べればいい
使う機会の多いものは自然に身についていくから
一通りのことが出来るようになった後に効率や最適化を考えればいい

あくまで趣味の一環として習得する場合だけどな

>>213
ASCIIしかないなら保存形式が何であれASCII
utf8と判断する材料がないからな
0217nobodyさん2008/08/21(木) 23:55:32ID:2yWxB/YG
PHPってばかが使う言語だろ?
0218nobodyさん2008/08/22(金) 00:09:08ID:???
釣られちゃダメだ釣られちゃダメだ釣られちゃダメだ!
0219nobodyさん2008/08/22(金) 00:10:17ID:???
>>218
もう手遅れだよ・・・・
0220nobodyさん2008/08/22(金) 09:40:04ID:???
ちなみにphpの本買ったけど書いてることが意味不明すぎてもう読むのやめたよww

そこらへんから完成品見つけてきてそれ改造してる方がよほど身につくと思う
0221nobodyさん2008/08/22(金) 10:04:01ID:???
おれも買った本はリファレンスくらいだな
ごちゃごちゃ解説読むの面倒だから辞書のように使ってた
それでもバージョン変われば役に立たんから直ぐにマニュアル見ることになるっと

完成品やサンプルソースを読んで動きを理解できるようになればいいな
パターンを覚えていけば応用が利いてくる
そのうち別パターンを自分で書けるようなるんじゃね?
02222132008/08/25(月) 20:42:58ID:???
>>214
>>216
ご返答ありがとうございます。
phpファイルはUTF8で保存して、metaタグでもUTF8を指定しています。
そういうことでは無いんでしょうか?
0223nobodyさん2008/08/25(月) 21:35:52ID:???
>>222
違う
phpのscript_encodingとかmeta(HTMLタグかよ)は関係ない
asciiはあくまでascii

0224nobodyさん2008/08/26(火) 03:06:03ID:???
>>222
大雑把かつ乱暴に言うと
半角英数と一部の記号はどのエンコード方法だろうと内部での表現方法が同じ
だから半角英数だけだと区別のつけようがないしつける必要もない
UTFとかeucとかは、日本語とかはいってくるときだけ
0225nobodyさん2008/08/28(木) 02:17:41ID:???
xamppでwebサーバー作るならphp使うのが一番簡単ですかね?
pealもつかえるようですが
0226nobodyさん2008/08/28(木) 02:33:08ID:???
何を持って簡単としてるのか分からん
0227nobodyさん2008/08/28(木) 06:20:10ID:???
余計にインストールとかしないですむという意味で
0228nobodyさん2008/08/28(木) 06:38:59ID:???
xamppは開発用で、そのためにセキュリティゆるゆるだから
まともに公開しようと思うと一から一づつ入れるより設定面倒だよ

設定に詳しくない限り止めておけ
0229nobodyさん2008/08/28(木) 08:53:39ID:???
入手する手段、パッケージの違い、適切なコンフィグ、文字コード等の環境依存要素の調整、など
全部すっとばしても構わないと思うならxamppで良いかと。
0230nobodyさん2008/08/28(木) 17:51:11ID:???
条件を言えばそのPHPを探してきてもらえる
スレがあったら誘導お願いします

0231nobodyさん2008/08/28(木) 19:41:11ID:???
自分で探せアホ
0232nobodyさん2008/08/28(木) 22:54:08ID:???
>>229
サーバの構築関連は、どのようにして知識を得るのがいいんですかね。
やっぱり書籍ですか?
0233nobodyさん2008/08/28(木) 23:12:59ID:???
ネットは断片的になりがちなので本がいいよね。
で、仮想マシンや引退したボロPCあたりで環境作っていじり倒す
■ このスレッドは過去ログ倉庫に格納されています