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

【PHP】ID出さなくても質問OKなスレ【初心者歓迎】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2009/02/03(火) 01:09:36ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
0554nobodyさん2009/05/27(水) 23:11:44ID:???
それって自分のISPの回線の
SMTPサーバー経由でないと
メールを送信できないってやつ?
0555nobodyさん2009/05/28(木) 00:21:44ID:???
>>554
いえ、違うんです
レンタル鯖だとできたんですけど・・・
0556nobodyさん2009/05/28(木) 00:26:24ID:???
レン鯖だとOKで自宅鯖だとNGって間違いなくポートブロックだろ
プロバイダのヘルプをサブミッションポートで検索してみ
0557nobodyさん2009/05/28(木) 01:30:28ID:???
$filename = $month."/".$day.".csv":
$data = @file($filename);

PHP5でローカルのWindows機でテストしているのですが、上のように下位フォルダにあるファイルを開こうとすると失敗します。
ディレクトリを表す"/"の部分がWinだと\だからだと思うのですが、そもそも根本的に"/"で変数を繋ぐのが変なような気もします。
サーバー上でもローカルWin機でも動くようにできないものでしょうか。

0558nobodyさん2009/05/28(木) 01:44:46ID:???
ごめんなさい、自己解決しましたw
$が間違って&になってましたw
切腹してきますw
0559nobodyさん2009/05/28(木) 08:09:32ID:???
>>552
自宅ってどうせ窓でしょ?
「windows php mail」でググって味噌。
0560nobodyさん2009/06/01(月) 20:27:02ID:???
JISの漢字コードから

3021 → 亜

のように、実際の文字を表示するには、
どのようにしたらよいのでしょうか?

よろしくお願いします。
0561nobodyさん2009/06/01(月) 21:02:57ID:???
JISコードの場合、エスケープシーケンスで漢字であることを知らせないといけないから
echo "\x1b\$B",pack('H*', 3021);
05625602009/06/01(月) 21:29:46ID:???
>>561

できました!
ありがとうございます。

こういうことって、どこで覚えるんでしょうか?
0563nobodyさん2009/06/01(月) 21:55:20ID:???
>>562
今のお前さんのような状況に陥ったときに覚える。
人に聞くか自分で調べるかの違いはあるけどな。
0564nobodyさん2009/06/07(日) 01:18:31ID:q/9VwFhz
SSLを使って「login」というディレクトリをSSLのみの接続にしていますが、
loginディレクトリ内のリンクで<a href="../index.html">とするとhttpsのまま
階層が1つ下がるだけとなります
これをhttpにする関数はあるのでしょうか?
0565名無し募集中。。。2009/06/07(日) 01:42:48ID:kkylNn0/
ない
0566nobodyさん2009/06/07(日) 01:53:33ID:???
PHPって同じことやるのにも複数の似通った関数があるイメージがあるんだが、
コレとアレならこっち使うのがイイ!
みたいなベストプラクティスとかある?
0567nobodyさん2009/06/07(日) 02:08:23ID:???
あるよ
0568nobodyさん2009/06/07(日) 02:15:41ID:???
>>566
よくあるのが
is_nullを使わないで、 $hoge === null で評価したほうが早いとか
正規表現で評価できるsplitを使うより単純に「,」とかできりたいならexplodeを使ったほうが早いとか

0569nobodyさん2009/06/07(日) 02:35:59ID:???
おれが作るから半年待て
0570nobodyさん2009/06/07(日) 10:51:54ID:???
バッファの意味がわかりません><
どなたか親切な方^^いないでしょうけど教えてくdさい!
0571nobodyさん2009/06/07(日) 11:08:03ID:???
ゴミを一粒ずつひろってゴミ箱に捨てるより、ちりとりで集めてゴミ箱に捨てるほうが効率いいの解かるならOK
0572nobodyさん2009/06/07(日) 11:50:14ID:???
すいません。記載するスレを間違えてしまいました。
初心者ながら自作サイトを作成しているのですが、なぜか作成したページが
「疑わしいWebページを遮断しました」とノートンが反応するようになりました。
ソースが長いので記載はできないのですが、内容はmailtoで送信するための
名前やメアドを入力した後の「以下の内容で間違いないですか?」みたいな
画面です。値はメアド入力画面から$_POSTで受けとってます。
遮断される可能性としてはどのようなものがありますでしょうか?
すいませんがアドバイスを御願いします。
0573nobodyさん2009/06/07(日) 11:53:14ID:???
ノートンよく知らないけど遮断した理由書いてあるログとかないの?
05745722009/06/07(日) 12:01:37ID:???
>>573
ノートンのセキュリティ履歴をみると
「疑わしいサイトとしてシマンテックに提出しました」としか記載がなく
なぜ疑われているのかがわからない状態です。
0575nobodyさん2009/06/07(日) 13:06:34ID:???
ソース見ないで答えるのは情報処理の試験でも出題されないくらいの難易度の高さ
ノートンの判断はノートン作った人にしかわからん
つまり、「疑わしいWebページを遮断しました」でぐぐって似たケースを見るのがいいかと
0576nobodyさん2009/06/07(日) 13:25:53ID:???
最終的に吐き出したものをHTMLに保存してそれを表示させて
疑わしいものを削っていけばわかるかもよ
05775722009/06/07(日) 15:11:25ID:???
>>575 >>576
すいません。ソース長くてどこを見せればいいかわからない状態です。
ソース削りながら色々試してみます。
ありがとうございました。
0578nobodyさん2009/06/10(水) 11:22:45ID:???
変数に格納された数字を、正の数なら+を、負の数なら−を頭に付けて表示したいのですが、
それに便利な関数はないでしょうか

