【PHP】下らねぇ質問はここに書き込みやがれpart20
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/04/28(金) 04:12:33ID:???ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
まず読め【PHP マニュアル】
http://www.php.net/manual/ja/
本スレ【PHP】質問スレッドpart34【php】
http://pc8.2ch.net/test/read.cgi/php/1142903954/
【PHP】下らねぇ質問はここに書き込みやがれ Part19
http://pc8.2ch.net/test/read.cgi/php/1144513878/
過去スレは>>2-3あたり
0558nobodyさん
2006/05/15(月) 16:50:41ID:???0559nobodyさん
2006/05/15(月) 17:12:15ID:???画像ファイルをどのように保存しているか知りませんが、
フォルダ管理だと同名のファイルが送られたら困るので
>555が言うようにファイル名置き換え(ex:スレ名+投稿時間とか)が無難ですよ。
0560nobodyさん
2006/05/15(月) 17:35:49ID:???その$hostとか$userがどう使われてるか分かんねーから分かんねー
DBの接続に使ってんのかそれとも管理者用の機能でもあんのか?
0561nobodyさん
2006/05/15(月) 18:15:11ID:???DBサーバーを入れても「サーバーが接続できません」となるんです・・・
ttp://php.s3.to/bbs/bbs7.php
ここの掲示板を設置したかったのですが、どうしても作動しないのです・・・
ごめんなさい・・・下らない質問してしまって・・・
0562nobodyさん
2006/05/15(月) 18:50:47ID:???DB関係ないでしょ。
なんで向こう(レン鯖板)で板違いって言われたのかはわかんないけど
$host = 'MUAに設定するときと同じ';
$user = 'MUAに設定するときと同じ';
$pass = 'MUAに(ry';
うろ覚えだけど、さくらってPOP3ログオンのときのユーザ名が
account@sakura.ne.jp とか account%sakura.ne.jp じゃなかったっけ。
「メールソフトの設定のしかた」がわかればいけると思うよ。PHPと関係なく。
0563nobodyさん
2006/05/15(月) 19:15:34ID:???済みません、本当にありがとう御座います!!!
御蔭様で言われた通りに設定しましたら、ちゃんと作動しました。
本当に下らない質問に細かく説明して頂いて、有難う御座いました!
本当に感謝です・・・有難う御座いました!
0564nobodyさん
2006/05/15(月) 20:42:06ID:???echo $htmlstr;
とすると問題ないのに、
$htmlstr = preg_replace("/##(banner[^#]*)##/",file_get_contents("/path/to/$1.html"), $htmlstr);
echo $htmlstr;
とすると動きません(空白に置き換わる)。使い方間違っていますか?
0565nobodyさん
2006/05/15(月) 20:55:01ID:???0566nobodyさん
2006/05/15(月) 21:37:38ID:???$htmlstr = preg_replace("/##(banner[^#]*)##/e",'file_get_contents("/path/to/$1.html")', $htmlstr);
0567nobodyさん
2006/05/16(火) 00:09:31ID:???ハードウェアは自社で持たずに、専用レン鯖やハウジングを利用するってことか。
それならウチも客の鯖なんか使わずに、鯖ごとこちらで提供したいね。
客鯖なんか使ってトラブルでも起きたら、原因解明だけで一苦労だ。
0569nobodyさん
2006/05/16(火) 00:48:03ID:Q3oWbdgp1のPHPマニュアルを読んでもあまりわからないようです
基本的なプログラムに対する考え方がわからないのですが
こういう人間はまずどういうところを勉強すると良いでしょうか?
能力的には
HTMLは大体わかります。
パソコンも基本的なことはわかります。
プログラム的なことは切り貼りでperlをいじることしかしたことがありません
0570nobodyさん
2006/05/16(火) 00:59:27ID:???順次、選択、繰り返し。まずはこれをちゃんと覚えることだな。
オブジェクト指向も手続き指向も飛び越えて基本中の基本だ。
配列の添え字の動きとかにも気をつけろ!
で、慣れてきたら、色々調べながら画像掲示板とかでも作ってみれば?
もちろん自サーバで。
PHPだけじゃなくて色々勉強になるよ。
0571569
2006/05/16(火) 01:30:37ID:Q3oWbdgp順次、選択、繰り返しというのはなんですか?
配列の添え字の動きというのは、添え字が動く??
せっかくコメントいただいたのに、アホなのでよくわかりません
関係ないですが''と""の使い分けがよくわかりません、
0572nobodyさん
2006/05/16(火) 01:40:22ID:???1.まず、自分が作りたい"なにか"を見つける
2.本屋行って立ち読み。「自分が作りたい"なにか"」またはソレに近いものが載っている本を探す
※立ち読みついでに基本的な事も覚えておく
3.その本を買って帰り、書いてある通りに作ってみる。
4.動かなかったら何がおかしいのか動くまで考える
5.動いたらソレを改良してみる
6.ソレを数年繰り返す
7.その技能を活かして社会に出る ←オレ今ココ
0573569
2006/05/16(火) 01:45:57ID:Q3oWbdgp>>512でPHPのマニュアルをよめばいいのか、と思ったのですが
最初はとりあえず本かってみたほうがいいですかねぇ?
0574nobodyさん
2006/05/16(火) 04:02:43ID:???perlやってるならphpのマニュアル読めばたいていの感じは掴めると思うよ。
構造そのものはそんなに変わるわけじゃないし。
自分で作ったperlをphpに移植してみるとか、どこかでフリーなphpスクリプト
を入手していじってみるとか。
本を買うなら一回↑の感じをやってみてから本屋で立ち読み、自分のレベルに合うのを買えばいいかと。
俺は572さんの1はとても大事なことだと思うぜよ。
0575nobodyさん
2006/05/16(火) 07:20:57ID:???でも独学でコーディングなんて滅茶苦茶。
どうスクリプトを組んでいけばいいのか、どう設計すればこうなるのかが
まだつかめていない。
と、いうわけで他人のスクリプト見て勉強中。
このスレもROMってます。
0576nobodyさん
2006/05/16(火) 07:37:21ID:???言語を習得してからも実用的な物を作れるようになるまでの道のりは長い。
[プログラム言語の習得] [英語の習得]
関数・構文を覚える 単語・構文を覚える
簡単なものを作る 簡単な文章を作る
必要な知識(プロトコルとか)を習得 ジョークの理解に必要な歴史的背景や風俗を知る
より効率的な作り方を身に付ける 古典的なアメリカンジョークを聞きつづける
実用的な物を作る どっかんどっかん受けるようなアメリカンジョークを作る
0577nobodyさん
2006/05/16(火) 09:46:57ID:???>基本的なことだけ覚えて後は関数調べるだけ
その認識で正解だと思うが。
もちろん高度なことをやろうと思えばもっと奥が深いけどね。
でもたいていのことは「基本文法+関数(リファレンス調べれば良い)」でOKでそ。
0578nobodyさん
2006/05/16(火) 11:23:40ID:???0580nobodyさん
2006/05/16(火) 11:31:02ID:???> パソコンも基本的なことはわかります
じゃあこのコマンド知ってるか?
これが分かればパソコンを理解してると判断できる
[Windowsキー]押す [U]を二回押す。
0581nobodyさん
2006/05/16(火) 11:40:52ID:???0583nobodyさん
2006/05/16(火) 12:08:16ID:???0584nobodyさん
2006/05/16(火) 12:37:33ID:???safe_mode_exec_dir配下(又は直下)のディレクトリにあるSystem関数が使えません。
例えば safe_mode_exec_dir =/var/www/html
と指定して/var/www/html/test.phpに、
system("ls");
と書くとエラーが帰ってきます。
これは指定の方法が間違っているのでしょうか。ご指摘お願いします。
それと少し反れますが、safe_modeをOffで
system("ls -la /home/hoge");
だと何も帰ってこないのに
system("ls -la /var/www/html/");
と書くとディレクトリ一覧が丸見えになってしまいます。
アクセス権限はhomeと同じ状況を再現したつもりなのですがphpはhomeに対して何か特別な設定がされているのでしょうか。
実はsafe_modeをOnにしているのも/var以下のファイルが見えてしまうからです。
0585nobodyさん
2006/05/16(火) 13:30:51ID:???0588nobodyさん
2006/05/16(火) 14:35:39ID:???どんなエラーが出力されたの?
>>585
ディレクトリ一覧を取得するためにsystem()を用いるのは気持ち悪いな。
つ opendir() & list()
0589nobodyさん
2006/05/16(火) 14:59:11ID:2DWA6EEGabcdefgの中のcからfまで抜き出すとか…
0590nobodyさん
2006/05/16(火) 15:27:33ID:???その場合のsafe_mode_exec_dir には lsコマンドのあるディレクトリを指定しないといけない
safe_mode_exec_dir = /bin
system("ls -la /home/hoge");
hogeのパーミッションを707か757か777に
0592nobodyさん
2006/05/16(火) 16:31:52ID:???0594nobodyさん
2006/05/16(火) 16:46:56ID:ivYPrAjt通常サイトへ戻ってくるとsessionに格納したデータが消えてしまいます。
これはバグのせいでしょうか?それとも設定の問題?
0596nobodyさん
2006/05/16(火) 17:38:48ID:???include "ヘッダー";
include "メニュー";
include "本文";
include "フッター";
?>
な感じでページを管理する時に
ページのタイトルに関する情報は本文ファイルに含めるのが効率的だと思うんだけど、
上のやり方だとヘッダのところで先にタイトルを出力しないといけません。
どうやって本文ファイルからタイトルを出力するのが効率いいのでしょうか?
できればファイルのI/Oは上の4回に抑えたいのです。
0597nobodyさん
2006/05/16(火) 17:47:43ID:???0598nobodyさん
2006/05/16(火) 18:21:06ID:???禿同
まあなんか理由があるんだろうが
>>596
includeの内容を直接出力しないで、(ob_start()等で)一旦変数に蓄え、
本文ファイル内でヘッダの内容を書き換えるようにしては?
0599nobodyさん
2006/05/16(火) 18:59:09ID:1Q+rAczY正規表現はどのように書けばよいでしょうか。ちなみに、javascriptです。
<hoge34>本日は54位<hoge34>
inner.match(/[0-9]+位|-位/g);
とやりますと位まで入ってしまうので・・・お願いします。
0600nobodyさん
2006/05/16(火) 19:25:37ID:???0601nobodyさん
2006/05/16(火) 19:56:40ID:???0603602
2006/05/16(火) 20:38:48ID:???0604nobodyさん
2006/05/16(火) 20:57:41ID:???レコードの一部を入れ替える質問
http://pc8.2ch.net/test/read.cgi/db/1140154701/529-546n
レコードにソート用のフィールドを加える質問
http://pc8.2ch.net/test/read.cgi/db/1140154701/785-799n
まあ一回のクエリではなく何回もクエリ発行すれば難しい問題ではない
0605nobodyさん
2006/05/16(火) 20:58:37ID:???すいません、説明不足でした。
レコードの上下関係を入れ替えたいのです。Bレコードより上にあるAレコードをBレコードの下にもっていきたいのです。
0606nobodyさん
2006/05/16(火) 21:07:45ID:???取り出す時になんらかの条件で順序を指定してやることで順番が生まれる(order by)。
とは言っても、順序を指定しない場合でもなんらかの順番でデータを取り出していく必要があるので、
それがたまたまABの順番に並んでいただけ。
0607nobodyさん
2006/05/16(火) 21:08:27ID:???元のAレコードは削除したいです。移動後のAレコード1つ、ということです。
0608nobodyさん
2006/05/16(火) 23:25:13ID:???0609nobodyさん
2006/05/17(水) 00:44:18ID:2nYaOrw7$_POST['f_name'];
$_POST['f_mail'];
$_POST['f_sex'];
$_POST['f_age'];
$_POST['f_add'];
$_POST['f_blad'];
$_POST['f_comment'];
$_POST['f_time'];
書き方はこれじゃないですか?
フォームでPOSTで別のPHPに飛ぶのですけど
変数を受け渡しできません。なぜでしょうか?
0611nobodyさん
2006/05/17(水) 01:04:38ID:2nYaOrw7すみません、空白でした。
うpしてみたのですけど、これではなぜだめか
よければ教えてください。お願いします。
http://venus.aez.jp/uploda/data/dat6/upload324523.zip
0613nobodyさん
2006/05/17(水) 01:16:49ID:???未定義の予感…
0614nobodyさん
2006/05/17(水) 01:17:27ID:???<form action="<?php echo $PHP_SELF; ?>" method="POST" name="form" target="_parent" id="form">
今回の質問には直接関係ないけど、PHP_SELFの使い方が間違ってるぞ
0615nobodyさん
2006/05/17(水) 01:17:34ID:???試しにprint_r($_POST);使ってみ
<?php
print_r($_POST);
//時間の取得
...略
0616nobodyさん
2006/05/17(水) 01:41:04ID:???使っているPHPは4.2.0以前?
以降ならば
$PHP_SELFを$_SERVER['PHP_SELF']
129行にextract($POST);
と書くと動くようになると思うけど
こういう書き方は良くないから書き直した方がいいと思う。
それから、ファイルに書き込んでるところがバグっぽいね。
0617nobodyさん
2006/05/17(水) 01:42:55ID:???×$POST
○$_POST
0618nobodyさん
2006/05/17(水) 02:11:53ID:2nYaOrw7無理だったので別ページのは消しました、すんません
>>613
未定義ですか?
PHPの小部屋というサイトを参考にしたのですが
>>614
同じくPHPの(ry
>>615
使ってみました。
Array ( [f_name] => ああああ [f_mail] => ああああ [f_sex] => 男性 [f_age] => 11 [f_add] => 静岡 [f_blad] => O [f_comment] => ああああああ [regist] => 投稿する ) 「」
これで格納されたのでしょうか?
>>616
どういう意味でしょうか?
0619nobodyさん
2006/05/17(水) 02:20:59ID:???> 無理だったので別ページのは消しました、すんません
「動かない」と言ってるものを見せないと動かない原因なんて分かるわけが無い。
> PHPの小部屋というサイトを参考にしたのですが
そこに
「*PHP4.2.0以降において、GETとPOSTでのデータの受け取り方に大きな変更点があります。必ずお読み下さい。」
と書いてないか?
アップロードされたスクリプトでの書き方はもう古いからそのままでは動かない。
> Array ( [f_name] => ああああ [f_mail] => ああああ [f_sex] => 男性 [f_age] => 11 [f_add] => 静岡 [f_blad] => O [f_comment] => ああああああ [regist] => 投稿する ) 「」
> これで格納されたのでしょうか?
$_POST['〜']形式の変数なら動くはずだ。もう1度書き直せ。
0620nobodyさん
2006/05/17(水) 02:29:43ID:2nYaOrw7$_POST['f_name'];
$_POST['f_mail'];
$_POST['f_sex'];
$_POST['f_age'];
$_POST['f_add'];
$_POST['f_blad'];
$_POST['f_comment'];
$_POST['regist'];
//時間の取得
これでいいのですか?
0621nobodyさん
2006/05/17(水) 02:30:47ID:???違う。$f_nameとか書いてる場所を$_POST['f_name']に差し替えろ。
今のPHPでは$f_nameなどの変数は自動的には生成されなくなってる。
0622nobodyさん
2006/05/17(水) 02:34:00ID:???例えば
<input name="f_name" value="ああああ">
でPOSTすると古いバージョンか設定によっては
$f_nameに"ああああ"が格納される場合があって、新しいバージョンの場合は$f_nameという変数は無くて
$_POST["f_name"]="ああああ"と格納される。もちろん$_POST["f_mail"],$_POST["f_age"]も格納される
615の指示でそれが確認できたわけだ。
ここら辺の状況(バージョンや設定)は下を参照
ttp://jp.php.net/manual/ja/language.variables.external.php
でだ、616に書いてある
>129行にextract($POST); <-617に書いてある通り $_POSTが正解
を追加するとだ、$_POST["f_name"]とか$_POSTという配列に入っている
連想配列のキー(f_nameとか)の名前で変数を作ってくれる
ttp://jp.php.net/manual/ja/function.extract.php
で解決すると思われる。がっあまりよろしくないのでできることならば
extractされる変数を全て$_POST["f_name"]のように書き直して
extractを使わないほうが良い。
ttp://jp.php.net/manual/ja/security.globals.php
以上612から勝手にまとめますた
0623nobodyさん
2006/05/17(水) 02:34:35ID:???いくら下質でもここまで下らないと涙が出てくるな
0624nobodyさん
2006/05/17(水) 02:38:25ID:2nYaOrw7$〜の形じゃなく$_POST['〜']になるんですか!?
0626nobodyさん
2006/05/17(水) 02:46:22ID:???0627nobodyさん
2006/05/17(水) 02:47:33ID:???0628nobodyさん
2006/05/17(水) 02:54:41ID:2nYaOrw7$f_name ⇒ $_POST['f_name']
$f_mail ⇒ $_POST['f_mail']
$f_sex ⇒ $_POST['f_sex']
$f_age ⇒ $_POST['f_age']
$f_add ⇒ $_POST['f_add']
$f_blad ⇒ $_POST['f_blad']
$f_comment ⇒ $_POST['f_comment']
にすればいいのですよね!
0629nobodyさん
2006/05/17(水) 07:46:11ID:???0631584
2006/05/17(水) 10:04:49ID:???語弊を招く表記をしてしまいスミマセン。
具体的には何も出力されません。 要するにセーフモードなので関数が実行されていないようでした。
system("ls"); (こう書きました
>>590
ということは実行を許可されるプログラムがあるフォルダを指定するのでしょうか。
当方プログラムを実行することが許可されるphpのフォルダと認識しておりました。
逆にその様に 特定のディレクトリ配下のphpはプログラムの実行が許可されるような設定は可能でしょうか。
具体的にはhome以下のディレクトリではプログラムが実行されなければこちらとしては何の問題もありません。
もっと言えばプログラムは実行されてもよいのですが /var/www/ 以下が見えてしまう状況を阻止できれば問題ありません。
>system("ls -la /home/hoge");
>hogeのパーミッションを707か757か777に
こちらも語弊を招く表記をしてしまいスミマセン。
逆です。homeの様にvar以下も見えない様にしようとしています。
試しに /var -> 0701 /var/www/ -> 0701 /var/www/html/ -> 0701 としましたが、
/var/www/html/test/test.php のソースがcatで出力されてしまいました。
ちなみに所有者は全てrootです。実験ユーザは/home/hoge/test.php からhogeユーザー権限で
system("cat /var/www/html/test/test.php"); を実行しました。
safe_modeをOnでは見えなくなりますが逆にこちらもfreeなどが実行できなくて支障がでています。
よろしくお願いします。
0632nobodyさん
2006/05/17(水) 10:43:47ID:???日記などのプログラムで、日付をセレクトメニューで選んで登録出来るものがあるとします。
日記プログラムにアクセスすると、今日の日付が選択されています。
そして過去の日付は選択出来ないようにします。
dateを取得してifで判別し、適合するセレクトメニューのoptionにselectedを
付けたら選択されている状態になるかと思うのですが、どうもソースが増えすぎます。
何か簡略的に表示出来て、「今日の日付を選択・過去の日付は表示されない」
ようにする方法はありませんでしょうか?
0634nobodyさん
2006/05/17(水) 10:58:24ID:???いま、ログファイルが丸見えで、アクセスしたら、個人情報も丸見えなんだけど…
.htaccess?
0635nobodyさん
2006/05/17(水) 10:59:42ID:bNJTvUbhfor(当日から月末まで){
echo "<option ".(本日 ? "selected" : "" )." >日付<option>";
}
</select>
みたいなかんじでだめなの?
0639nobodyさん
2006/05/17(水) 12:26:23ID:???0640nobodyさん
2006/05/17(水) 13:15:44ID:???Document_rootって?
いま、
/new
├index.php
└/log
└hoge.log
ってなってるんだけど
>>637
サンクス、試してみるよ
0642nobodyさん
2006/05/17(水) 14:09:30ID:???やりたいのは pukiwiki の全頁の出力を html としてファイルに保存なんですが。
pukiwiki ではスキンファイルを用意して
<html>
hogehoge
</html>
のようになっているのを require(スキンファイル); のように最終的に出力しているようです。
外から http 経由させるしかないのかしら。
0644nobodyさん
2006/05/17(水) 16:01:09ID:???ファイルの先頭に
<?php
ob_start();
最後に
file_put_contents("hoge.html", ob_get_contents());
ob_end_clean();
exit;
?>
0646nobodyさん
2006/05/17(水) 16:55:29ID:???何か便利な関数(またはモジュール?)などありましたら教えてください
0649646
2006/05/17(水) 17:21:41ID:???データベース側を変更することができない場合はPHP側でどうします?
(下流プログラム変更のみ可能、またはDB件数が多く修正が事実上不可能)
0650nobodyさん
2006/05/17(水) 17:25:26ID:???0653nobodyさん
2006/05/17(水) 17:52:32ID:???と書いて
「いちにさん」なのか
「ひゃくにじゅうさん」なのか
「ひふみ」なのか
人間にだってわかんないもんがコンピュータにわかるわけないじゃん。
0654nobodyさん
2006/05/17(水) 17:54:38ID:Li0DlXrb値のない月もあるため、毎月の値があるわけではありません。
プログラムする上で、
流れをどうのように考えたらよいか教えてください。
0657nobodyさん
2006/05/17(水) 18:09:52ID:???はじめの設計が悪かったんだ。あきらめて漢字のままソートしれ。
■ このスレッドは過去ログ倉庫に格納されています