PHP4
0579nobodyさん2009/06/10(水) 11:30:01ID:???
そんくらいなら自作してやれば
0580nobodyさん2009/06/10(水) 11:31:18ID:???
宿題か?
05815782009/06/10(水) 11:56:17ID:???
自作しますた
30秒で終わりますた
15分ぐぐって損しますた
0582nobodyさん2009/06/10(水) 11:59:44ID:???
>>581
You!ここに載せちゃいなよ!
0583nobodyさん2009/06/11(木) 10:23:35ID:???
んなもんifで数値比較するだけだろw
0584nobodyさん2009/06/11(木) 13:32:40ID:???
$str = $val > 0 ? '+' . $val : '-' . $val ;

あ、0のときはしらん。
0585nobodyさん2009/06/11(木) 14:09:33ID:???
-1を--1にする気か?
0586nobodyさん2009/06/11(木) 14:10:28ID:???
みんな printf 嫌いなの?
0587nobodyさん2009/06/13(土) 16:08:22ID:???
あえてセッション使わずにglobal変数使いまくって

入力画面←→確認画面→送信

と行ったり戻ったりするフォーム作るって変?
遷移するたびに文字のエスケープやらなんやらで埋もれるんで明らかにいけてないなと
0588nobodyさん2009/06/13(土) 16:18:56ID:???
global変数でどうやってリクエスト跨いでデータ受け渡しすんの?
0589nobodyさん2009/06/13(土) 18:08:42ID:???
hiddenかsession以外でそれやる奴バカだろ
0590nobodyさん2009/06/13(土) 18:21:00ID:???
>>587
>あえてセッション使わずに

の時点で変だけど、そうしたい理由は何さ?
05915872009/06/14(日) 21:34:45ID:???
>>588
フォームに入力→POST→確認画面→戻るリクエスト→hidden大量で入力画面にバックして反映
この間globalでユーザー関数またぎまくり

>>589
戻ると次へと送信でhiddenとそのエスケープ処理が100コくらいある

>>590
クッキー使えないのと、心理的にURLに埋め込みたくないのと、
ブラウザのバックボタンで期限切れだしたくない(じいちゃん連中向けなんでヤツらはパニクる)のでどうしていいやら

最後のはセッション関係なかったっけ

機能的にはできあがってきちんと動いてるんだが超気持ち悪い
やり方あったら教えてプリーズ
0592nobodyさん2009/06/14(日) 21:54:41ID:???
>>591
>ブラウザのバックボタンで期限切れだしたくない

youメニュー隠しチャイナyo
っていうか心理面を克服してでもセッション使ったほうが楽だと思うんだがなぁ。
0593nobodyさん2009/06/14(日) 21:56:49ID:???
セッションキーをhiddenで渡せばいいだけの話だろ常考
0594nobodyさん2009/06/14(日) 22:00:08ID:???
>>593
そんなことできたのか
しらんかった
0595nobodyさん2009/06/14(日) 22:11:51ID:???
まぁ実際はただのリクエストだからなw
0596nobodyさん2009/06/15(月) 20:18:19ID:???
正規表現についてお尋ねします。
あるフォームに入力された全角文字を半角文字にして他のフォームに代入するといった事をやっていますが、
全角→半角にするのはmb_convert_kanaでやるとして問題は半角に出来ない文字(例えば漢字など)を取り除いて
代入したいのです。要は半角に変換した後の文字列から全角文字だけを取り除いて半角文字列だけにしたいのです。
例:HOGE安弘MOGE → HOGEMOGE
こういう事は正規表現で可能でしょうか?
0597nobodyさん2009/06/15(月) 20:32:09ID:???
>>596
preg_match_allで欲しい部分を抜いてきて、implodeでくっつけるってのは?

preg_match_all('/([A-Z])/', $str, $match);
$newStr = implode('', $match);

パターンは自分の条件に読み替えてくれ
0598nobodyさん2009/06/15(月) 21:11:06ID:???
PDOを使ったスクリプト配布してるとこ教えてください
0599nobodyさん2009/06/16(火) 13:07:05ID:???
どなたか〜〜
0600nobodyさん2009/06/16(火) 13:22:26ID:???
スレ違い
0601nobodyさん2009/06/16(火) 17:27:04ID:???
ですか。失礼しました

でっこれはこのスレとマッチすると思うんですけど
海外からのフリースクリプトダウンロードしてもPDOをほとんど使って無いんですよ
なぜですか?
0602nobodyさん2009/06/16(火) 18:15:13ID:???
Manualのサンプルじゃ足りないの?

さておき、質問の答えは「今のところわざわざPDOを使う理由が無いから」じゃないかなぁ。
0603nobodyさん2009/06/16(火) 22:33:48ID:???
>>601
ソース見たフリースクリプトってどれ?
0604nobodyさん2009/06/16(火) 23:00:21ID:???
えと、見すぎであまり覚えてないのですが・・・
ほとんどhotscriptからです
0605nobodyさん2009/06/17(水) 01:01:12ID:???
適当に挙げてみてもらえると参考になるんだけど。
合計では約いくつ?
0606nobodyさん2009/06/17(水) 10:46:14ID:???
まあ作られた時期も見てみ
0607nobodyさん2009/06/18(木) 23:33:25ID:???
たった今澪抱き枕\7,300*4ポチったwww
今日の最終回泣くかもしんね俺www
0608nobodyさん2009/06/18(木) 23:34:17ID:???
うわああああああああああああああああああああああああああああ
誤爆したああああああああああああああああああああああああああ
俺死ぬマジ死ぬw
0609nobodyさん2009/06/18(木) 23:39:01ID:???
wwwwwwwwwwwwww
0610nobodyさん2009/06/18(木) 23:43:23ID:???
kimoi
0611nobodyさん2009/06/19(金) 01:47:29ID:???
早速ニコ動にうpかよw
保存すますたw
0612nobodyさん2009/06/19(金) 01:48:10ID:???
ごむぇん・・・誤爆・・・
0613nobodyさん2009/07/01(水) 11:28:04ID:???
WordPress の質問ってここで聞いてもいいんでしょうか。

arras theme というテーマを使っているのですが
そのテーマにはトップページに記事のサムネイルを表示する
javascript のスライドショーがあります。
それを他のページ(たとえば普通のページなど)にも
設置することはできるでしょうか。

home.php のそれっぽい場所をコピーして single.php に貼り付ければ
出来なくもなさそうなんですが、複雑でわかりにくいのと
そもそもそういう設定ができるかもしれないので質問しました。

環境はwordpress のバージョンは2.8 arras theme は最新のものを使っていて
自分は php と javascript であれば編集できます。よろしくお願いします。
0614nobodyさん2009/07/02(木) 11:12:33ID:???
foo($array, 'a') なら $array['a'] を返し
foo($array, 'a', 'b') なら $array['a']['b'] を返すには

function foo() {
// ???
}

をどうしたらいいでしょうか。

func_num_args() を使って再帰で、
なんて思ったのだけど、考えがまとまらなくて。
0615nobodyさん2009/07/02(木) 14:46:54ID:???
なんのためにそんな関数を
$var = foo($array, 'a');
なら
$var = $array['a'];
でいいじゃん
0616nobodyさん2009/07/02(木) 15:38:49ID:???
foo($array, $bar, $baz) と書くんだったら $array[$bar][$baz] でいいよね。

foo($array, array('a', 'b')) を $array['a']['b'] にするんだったら
foo($array, $arr_keys) みたいに渡したいのかなとも思うんだけど。
06176142009/07/02(木) 15:41:46ID:???
>>615-616
E_ALL 環境で isset() が面倒なんので、
foo 内で isset して値を返したり、
値があるか判定するのを作ろうと思って。
0618nobodyさん2009/07/02(木) 16:47:20ID:???
>>617
foo:セットされてないときfalse,セットされているときはその配列の内容が返る

$arr["a"]["b"]["c"] = "hoge-c";
$arr["a"]["b"]["d"] = "hoge-d";
$arr["a"]["b"]["e"] = "hoge-e";
var_dump(foo($arr,"a", "b")); // result array
var_dump(foo($arr,"a", "b","c")); // resurt string
var_dump(foo($arr,"a", "c")); // resutl false
var_dump(foo($arr,"b")); // result false

function foo() {
$cnt = func_num_args();
$var = func_get_args();
$arr = $var[0];
for ($i=1; $i<$cnt; $i++) {
if (!isset($arr[$var[$i]])) return false;
$arr = $arr[$var[$i]];
}
return $arr;
}
06196142009/07/02(木) 16:55:15ID:???
>>618
最高です。。。
ありがとうございます!
0620nobodyさん2009/07/02(木) 21:49:43ID:???
せっかく5.3から省略三項演算子が使えるようになったというのに
0621nobodyさん2009/07/03(金) 06:14:31ID:???
echo "<input type=hidden name=※>";

のような、出力するHTMLタグ内の※の部分に変数を置きたいのですが、
今までname=".$aaa.">のように". ."の間に変数名を入れて繋いでいたところ、
たまたま違う人がname={$aaa}>と{ }で囲っているのを見つけました。

変数の中身を{ }で参照できるのは納得できたのですが、
". ."で囲う場合、変数ではなくname=".session_name()."のようにできるところを
{ }で囲う場合はどうすればよいでしょうか。

PHP5
0622nobodyさん2009/07/03(金) 06:15:55ID:???
{}で参照なんかできないよ
0623nobodyさん2009/07/03(金) 06:21:26ID:???
とするとタグの途中に変数とか関数の戻りを表示したいときどうつなげるのが普通なんでしょう
". ."は超自己流なんで定番が知りたく。
0624nobodyさん2009/07/03(金) 06:23:18ID:???
マニュアルか他のアプリのコードでも見てみれば?
0625nobodyさん2009/07/03(金) 06:31:04ID:???
いくつかの他アプリで{ }と・・・・
0626nobodyさん2009/07/03(金) 06:36:58ID:???
じゃそうすればいいんじゃね?
0627nobodyさん2009/07/03(金) 06:39:26ID:???
すみませんでした
もうちょい詳しい人に聞いてみます
0628nobodyさん2009/07/03(金) 06:40:56ID:???
死ね低脳w
0629nobodyさん2009/07/03(金) 06:45:36ID:???
echo '<input type="hidden" name="',session_name(),'>';
0630nobodyさん2009/07/03(金) 08:57:30ID:???
>>621-622
まあできるかできないかで言えばできる
0631nobodyさん2009/07/03(金) 10:55:19ID:???
PHP は { } で関数と定数が埋め込めないのがダサい
0632nobodyさん2009/07/03(金) 11:43:51ID:???
そんなものにまで対応させてたら文字列リテラルをパースするのにもっと時間がかかってしまう
0633nobodyさん2009/07/03(金) 11:50:14ID:???
だいいち{}で変数が埋め込めてるわけじゃないし。
埋め込めてるのはダブルクオーテーションの機能だろ
{}は区切り文字なだけ
0634nobodyさん2009/07/03(金) 12:48:46ID:???
>>632
" や ' 以外の括り文字でもあればいいのかもね。
それとは別に Perl や Ruby の q| | とかもほしいなぁ。
0635nobodyさん2009/07/03(金) 23:23:32ID:???
613ですが自己解決しました。

プラグインで smoothview というのがあったので
そのインターフェースを改造しました。
0636nobodyさん2009/07/04(土) 07:55:20ID:???
もしかしてsmartyなんじゃないの?
smartyって{}を多用するよね。
0637nobodyさん2009/07/05(日) 21:23:19ID:???
powerd by *****
と表示しなくてもいいCMSはありませんか?
0638nobodyさん2009/07/08(水) 11:36:42ID:???
すいません、こちらで質問していいのかどうかわからないんですが
レンタルサーバの設定では、PHPを「FastCGI アプリケーションモード」で動かしているらしいのですが
結構頻繁に「The FastCGI process exceeded configured activity timeout」ってエラーが出ます。
サーバ会社に聞くと、「FastCGIに対応したコードを記述してないからです」と言われたのですが、
当方、参考書を見ながら作成しているのですが、どこにもFastCGIについて書かれておらず
どこかにその対応コードなどが記載されているような参考にできるサイトを知っている方はいらっしゃらないでしょうか?
0639nobodyさん2009/07/08(水) 11:48:42ID:???
>>638
      _______                     __
    // ̄~`i ゝ                    `l |
    / /        ,______   ,_____    ________  | |  ____ TM
   | |     ___ // ̄ヽヽ // ̄ヽヽ (( ̄))   | | // ̄_>>
   \ヽ、   |l | |    | | | |    | |  ``( (.  .| | | | ~~
      `、二===-'  ` ===' '  ` ===' '  // ̄ヽヽ |__ゝ ヽ二=''
                         ヽヽ___//   日本
  _____ _____  ______  _______
  |  ウェブ  | | イメージ | | グループ | | ディレクトリ |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       ._________________
      |FastCGI PHP               │・検索オプション
      └────────────────┘・表示設定
         | Google検索 | I'm Feeling Lucky |  ・言語ツール
          ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       ○ウェブ全体から検索 ◎日本語のページを検索
0640nobodyさん2009/07/08(水) 11:52:55ID:???
たんに処理時間が長くてタイムアウトしているんじゃないかなぁ
0641nobodyさん2009/07/08(水) 11:59:11ID:???
>>638
すいません、すでにいろいろとぐぐってはいるんですが
サーバ側でFastCGIを導入する方法ばかり記載されており、PHPでサイトを作る際の注意点などが記載されているものがなく
困っております。
そこで、そのような記載があるサイトがないかお尋ねしたのですが、やはり難しいのでしょうか。
0642nobodyさん2009/07/08(水) 12:01:18ID:???
ActivityTimeout=300
0643nobodyさん2009/07/08(水) 12:11:40ID:???
>>642
ありがとうございます。
タイムアウトの設定を変える内容のようですが、そちらはPHPファイルのどの当たりに記載すればよろしいのでしょうか?
そのコードがレンタルサーバ会社の言う、こちらが記載すべき「FastCGIに対応したコード」というものなのでしょうか。
なんどもお聞きしてしまって申し訳ありません
0644nobodyさん2009/07/08(水) 12:37:53ID:???
FCGIext.iniだよ
0645nobodyさん2009/07/08(水) 12:55:07ID:???
>>644
ありがとうございます。
調べたところ、レンタルサーバの管理上FCGIext.iniの編集はこちらではできないようになっているようです
わからないことばかりなので、もうすこしぐぐったりして基礎知識から勉強をしなおそうと思っています
ご助言をしていただいた方々、ありがとうございました
0646nobodyさん2009/07/08(水) 14:16:07ID:???
PHPを始めたばかりでどうしてもよくわからない点があります。
考え方といいますか、流れを教えてください。

XHTMLとCSSで縦2分割サイトを考えており、左に配置したドロップダウンリストから選択、
右側に内容表示というよくあるパターンです。内容はMySQLから取り出す予定です。

ここでわからないのが、内容の表示位置の指定です。
MySQLのデータとCSSタグを一緒に出力すればよいのでしょうか?

根本的な勘違いをしているような気がしてならないのですが、どこが勘違いなのかも
よくわからないです。
0647nobodyさん2009/07/08(水) 14:34:54ID:???
MySQLのデータとHTMLタグを一緒に出力して
CSSでその位置を指定すればいいのでは
0648nobodyさん2009/07/09(木) 12:14:47ID:???
prototype.jsのAjax.Updaterを使えば簡単なんじゃないか。
推奨はしないけど。
0649nobodyさん2009/07/09(木) 13:19:44ID:???
>>647
ありがとう。
その方法だとうまくいかないのです。
サイト全体が置き換わってしまうので、結局すべてのHTMLにメニューをつけないと
ダメっぽいです。

>>648
ありがとう。
いまググってみました。
たしかにやりたいことと合致します。
ただ、これから言語をマスターするので、より簡単といわれているPHPを覚えたい
という気持ちがあります。JSと両方覚えれば済む話ではあるのですが、オレには
キャパがないです。たぶん。
0650nobodyさん2009/07/09(木) 14:26:18ID:???
>>649
iframeって手もあるな。
0651nobodyさん2009/07/09(木) 17:26:11ID:???
phpを使うならJavascriptはある意味必須だよ。
連携しないと実現出来ない事も多々あるし。
0652nobodyさん2009/07/09(木) 18:41:50ID:???
>>650
ありがとう。
iframe
0653nobodyさん2009/07/09(木) 18:48:35ID:???
すまんそん。

>>650
ありがとう。
iframeは考えたんですけど、XHTML1.1で非サポートになり、策定中のHTML5.0でも
廃止になるということで、使わない方向を考えてました。

>>651
ありがとう。
JavaScriptも必須ですか。
まったくの初心者なので、PHPの公式マニュアルを読むだけで苦労してます。
0654nobodyさん2009/07/09(木) 21:36:35ID:???
iframeなくなるの?
■ このスレッドは過去ログ倉庫に格納されています