【PHP】下らねぇ質問はここに書き込みやがれ 49
1 :
nobodyさん :
2007/06/26(火) 03:03:40 ID:ox2uyHLd まず読め→【PHP マニュアル】
http://www.php.net/manual/ja/ PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは
>>2-10 辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 45 (※実質48)
http://pc11.2ch.net/test/read.cgi/php/1180181033/ ◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
2 :
nobodyさん :2007/06/26(火) 03:07:02 ID:ox2uyHLd
3 :
nobodyさん :2007/06/26(火) 03:09:49 ID:ox2uyHLd
4 :
nobodyさん :2007/06/26(火) 03:12:00 ID:ox2uyHLd
【簡易FAQ】
1.文字コードは何を使えばいいの?
→1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
→
http://example.com/が例文などのために予約されている 。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
→ Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
→ 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
→ {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
→ cronかタスクスケジューラを使え。
7.extractって危険なの?
→変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
→ URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
→ .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
5 :
nobodyさん :2007/06/26(火) 03:15:05 ID:ox2uyHLd
10. そもそもインストールの時点でうまくいかない
→ 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
11. SQLの質問はどこで?
→ データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
→ ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
→ 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
→ よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40 15. クッキーの情報をユーザから隠したい
→ セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
→ strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
→ まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
→ C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(
http:// 〜とか)を扱う際の限界
→ fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
→19.を参照
21. 画像処理一般 or GDの限界
→ ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
→ 好きにしてください
6 :
nobodyさん :2007/06/26(火) 03:17:04 ID:ox2uyHLd
前スレ91によると番号飛んでるらしいので49にしたが、 間違ってたら次で訂正してくれ 91 :nobodyさん:2007/06/10(日) 03:52:52 ID:??? ここは実質 【PHP】下らねぇ質問はここに書き込みやがれ 48 らしいのれす
___ ____________ く/',二二ヽ> / |l |ノノイハ)) | 下らねぇ質問は |l |リ゚ ー゚ノl| ∠ ノl_|(l_介」).| | ここに書き込みやがれですぅ ≦ノ`ヽノヘ≧ \ . ミく二二二〉ミ  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
>>前スレ996 PHP組み込みのmailはwindows環境以外だとsendmailコマンド必須、windowsには sendmailが普通はないことを考慮してかホストとポートを指定してsmtpで送る 設定が追加されたが他でも使えるようにしとけばいいのになぜかマニュアルに よればwindowsのみというPHPらしい謎仕様です。 普通はPEAR::mail使うけどね。
10 :
nobodyさん :2007/06/26(火) 09:55:17 ID:gzOlKCoJ
Apache 1.3.x上でPHP4.3.0を使っています。 Unicodeから日本語(マルチバイト文字)に変換したいのですが、どのような処理を行えばいいのかわかりません。 例えば、「\u5728」というUnicodeを「ふ」に変換したいと思っています。 $val=chr(hexdec("5728")); としてみたり、 $val=mb_convert_encoding("\u5728"); としてもダメでした。この処理をする為には、Unicodeと日本語変換テーブルを自前で用意するなどしないと無理なのでしょうか。 変換アルゴリズムの参考になるページの情報などでも結構ですので、宜しくお願い致します。
PDOとmysqliってどっちがいいの?
>>10 webで表示するだけなら実体参照にするとか?
文字列にしたいなら実体参照にした上でhtml_entity_decode()かな?
コードが分かってるならバイナリで直接書いてeval()すれば読めるような気もするけど。
どれもやったことないのでわからん。
>>9 >普通はPEAR::mail使うけどね。
私は使いませんが・・・?
1.普通はPEAR::mailを使う 2.あなたは使わない 以上2点から導き出される結論は・・・?
なんで使うのが普通なんですかね? 押し付けじゃないですか?
>>15 誰が何時、何を押し付けた?
"普通はこうする"って誰かが言ったらそれに従わなければならないって言うルールが有るのか?
>>9 それ実装した本人が
「適当な実装なので激しくお勧めできない」(意訳)
って言ってる機能だから、まともで普通の実装が手に入れやすい
Unix系には含む必要ないと思うよ。
"特殊な人"は考えが異なるかもしれんけど。
そこでまともな実装にするんじゃなくてwindows専用として放置されるのが PHP流なわけですね...
19 :
nobodyさん :2007/06/26(火) 13:32:10 ID:r5oReIjo
GDをインストールしたいのですが、すでにPHPをインストールしてしまった場合、 インストールした後にGDをインストールしたい場合はどうしたらいいのでしょうか。 Redhat/PHP 4.4.6です。
javascriptで定義した関数をphpで使用するにはどうしたらいいでしょうか? $num = abc(); ←js これだとエラーになってしまいます。
21 :
10です :2007/06/26(火) 14:43:18 ID:rv4paT9V
>>19 phpがrpmでインストールしてあるのならrpmで追加すればいい
yumも使えるかも知れない
ソースからコンパイルしているのならphpizeで追加
youtubeってphpでできてる?
>>20 君はホットコーヒーに見た目が同じだからと塩を入れるタイプだな…
v
26 :
nobodyさん :2007/06/26(火) 16:13:11 ID:GmLOHAVF
classの中にclassを使うことはできないのでしょうか? class TEST{ class TEST2{ public function __construct(){ ・・・・・・・・・・ } } } Parse error: syntax error, unexpected T_CLASS, expecting T_FUNCTION
何がしたくてclassをネストしたいんだ?
28 :
nobodyさん :2007/06/26(火) 16:20:21 ID:GmLOHAVF
>>27 共通の変数とか与えようと思って・・・
あと、見やすいから・・・
>>24 そうかも知れません・・・orz
どのように記述したらいいでしょうか?
30 :
nobodyさん :2007/06/26(火) 16:28:58 ID:KN0J5qoY
質問があります。 異なるそれぞれの文字列(html)で文字数が異なっている4つのフォームから 送信された文字列を一つのindex.htmlに書き込み、 取り出す時にはまた4つのフォームにそれぞれの文字列を戻す。 ということは出来ますでしょうか?
>>28 君はお湯を入れたカップ麺の器の中に別の新たなカップ麺を器ごと入れるタイプだな・・・
>>29 動作方法がまったく違うんだからJS用PHP用と素直に別々に書け
>>30 君は無理に通ぶってスタバでとんちんかんな注文をして店員に失笑されるタイプだな・・・
PHPでプルダウンの選択されてるインデックス番とるにはどうしたら?? やはりjs使うしかないんでしょうか?
なんだかどこかで見た様な質問が続いているな
39 :
nobodyさん :2007/06/26(火) 17:33:48 ID:KN0J5qoY
41 :
nobodyさん :2007/06/26(火) 18:05:05 ID:JgraNuKY
例えば $data_dir = "./data/"; のr_data.dat のデータ $ex_r_data[0]と $Data=file('data.csv'); のline[1]の内容が合致したばあい、 $ex_r_data[0]の任意のデータを抽出するにはどういうふうにすれば いいのでしょうか? お知恵をお貸しください。
赤ちゃんポストがあるんだから老人ポストも作ろう。 面倒見切れなくなった老人を入れるポスト。
>>41 $file1 = file("./data/r_data.dat");
$file2 = file("data.csv");
if($file1[0] == $file2[1]){
echo $file[0];
}
>>47 んじゃお前の書き込みの仕方が悪いんじゃね?
じゃあ俺のことか?俺も質問して無いぞ
>>49 んじゃお前の書き込みの仕方が悪いんじゃね?
51 :
nobodyさん :2007/06/26(火) 18:59:59 ID:KrNYGdyB
>>41 は、
二つのデータファイルを照合して
合致したものだけを抽出させたいんじゃないかな?
53 :
51 :2007/06/26(火) 19:05:09 ID:KrNYGdyB
オラの立場が・・・・・
54 :
nobodyさん :2007/06/26(火) 19:10:32 ID:JgraNuKY
>>51 仰せの通りです。
なにかよい方法はありますでしょうか?
>>52 どなたでしょうか^^;
丸投げじゃなくて試行錯誤持って来いや
57 :
nobodyさん :2007/06/26(火) 19:33:38 ID:JgraNuKY
43さんのアイデアで試行錯誤していますが、 どうもうまくいきません。 PHP2日目の初心者ですので、むちゃくちゃかもしれませんが、ご指導ください。 $file1 = file("../data/or_data.dat"); $file2 = file("../data.csv"); $line=explode(",",$file2[$i]); if($file1[0] == $line[1]){ echo "$line[30]";
>>57 foreach($file as $v){
$line = explode(",",$v);
if($file1["0"] == $line["1"]){
echo $line["30"];
break;
}
}
59 :
nobodyさん :2007/06/26(火) 19:57:44 ID:iUlJJkmf
すいません、あと数ヶ月〜数年でPHP6がリリースされると思うのですが、 PHP5をメインでやっていくほうがいいですか?
61 :
nobodyさん :2007/06/26(火) 20:14:25 ID:r5oReIjo
>>59 君は電車で横に席座られるのが怖くてずっと立ってしまうタイプだな
62 :
nobodyさん :2007/06/26(火) 20:42:57 ID:JgraNuKY
43さん 58さん ありがとうございます。 いろいろとやってみましたが、やはりうまくデータecho $line["30"];を吐き出しません。 なんともなさけないです・・・
>>62 ちょwwwおまwww
おれにはありがとうございますはないのかよw
64 :
51 :2007/06/26(火) 20:50:43 ID:KrNYGdyB
$file1 = file("../data/or_data.dat"); $file2 = file("../data.csv"); $str = array_intersect($file1,$file2); foreach($str as $value){ echo $value; }
65 :
nobodyさん :2007/06/26(火) 21:18:59 ID:JgraNuKY
>>64 51さん、ありがとうございます。
インターセクトでなにも吐き出さないのをみると、もっと根本的なとこで間違ってるんでしょうね。
顔洗って出直します^^;
「インターセクトでなにも吐き出さないのをみると」の時点ですでに間違ってるんじゃね?
67 :
nobodyさん :2007/06/26(火) 21:23:44 ID:JgraNuKY
>>66 データ上2つのファイルでは同じデータがあるのに
ひっかからないという意味です。
インターセクトってインセクトタブーみたいなもんですか?
>>67 とりあえずソースうp
ソースが長いなら、肝心なとこだけ抜粋してそこだけテスト試行してみ
>>67 何がしたいかと、実行して何がだめなのかが全然書かれてないんだが
>>68 そうだよ。君はインセクトタブーのことだけ考えていればいい。
72 :
nobodyさん :2007/06/26(火) 21:41:27 ID:JgraNuKY
>>70 最終的になにがしたいかといいますと、
商品詳細のページに商品レビューを載せたいのです。
$file1 = file("../data/商品レビューのデータベース.dat");
$file2 = file("../商品詳細のデータベース.csv");
$line=explode(",",$file2[$i]);
if($file1[0] == $line[1]){ //file1の商品レビューのデータIDとfile2の商品詳細のIDが合致した時
echo "商品詳細のページにレビューが表示される";
今はレビューと商品詳細ページが別々になっているので、一緒に表示されるように
がんばっているところです^^
JgraNuKYの駄目なところは、file1の行のデータ構造を述べないこと。 だからレス数だけが増えてなんの益にもならない
IDの指定とか行わないわけ?
>>73 すみません
商品名称<>ID<>URL<>レビュー内容<>レビュー内容2<>レート<>2007/06/26 13:50<>1
こんな感じです。
file2は?
>>76 ファイル2は普通のCSVで
商品名称,価格,詳細1,詳細2,・・・・・ と続いていきます。
お礼なんて全部解決してからスレ全員に対して一言言えばいいじゃん あほくせー
>>75 配列とforeachの使い方覚えればいいことあるよきっと
79 :
↑ :2007/06/26(火) 22:06:25 ID:JgraNuKY
商品名称,価格,詳細1,詳細2,・・・・・ と続いていきます。 ← 最初にIDが入ります。
商品詳細のURLが
http://www.xxx.com/shohin/[ID].htm となりますので、
このファイル2のIDとレビューデータベース(file1)のIDが一致 (==)
したときに、商品詳細ページに該当IDのレビューが表示されるようにしたいんです。
>>79 72のソースでどこでfile2のIDを選択してるんだ?
>>80 $line=explode(",",$file2[$i]);
if($file1[0] == $line[1])
これの $line[1]のつもりです。※正確には$line[0]
>>79 file1,file2を関係付ける意味がわからんけど、まあそういうところを聞きなおすとよけいに
混乱するだろうからおいとけば、file1の行もexplodeしなきゃだめなのだよ。
/*********************************************/
$file1 = file("../data/商品レビューのデータベース.dat");
$file2 = file("../商品詳細のデータベース.csv");
$line=explode(",",$file2[$i]);//$iがすでに特定できるとして、
/************ここまでが
>>72 のまま**************/
$ID_file2 = $line[0];//file2のIDを判りやすいように書き直して
foreach($file1 as $key=>$val) {
$rtn = explode('<>',$val);
$ID_file1 = $rtn[1] ;//ID確保
if($ID_file1 == $ID_file2) {
echo 'SUCCESS';
}
}
まずこんだけやってごらんよ。
84 :
51 :2007/06/26(火) 22:28:26 ID:KrNYGdyB
>>79 ちょっと待て、
ページにIDが入ってるぞ
>>83 いやいや、DBのことをファイルと呼ぶんだが・・・
素人かお前はw
>>81 >ファイル2は普通のCSVで
>商品名称,価格,詳細1,詳細2,・・・・・ と続いていきます。
>$line=explode(",",$file2[$i]);
>if($file1[0] == $line[1])
>これの $line[1]のつもりです。※正確には$line[0]
$line[1]には価格が入るんじゃないのか?
あと
・正確には$line[0]の意味が分からん。最初から正確な話をしてくれ。
・$iがどこから来たかすらそもそも分からん。
>>85 単にDBと言ったらDBMSの事に決まっておろう。
88 :
nobodyさん :2007/06/26(火) 22:45:57 ID:JgraNuKY
>>82 ありがとうございます。
「$iがすでに特定できるとして、」
$iが特定できてませんでした・・・
商品詳細のページでは
$Data=file('../商品詳細.csv');
for($i=0;$i<sizeof($Data);$i++){
$line=explode(",",$Data[$i]);
こんなかんじで$iを特定できてましたが、今回は・・・
この$iはCSVの列の指定に関係あるとぼんやり分かるのですが。・・・
今回適当に、めちゃくちゃ!? $i=0と指定したら
SUCCESSと表示されました!
しかし、レビューのない全てのページに表示されたので、$iを正確に指定しれば
できそうですが・・
89 :
nobodyさん :2007/06/26(火) 22:47:51 ID:JgraNuKY
>>86 すいません、書き間違いです
正確には 商品ID,商品名称,価格,詳細1,詳細2,・・・・・
となりますので、IDは$line[0]になります。
90 :
nobodyさん :2007/06/26(火) 23:16:09 ID:KjJKv0cF
PHPをサーバーに上げてWarningが出ないのですがPHPの設定をいじったらいいのですか? PHP.iniとか どうでしょう?
>>90 設定をいじったらいいのでしょう。
php.iniを変更できなくても設定変更はできるのでしょう。
92 :
nobodyさん :2007/06/26(火) 23:24:24 ID:KjJKv0cF
設定はどういじりますか? 簡単なことでよいので教えていただければ嬉しいです。
たぶんこっちじゃないか? ini_set('display_errors','1');
>>88 var_dump($hoge);
print_r($hoge);
var_export($hoge);
$a = print_r($hoge,1);
echo $a;
$b= var_export($hoge,1);
echo $b;
とか駆使してとにかく $hoge の構造がどうなっているのか
逐一デバッグ汁。まずそこからだ。
97 :
nobodyさん :2007/06/27(水) 06:25:54 ID:FJbbPuHD
PHPで質問があります。ラジオボタン中心の選択クイズをPHPで作っているのですが、 if文とforeach文を使って、正解か不正解を判断させるようにしたいのですが、 以下の文で利用者が正解か正解ではないかをif文、または他の方法で判断するにはどうすれば良いのでしょうか? 文はこんな感じです。 $kaitouget = array(@$_GET["mondai1"],@$_GET["mondai2"],@$_GET["mondai3"],@$_GET["mondai4"],@$_GET["mondai5"]); $seikai = array("a","c","b","a","d"); foreach ($kotae as $seikai){ ... と続けさせて、最後に送信ボタンを押したら、あなたは5問中x問正解です、と表示させたいです。 またラジオボタンを押してない箇所があった場合は、もう一度入力してください、と注意を促せるようにしたいです。
98 :
97 :2007/06/27(水) 06:30:29 ID:FJbbPuHD
すいません。 foreach ($kaitouget as $seikai){ でした。
>>97 $count = 0;
foreach ($kaitouget as $key=>$val){
if ($seikai[$key] == $val) { $count++; }
}
100 :
88 :2007/06/27(水) 07:46:45 ID:???
みなさん、いろいろと助けていただきありがとうございました。 また格闘してみます。
101 :
97 :2007/06/27(水) 08:29:42 ID:FJbbPuHD
>>99 ありがとうございます。追加してみたら出来ました。
この状態から、ラジオボタンを押してない箇所があった場合は、もう一度入力してください、
と注意を促すにはどうすればいいのでしょうか?
>>101 javascriptでやるか、if(!isset($_GET["mondai1"])) とかで値判定するか
>>101 そもそも、こういう場合は親ループは$seikai側でまわす。
$kaitouget 配列で@などの処理もしないですむ。
/*************/
$mondaiNum = 1;
$seikai = 0;
$input = true;
foreach($seikai as $k=>$v) {
$key = 'mondai'.$mondaiNum;
if(!isset($_GET[$key]) { $input = false; break;}
if($v == $_GET[$key]) {
$seikai++;
}
$mondaiNum++;
}
if($input==false) {
echo '入力するよろし';
} else {
echo '正解は'.$seikai.'個数';
}
104 :
82 :2007/06/27(水) 09:06:41 ID:???
>>88 それは$iを特定できてるんじゃなくて、詳細.csvの行の配列添え字(行番)だっていうだけ。
で、そのループの$lineの中に$ID_file2の子ループが入るってことになる。
for($i=0;$i<sizeof($Data);$i++){ //親
$line = ...;
$ID_file2 = $line[0];//
>>82 のループ
foreach($file1 as..){ 子
....
}
}
しかしこれをやれたから、なにかよかったかというと、全然意味無いのはわかりますよね?
袋小路に入ってるよ。ポイントはfile1のID、file2のIDが一致してるかどうかではなくて、
IDがfile1,file2にそれぞれあるかどうかなんだから。
>>79 でwww.xxx.com/shonin/[ID].html
とIDがそこで現れてるんだから、
>>93 の人が聞いてるように、このIDがどこからやってくるの
かをまず探索、理解すべき。
そのID(の変数)で、ID == file1 ID、ID==file2 IDと別々に判定すれば終わり。
>>88 とゆうかそもそも条件一致させる理由って何なの?
多重連想配列を再帰的にループして中を表示したい。 とてもしたい。 誰か書いてくりー
フォームの値受け取りがうまくいきませんorz --html-- <form action="test.php" method="POST"> 〜中略 <input type="submit" value="送信"> </form> --test1.php-- <?php print $name; //フォームのname print $addres; print $tel; ?> このような形で試したんですが、何も表示されません。 どういったことが考えられるでしょうか?
>>107 参考にした資料が古かった事が考えられる
$_POST["name"]でやってみそ
>>106 $bar = 多重連想。
function foo($bar) {
/*loop*/
while とかforeachとか
{
/*処理*/
その時点で配列が終わるものを$someとして取得
if(さらに子配列$anyがあるなら) {
$rtn= array_merge(foo($any),$some);
}
}
return $rtn;
}
の考え方でやれ。
更に、array_mergeとかarray_merge_recursiveじゃたらなきゃ(同一キーを書き換えると困る場合)、
多重に書き換え出来るarray_merge_recursive_overrideとかいう自前関数、
$rnn = array_merge_recursive_override(...);
などとする
自前っていってもニーズがあるからネットに転がってるが(xml、yaml,json系の配列操作スクリプト)。
なお中を表示したいなら上の関数でecho してもいいけど、
汎用に上の関数を作っておいて表示用のものをその関数結果を使ってやるのが普通。
どうせ、多重連想配列を <ul><li>で表示したいとか,xmlのツリーに書き変えたいとかのニーズだろうから。
>>106 function string_r($array){
$tabsize = " ";
$arg = func_get_args();
$indent = $arg["1"];
if (func_num_args() == 1):
$indent = $tabsize;
endif;
foreach ($array as $name => $value){
if (is_array($value)):
$contentString .= $indent.'['.$name.'] => Array' . "\n".$indent.$tabsize."(\n";
$contentString .= string_r($value, $indent. $tabsize.$tabsize);
$contentString .= $indent .$tabsize. ")\n\n";
else:
$contentString .= $indent . '['.$name.']' . ' => ' . $value . "\n";
endif;
}
if (func_num_args() == 1):
$contentString = "Array\n(\n" . $contentString . ")\n";
endif;
return $contentString;
}
>>108 できました^^ありがとうございます。
ただ、プルダウン(select)の値も同様に記述したらエラーになってしまいました。
同じ記述じゃ駄目なんでしょうか?
113 :
nobodyさん :2007/06/27(水) 12:22:06 ID:n4m0L2rR
ユーザーが入力した値をフォームのinputタグのname属性につけたいんですけど $stringsはhtmlspecialcharsをかますべきでしょうか? それとも画面に表示されないので必要ないですかね? echo "<input type=\"text\" name=\"$strings\">";
114 :
nobodyさん :2007/06/27(水) 12:24:08 ID:5PCg8aId
メール送信フォーム画面がありまして、 次の画面に遷移させた後、書き直しかなんかでブラウザの戻るボタン前の画面に戻ると、 期限切れの表示がされてしまいます。 ブラウザの設定のせいかとずっと思っていたのですが、 他の通販サイトで買い物をしていたところ、戻るボタンで戻っても きちんと表示されていたので、私のPGのせいだと思うのですが、 どの辺の処理を修正すれば宜しいでしょうか? 宜しくお願いします。 ちなみに、header関数で出力している箇所は全て消してやってみたのですが駄目でした。
>>112 print_r($_POST);
を取得側のPHPに書き込んで出力されたものに
selectフォームの名前があるか確認し、ない場合は
POSTができていないと判断しPOST側を直せ
名前がある場合は受け取り側のポスト部分をチェック
$_POST["ここの部分がまちがっている"]
>>114 期限切れ header IE でぐぐれ
>>114 POSTとSESSIONを一緒に使うとそうなる
なのでそのあたりのサイトをググって対応しろ
>>133 htmlspecialchars云々の前にセキュリティ的にどうかと思うが?
>>117 postとセッションでできるの?
postしたあとにリダイレクトして実現してるのかと思ったけど
もっといい方法があったら教えて
120 :
nobodyさん :2007/06/27(水) 12:56:46 ID:n4m0L2rR
>>118 さんどうもありがとうございます。
セキュリティは関係ないということでしょうか?
>>120 意図しない動作をさせられても問題ないなら
echo "<input type=\"text\" name=\"$strings\">";
なり好きなようにすればいい
htmlspecialcharsするとかしないとかはその後の段階の話
123 :
nobodyさん :2007/06/27(水) 13:23:12 ID:n4m0L2rR
>>122 すいませんはやり>とか<とか入力されることも考慮してサニタイズはかけるべきですね。
ありがとうございました。
javascriptのphpでデータのやり取りでってできないの?
127 :
nobodyさん :2007/06/27(水) 15:24:29 ID:v0keEA/h
フォームからデータを入力し、その処理を確定させるとその情報がCSVに保存されるプログラムを作成しています。 しかし、フォームの部分にダブルクォーテーションやカンマを入力されると どうしてもCSVがおかしな書式になってしまいます。 「"」と「,」があれば全角に置き換えや削除等の対応策は思いついたのですが、 できる限り入力したデータと同じ情報をCSVで見れるようにしたいのです。 ダブルクォートやカンマがあっても正常にそのままCSVで出力できる方法というのはありますでしょうか? これらの文字が含まれた場合、さらに両端をダブルクォートで囲うという方法も考えたのですが 先頭に入れられているとどうしようもないというか。。
128 :
nobodyさん :2007/06/27(水) 15:33:45 ID:/C2YK7wD
>>94 >>95 亀レス申し訳ございませんでした。
error_reporting(E_ALL|E_NOTICE);
で表示されるようになりました。ただ、local valueは変わったのですが
これだとファイル?かフォルダ?ごとにしかエラーを表示してくれません。
Master Valueを変更するにはどうしたらいいのでしょうか?
ヒントでもいいのでお願いします。
>>127 カンマなんか関係ない。
マニュアルで、magi_quote や get_magic_quote_gpcをみよ。
それを知った上で、どう処理するかは個人の考え。
>>127 "1","0","<table width=""290"" border=""1"">(以降省略)","ほげ","123,456,789","fuga"
みたいにすればよろし、途中改行も可。
>>127 CSVにはちゃんと規定があるんだからそれに従って処理しろよ
" , 改行を含むフィールドは " "で囲む
"は2個並べる
ただし日本語を使う場合はSJISはやめておけ
>>127 fputcsv( )使えば
>>131 を自動でやってくれる
読み込みはfgetcsv( )で
csv処理のもんだいじゃなくてmagicquotesがわかってないだけだろ。
134 :
127 :2007/06/27(水) 16:32:20 ID:v0keEA/h
皆様どうもありがとうございます。 PHP5以下の環境でも使えるようにしたいのでとりあえずは手動でやってみます。 ちなみに人のサーバなのでphp.iniは弄れないんですよね。
magicquotesがphp.iniでoffに出来なくても、ダブルコーテーションのエスケープなんか POSTで受け取った直後に書き換えればいいやん。
137 :
nobodyさん :2007/06/27(水) 17:12:16 ID:+cE0Hx/y
フォーム送信からログファイルに書き込まれるデータを、 五十音順にするにはどうすれば良いでしょうか? 投稿処理の時に簡単に並び替える事ができるものがあると良いのですけど。
141 :
nobodyさん :2007/06/27(水) 17:42:13 ID:+cE0Hx/y
>>140 ありがとうございます。漢字をかなにするプログラムなんですね。
確かに使えそうです。
ですが、ひらがなを普通に五十音順に並び替えるやり方がわからないのです。
は? $kana = array('あれれ','ああん','あああ','あれは'); sort($kana); var_dump($kana);
143 :
nobodyさん :2007/06/27(水) 18:25:17 ID:kYRJVXfn
//ログ指定 $logdir = dirname(__FILE__); $logfile = $logdir."/search.log"; //親ディレクトリのパーミッション変更 if( substr(sprintf('%o', fileperms( $logdir ) ), -4) != "0777"){ chmod($logdir,0777); } if(!is_file($logfile)) { touch($logfile); chmod($logfile,0777); } FTPソフトを使わず自己判断でパーミッションを変えようとしたのですが Operation not permitted となってしまいます。 何か気づかないことがあるのでしょうか…
144 :
142 :2007/06/27(水) 18:38:12 ID:kYRJVXfn
サイトの各フォルダはFTP所有者でアップロードしたもので 後から設置したphpから変更しようとしても apacheからになるので権限がない…ということですか?
>>144 $logdir = dirname(__FILE__);
って書いてるんだから、自分のwebroot以下にあるディレクトリにスクリプトうごかしてるんだろ?
echo sprintf('%o', fileperms( $logdir );
が吐く文字列を書かないと。
146 :
nobodyさん :2007/06/27(水) 18:57:08 ID:q3ZXE7ZQ
SimpleXMLElementでxmlをオブジェクトにしたとき、 xmlの要素名に@が含まれていたらどうやってアクセスするの? $obj->@element みたいなとき @でエラーがでるよね ダブルクォートは使えないみたいだし
そもそもxmlの名前ルール違反やん。
148 :
nobodyさん :2007/06/27(水) 19:08:01 ID:/C2YK7wD
スレ違いかも知れませんがPHPにGDライブラリーを追加する質問って こちらでよろしいでしょうか?
149 :
nobodyさん :2007/06/27(水) 19:46:00 ID:q3ZXE7ZQ
>>147 youtubeAPI使うと
object(SimpleXMLElement)#2 (2) {
["@attributes"]=>
array(1) {
["status"]=>
string(2) "ok"
}
こんなのが返ってくるんだけど?
>>148 いいけど、OSとかどういったビルドのものかは書かないと駄目だよ。
155 :
147 :2007/06/27(水) 21:37:00 ID:???
>>149 それは要素名じゃなくて属性。
youtubeAPIとか以前にsimplexmlの基礎をやりなさい。
PHP初心者です $input1[0] = "";から$input1[9] = ""; $input1[a] = "";から$input1[z] = ""; 等をひとつにまとめるにはどうすればいいのでしょうか? 全部一つ一つ入れているのでとても無駄に重くなります。
159 :
144 :2007/06/27(水) 21:59:51 ID:EjxCrNpa
>>159 うん,だから?
どこが分からないか伝えようともしないってのもなかなか凄いよな。尊敬するよ。
IDが違うので無視すべし
162 :
nobodyさん :2007/06/27(水) 22:20:09 ID:n4m0L2rR
header関数でGET送信できません。 header関数以外で何か自動的に送信できるものってありませんか?
fsockopen , curlを使え
164 :
nobodyさん :2007/06/27(水) 23:32:01 ID:n4m0L2rR
ありがとうございます CURLは環境によって使えないかもしれないのでソケットをお借りすることにしました。
165 :
nobodyさん :2007/06/28(木) 01:15:17 ID:XmQuONW4
>>150 すみません。PHP5をインストールしているのですがGDライブラリー
が入ってないみたいなのです。
サーバーはFreeBSDなのですがSSHか何かでインストールしないと
ダメだと思うのですがそれがPHPの質問なのか疑問なので一応聞きました。
また、error_reporting()でWarningを返すようにしたのですがレンタルサーバーでは
error_reporting()で変更できたのですが違うサーバーではこれで変更できませんでした。
これはどういうことなのでしょう?
その質問の仕方レベルを見ると、よくワカランでGDGDと言ってるみたいだね。 ここじゃなくて、UNIX初心者の板あたりに行って来てごらんよ。 後者のerror_reportingの質問なんかも同様。PHPとかいう以前にサーバとか レンタルサーバーの基本的な考え方が判らないみたいだし。 というわけでほとんどスレ違いと思っていいよ。
167 :
nobodyさん :2007/06/28(木) 01:35:08 ID:XmQuONW4
>>166 UNIX初心者板ですね
ありがとうございました
また、その手のスレでみかけたときはご教授お願いします
ではまた
>>167 UNIX板にくるかクズ。
ここでいいよバカ。
回答者したいやつがいないだけ
170 :
nobodyさん :2007/06/28(木) 02:27:06 ID:XmQuONW4
それでは質問を絞ってerror_reporting()で変更できないのはどうしてでしょう? phpinfoで見ても設定が6000いくらのままです。 違うサーバーでやったときはちゃんと4000いくらの数値に変わったのですが・・・
PHP初めてなのですが apacheをインスコするとit works!と出ますし phpの環境設定をしてもまったくうまくいきません 一晩かけて頑張ったのに入り口にも立てないなんて、、、一切成果なしなんて悲しすぎです。 思わずここに書き込んでしまいましたがまったくわかりません 本当に助けてください切羽詰ってます。
it works!の意味くらい調べろ
>>173 てかこういう返しする奴っていやだね
ここはくだらない質問に答えるスレじゃないの?
>>171 何がうまくいってないの?
apacheは正常に起動してんだよね?
PHPとMYSQLを接続したいんですが、どうしてもエラーになってしまいます。 どこか構文間違ってますか? <?php //DB用 $DBSERVER = "localhost"; $DBUSER = "root"; $DBPASSWORD =""; $DBNAME = "testdb"; //MYSQLに接続 $con = mysql_connect($DBSERVER,$DBUSER,$DBPASSWORD); //読み込み時の文字コードを設定 mysql_query("set names sjis"); //データベースを選択 $selectdb = mysql_select_db($DBNAME); $sql ="select name from test"; $rst =mysql_query($sql); print $rst; ?> Fatal error: Call to undefined function mysql_connect() in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\dbtest.php on line 8
it worksはちゃんとインストールできて正常に動いてるってことだろ いまのところ何の問題もないと思うが。
>>176 C:\WINDOWS\php.ini の
;extension=php_mysql.dll
の ; をはずす
↓
Apache再起動
>>Fatal error: Call to undefined function mysql_connect() in ちゃんとエラー読んでいますか? そういう関数がないと言っています。 そうなれば二つ理由が思いつきますよね?
>>178 そこの設定はちゃんとできてました。
>>179 エラー読んでませんでした・・・
関数がないってことはMYSQLの設定が何か間違ってるってことですか?
すいません><わかりません
>>180 マニュアルのmysqlのページを読むべし
>>180 libmysql.dllをどっかにコピーしないといけなかったんじゃないかな
Apacheのエラーログ見てみ
184 :
nobodyさん :2007/06/28(木) 12:40:05 ID:PrfzZXWe
つかぬ事をお聞きしますが、現在と同じディレクトリを指定する時って 「./」(コロンとスラッシュ)をつけますよね? でもこれって付けなくても特に問題なく動作しますよね? それで、デザイナーさんから付けなくてもいいのに何故付けるのって聞かれて 言葉に詰まってしまったんですけど(私の場合は付けろという風に教えられただけなので) これをわざわざ付ける事の理由とかってありますでしょうか? というかそれ以前に皆様も付けているかどうかも気になりますが。。
明示的にしてるだけ
>>184 じゃあデザイナーさんに付けてもいいのになぜ付けないの?
と聞くといいんじゃないの?
付けなくていいと言ってるんだから無論理由も知ってるんだろうしさ
>>184 あとでソースを見るとき、「./」を強調表示すれば、ファイルを指定してる部分が一瞬でわかる。
だから、つけた方が便利。
もっといえば、その文字列が単なる「(ファイル)名」ではなくて「パス名」である、 ということが明示的に判るからつけたほうがいい。
189 :
nobodyさん :2007/06/28(木) 13:04:14 ID:fCwjX47V
好きな女性がPHPの使い手です 私もPHPを書けますが、その人よりも断然レベルが低く このままではまともに相手にしてもらえないかもしれないと思うと 夜も眠れません どうすれば良いでしょうか
昼間眠ればいいんじゃね
191 :
nobodyさん :2007/06/28(木) 13:19:06 ID:fCwjX47V
それではその女性はおろか世間様から相手にされなくなってしまいます 今でも十分ギリギリだと思うんだけど…
192 :
nobodyさん :2007/06/28(木) 13:46:39 ID:PrfzZXWe
>>185-188 ファイル名ではなくパス名というのは思わずなるほどと感心させられました。
機能的には同じでもソースを見る事を考えると確かに明示的にしておいた方が分かりやすいですね。
みなさまどうもありがとうございます。
その女性にPHPを教えてもらう 教えてもらったら今度は僕が教える番ですねと押し倒す
PHPが出来る女ってのは99%マゾというデータがあるとどこかのサイトで見たぞ。 ちょっと自分が出来る女だ何て思ってるプライドの高いタイプだな。 こういう女は強引に誘ってホテルに連れて行き鼻フックして浣腸してやれば一発。 次の日からお前の肉奴隷に成り果てるからやってみるといい。
195 :
nobodyさん :2007/06/28(木) 14:35:38 ID:KcwssMtk
>>193 せんぱい、ゲームやり過ぎっす
しかしあこがれるシュチュですね
>>194 ガチでそのソース読みたいですwww
3行目とか大好きです
それより、もっと堅実にお食事にでも誘いたい、いろいろな話をしてみたい、とか
厨房みたいなことばっか妄想してる俺はバカなんでしょうか?
196 :
nobodyさん :2007/06/28(木) 14:39:43 ID:kEsDptjd
画像を書き出ししたいのですが、どのようにすれば良いのでしょうか? $img = imagecreatefromjpg("test.jpg"); $name = time().".jpg"; $fp = fopen($name, "w"); fwrite($fp, $img); fclose($fp); 時間.jpgというファイルが作成されますが、プレビューや編集などができません。 何か特殊な方法があるのでしょうか? よろしくお願いします。
197 :
nobodyさん :2007/06/28(木) 14:43:59 ID:KcwssMtk
> 時間.jpgというファイルが作成されますが、 ↓ > $name = time().".jpg"; それはどっからのコピペなの?
198 :
nobodyさん :2007/06/28(木) 14:46:29 ID:kEsDptjd
>>197 いえ、違います。
自分で作りました。
ちなみに作られたjpgをテキストで開くと
Request ID #8
のようなことが書いてありました。
199 :
nobodyさん :2007/06/28(木) 14:50:59 ID:KcwssMtk
マニュアル嫁 それじゃ1行目で返されたリソース IDを画像にして書き出してるだけ
200 :
nobodyさん :2007/06/28(木) 14:52:21 ID:kEsDptjd
>>199 ありがとうございます。
「imagejpeg」で解決しました。
これは出力じゃなくってもともとは書き出すための関数だったのですね。
>>200 画像に加工とかしないんなら普通にコピーしたほうが資源的にもやさしい
202 :
nobodyさん :2007/06/28(木) 16:49:52 ID:kEsDptjd
>>201 大きな画像をサムネイルとして出力と、画像の真ん中にロゴを入れて出力をしています。
画像自体には直リンクできないようにしています。
ところで、画像を縮小したときにものすごく画質が荒くなるのですが、仕様なのでしょうか?
203 :
180 :2007/06/28(木) 16:50:25 ID:???
マニュアル読んでみましたがだめでした・・・ 設定は間違ってないはずなんですが、何がわるいんでしょうか・・・
205 :
202 :2007/06/28(木) 16:53:30 ID:kEsDptjd
訂正:荒くというより、かなり減色しています。
まだやってたのか まぁ乗りかかった船だ > すごく画質が荒くなるのですが、 ヒント:GDやめる
207 :
nobodyさん :2007/06/28(木) 17:10:58 ID:kEsDptjd
>>206 GDの仕様ということですね、あきらめます・・・
むしろGDの限界だよ 俺はImagemagickが好きで使ってる
画像加工はGDじゃなくてImageMagickライブラリでやるほうがいいよ。 GDはグラフとかの動的表示に使うにとどめる。
>>204 この暇なお客さん(複数)は、いつも常駐してはなりすましをするので、
気がついたらそのようにバカにしてあげてください。
211 :
nobodyさん :2007/06/28(木) 17:18:57 ID:kEsDptjd
ImageMagickですか、勉強してみます。 今まではGDしか使ったことないのでちょうど良い機会と思ってみます。 ありがとうございました。
あれ、前このスレ来たとき「この時間はいつも暇なんだ」とか言う変わった奴いたよな 職種替えでもしたのか
ぶっちゃけ仕事しながら書き込んでるやつっているの? 俺だが・・・
214 :
206 :2007/06/28(木) 17:39:31 ID:kEsDptjd
またまた質問すみません。 現在PHP Version 5.2.2を使っていますが、 ImageMagickがすでに入っている状態です。 これはVersionいくつから使えるのでしょうか? もしかしたらレンタルサーバーのPHPが4なのかもしれないので、 使えないと困ります・・・。
ImageMagickは、まずは単体で使えるようにしたほうがいいよ。 大したことをしないなら(サムネールとか原色とかflipとか回転とかあれこれ) そのほうが楽。exeで実行するための、コマンドライン用のラッパをPHPで書いて実行する。 そのほうが環境依存なしに開発できる。
218 :
nobodyさん :2007/06/28(木) 17:53:56 ID:kEsDptjd
>>216 ありがとうございます。
探してみましたが、そのようなものは載っていませんでした。
「インストールすればどのバージョンでも使える」ということでしょうか?
>>217 単体で使えるようにというのは、他のものと連携なしでということでしょうか?
ちなみに、ImageMagickを見て、こんなにいろいろできるんだなと初めて知りました。
関数一通り見てみたのですが、リサイズの関数がありませんでしたorz
ID:kEsDptjdそろそろしつこいよ
> 探してみましたが、そのようなものは載っていませんでした。
検索ワードか見たサイトぐらい書け
誰かがサイト探しておまえに教えろってことかよ 何スレだここ
>>213 さっき仕事終わったぜぃ
221 :
nobodyさん :2007/06/28(木) 17:59:18 ID:kEsDptjd
>>219 検索用語
「バージョン」「Version」「PHP」
>>220 サンクス
拡大とか倍率とかで探したけど、「大きさ」か・・・
こんな簡単な単語が思いつかなかったとはorz
検索用語
以上放置プレーでよろしく
なんか馴れ馴れしくなってきてるな 甘やかしすぎたかな ってわけで了解
みなさんの職場には「いつ寝てるかわからない奴」っていますか>
スレ違い
>>196 のようなのにimagemagick使わせようとするのは無理があるだろw
ってか、GDでサムネイル作ったぐらいでは耐えられないほど画質が荒くなるなんて、
まずないし
実際、ちょい昔だとPC/携帯両用の掲示板とかでは、
携帯用にはサムネイル画像見させてただろ
(最近の携帯は大きい画像扱えるから別途にリサイズしたりするけど)
228 :
nobodyさん :2007/06/28(木) 18:53:32 ID:cgp7MPfH
PHPでfunctionではなくスクリプトそのものから抜ける場合は dieとreturnではどちらがいいですか?
どっちでも
>>228 ミスを避けるなら die (or exit) であるべき。
>>227 反省会やるとしたら、やっぱiamgemagick教えたのが間違いだったね
あのていたらくじゃ使うのは無理だわ
>>228 俺はexit派
わかって使ってるなら何使ってもいいんじゃない?
燃料になるような発言するなカス
>>228 強いて言えばrequre/includeである場合の挙動が違うくらいか。
234 :
nobodyさん :2007/06/29(金) 08:27:12 ID:JckmzqG+
file_get_contentsの反対でファイルの内容を他のサーバーに送信する PHPの関数ってありますか? PHPでデータ送信などで調べてものってません。
235 :
234 :2007/06/29(金) 08:44:01 ID:JckmzqG+
補足しておきます。 クライアントからformでAサーバーに送られてきたデータをB、Cサーバーにも 自動で転送したいと言うことです。
file_get_contentsには読み込みデータ量に制限はあるんでしょうか? 仮に100Mのものを読ませても読み込めるんでしょうか??
237 :
234 :2007/06/29(金) 08:55:52 ID:JckmzqG+
file_get_contentsは文字データですので・・・ 100Mもの文字データはそうそうないのではないでしょうか
>>235 あまりよくは知らないけどソケット関数とかそこいら使ったらできるんじゃない?
ただしB、Cが受け取ったかどうかの判定ができないとかなんとかなんとか
昔隣に座ってたやつが言ってた記憶があるが・・・
あてずっぽなのであしからず
239 :
236 :2007/06/29(金) 09:02:30 ID:W2LMekwx
>>237 バイナリをエンコードして送ってきたりされたら
あったりします…
>>237 100Mの文字列あるよ。俺は研究で使ってる。
もちろんPHPでコマンドラインから処理すると3分ぐらい待つときもある。
そんなのをPHPでいじるなって話だが。
241 :
234 :2007/06/29(金) 09:14:07 ID:JckmzqG+
>>239 送り付けられる・・・あるかも知れませんが私の場合自分で上げている
データをファイルゲットするのであまり問題ありません
ソケットですか。ちょっと調べて見ます。formを走らせるだけなので
知ってる方がいればすぐわかると思うのですが誰かいませんか?
pearのHTTP_Clientでも使っとけ
243 :
nobodyさん :2007/06/29(金) 10:10:12 ID:gci0S/Rf
一つのデータベースを複数名でシェアしている状態で、 それに自分のテーブルをインサートし、phpで自由に編集できるようにしたいのですが どのようにすればいいのでしょうか? 例えば、データベースのアドレスがmysql.db.2ch.net、ユーザーIDがhiroyuki、パスがphpで、 存在するデータベース名が「hiroyukidb」の時、そこにテーブル名「nobody」で、アトリビュートに 「名前」、「2ch歴」、「生息板名」、「常連スレ名」といったのを追加したいです。
GDで汚いって、リサンプルすりゃいいだけだろ。
245 :
234 :2007/06/29(金) 10:31:07 ID:JckmzqG+
もの凄く簡単なことだと思ったのに回答出てきませんねorz 無理なのでしょうか?誰か知ってる方よろしくお願いします。
朝っぱらから暇なこと
簡単だったら自分で解けよ。 教える気が失せる言い方するやつだな。
いやいや、いつもの人ですよ。
249 :
234 :2007/06/29(金) 11:23:22 ID:JckmzqG+
何か誤解を与えるような返信になって申し訳ございません。 ヒントだけでもよいので教えて下さる方はいないでしょうか? よろしくお願いします。
fputs
251 :
234 :2007/06/29(金) 12:23:21 ID:JckmzqG+
>>245 全然簡単じゃない
難しい方の部類に入ると思う
俺なら他のサーバにFTPサーバ入れてFTPで送る
>>250-
>>251 この流れからして答えをもらう立場じゃないよな
>>234 簡単にやる方法を教えてやるから、二度と来るな。
file_put_contents()を使うか、
受信先のサーバーにファイル位置を送って(HTTPのクエリーで送るなどする)
それを受けた受信先のサーバーがファイルを拾いに行けばいい。
>>234 ヒントだけ
$fp = curl_init($url);
curl_setopt($fp, CURLOPT_HEADER, 1);
curl_setopt($fp, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($fp, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($fp, CURLOPT_FAILONERROR , 1);
curl_setopt($fp, CURLOPT_CONNECTTIMEOUT, $timout);
curl_setopt($fp, CURLOPT_HTTPHEADER, $harr);
curl_setopt($fp, CURLOPT_SSL_VERIFYHOST, 1);
curl_setopt($fp, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($fp, CURLOPT_POST, 1);
curl_setopt($fp, CURLOPT_POSTFIELDS, $arr);
curl_exec($fp);
curl_close($fp);
後は自分で作れ、作り方次第で何でも出来る。
RSSでよくない?
>>254-257 あまいな、どれを使ったとしてもできるんだろうけど
聞き方も知らない
>>234 には使いまわすだけの技量がないから無理
らくな方法ってのがhogehoge($_POST)みたいな関数を実行しただけで
目当てのデータがB,Cに送れないと永久にもっと簡単なとか
ろくな返事が返ってこないとおもわれる
259 :
nobodyさん :2007/06/29(金) 16:09:32 ID:o1rI3NtT
PHP5.2.2を使っているのですが、 5.2.3にしたいのですが、どのようにして更新すれば良いのでしょうか? 普通に上書きすればそのまま更新できるのですか?
php.iniをバックアップしてフォルダごと消してダウンロードしたのを展開(ソースをコンパイル)しておわり
>>259 OSは
Linuxで自分でコンパイルならmake cleanしてmake install しなおしたら
262 :
nobodyさん :2007/06/29(金) 16:19:26 ID:o1rI3NtT
>>260 iniだけあればあとは上書きして大丈夫なのですね
ちなみにXAMPPです。
>>261 WindowsXPです、OS書かなくてすみませんでした。
>>262 XAMPP for Winなら上書きインストールしていい。
XAMPPのサイトにアップデートについて書いてあったと思うんでそれも読んどけ。
264 :
255 :2007/06/29(金) 16:45:00 ID:???
>>258 それに近いのはsnoopyとかあるんだけどね、
俺は昔ながらのlibcurl使うラッパーを既に作ってるからそっちを専ら使ってる。
265 :
nobodyさん :2007/06/29(金) 16:54:12 ID:o1rI3NtT
上書きしてphpinfoを見ても5.2.2のままなんですよ・・・
>>263 ごめんなさい、英語は読めないです
>>265 なにを上書きしたんだ?
まさかとはおもうがxamppにPHPをうわがきしたんじゃないだろうな?
267 :
nobodyさん :2007/06/29(金) 17:18:05 ID:u6aOMnMu
php.iniを使って、フォーム送信されたPOSTデータを自動で受け取る方法はありませんか? 前のサーバでは$_POSTを使わなくとも勝手に取ってくれたのですが、 サーバを変えてから通用しなくなってしまって。
>>265 Apache止めてから上書きしろ
>>267 register globalsのことかな
いまどきOnとかありえないけどね
っていうか、設定を変える度に再起動を余儀なくされるwebサーバーって糞中の糞だな。 糞じゃない、糞中の糞!! いいか、糞中の糞だぞ。 結局apacheもwindowsのサーバーと同じかよ。
.htaccessとか知らないのかな。哀れ。
また、知ったかぶりが現れました…
PHPとhtaccessの組み合わせってまずいっぽくなかったっけ?
ざわ・・・
>>273 一人で利用する分には使いたくねーが
誰かにスペース貸すときは制限して使わせてやる。
なんかバイパスとかスルーがどうとかいう話が某所で上がってた気がするが、 問題ないのか?
277 :
nobodyさん :2007/06/29(金) 20:17:52 ID:vdoGeE7d
$yasu = array($ol[0],$ol[1],$ol[2],$ol[3],$ol[4],$ol[5]) ↑のようにデータを取り込んでいるのですが ループを使い$ol[50]まで取り込もうと思っているのですが うまくいきません、具体的にどのように記述すればいいのでしょうか どうかご教授お願いします
$yasu = $ol;
なんかそう難しく考えちゃう時期あったわ。 どこまで、プログラミング言語とかがやってくれるかわからんのだよな。
この辺はもろに言語による影響を受けるよな。
C出身者とかは
>>278 みたいな文法はまず思いつかん
Cで
>>278 みたいにやると、指すところが同じなんだよな。
PHPやらPerlやらならコピーしてくれるからいいんだが。
283 :
nobodyさん :2007/06/29(金) 21:00:52 ID:vLTE1jTA
なんと言っていいやら
ヒント PHPスレ
$yasu = &$ol;
>>265 PHP4とPHP5の切り替えウィザードあるでしょ
あれで一旦4にしてから5にして、phpinfo()見ると幸せになれるよ
287 :
nobodyさん :2007/06/30(土) 11:30:54 ID:4UMNCMpy
テキストファイルを開いて最後の10行だけを取得する方法を教えてください。 ちなみにそのファイルサイズは100MB超えててfile関数だとエラーになりました。
その計算機のコマンドラインで tail -n 10 でも出来んようなファイルかどうか確かめてから 再度質問に来なさい。
>>287 $cmd = 'tail -n 10 hoge.txt';
exec($cmd,$arr);
var_dump($arr);
>>287 専用サーバならPHPのメモリリミット上げる
291 :
nobodyさん :2007/06/30(土) 14:03:12 ID:4UMNCMpy
>>288-290 サーバーはネットを経由してるのでPHPをいじったりはできません。
fseekでポインタをとおもったのですが行の長さが固定長ではないので・・・
サーバーはネットを経由してるので サーバーはネットを経由してるので サーバーはネットを経由してるので サーバーはネットを経由してるので サーバーはネットを経由してるので サーバーはネットを経由してるので サーバーはネットを経由してるので サーバーはネットを経由してるので サーバーはネットを経由してるので サーバーはネットを経由してるので サーバーはネットを経由してるので サーバーはネットを経由してるので
そんなもん誰も伝わらないだろ。
>>288-290 を出来るかどうか出来ないかはそれぞれ別の話しだ。
伝わったとしても間違っているしな
否定的なとり方すれば間違いだが、理解するつもりで読めば分かるだろ。 お前らがひねくれているだけ。
現在の状況 ・何言ってんのかわかんねーよw派 ・言ってる事はわかるけど、正確に言うと設定弄れないって事は無いよね派 ・そもそも理解していない派
俺の現状 ・このままスピリチュアルサポートしてやったらいたずらにレス伸びるだけ派
・実は質問者が胸のデカい女だったら、このまま教えてあげたい。マンツーマンで派
で、そろそろ本人でてこようぜ
303 :
nobodyさん :2007/06/30(土) 15:09:22 ID:4UMNCMpy
あ、はいはい。 煽るのいいけど便乗が多いなあ。 とりあえず、理想はファイルを開いてファイルポインタをケツからn行目に移動したい んで、これをする関数ってあるの?
はい、いつものID出してネタ質問厨決定。 以後放置ヨロ
誰も煽ってねぇww
306 :
nobodyさん :2007/06/30(土) 15:23:26 ID:4UMNCMpy
ただ知らないだけか・・・
>>306 サーバーはネットを経由してるので
サーバーはネットを経由してるので
サーバーはネットを経由してるので
サーバーはネットを経由してるので
サーバーはネットを経由してるので
サーバーはネットを経由してるので
サーバーはネットを経由してるので
サーバーはネットを経由してるので
サーバーはネットを経由してるので
サーバーはネットを経由してるので
サーバーはネットを経由してるので
サーバーはネットを経由してるので
308 :
nobodyさん :2007/06/30(土) 15:45:55 ID:4UMNCMpy
(´,_ゝ`)プッ 意味わかんないの?ww
>>303 マジレスしてやろう。
まず最終目的はどっち?
・理想はファイルを開いてファイルポインタをケツからn行目に移動する
・テキストファイルを開いて最後の10行だけを取得する
まぁ、どちらにせよ、これを行う関数は標準では存在しない。
>煽るのいいけど便乗が多いなあ。
煽るのはいけないし、お前も煽るな。
当該サーバのコンソールからしか サーバの設定を変えられないと思ってるんだろう。 telnetやSSHがインターネット越しでは扱えないと思ってるんじゃね?
> まず最終目的はどっち? 現時点ではサーバーはネットを経由してるのが問題らしいから ネットから切断したいんじゃね?w
>>308 ごめんやっと意味わかった。
・何言ってんのかわかんねーよw派
↓
・言ってる事はわかるけど、正確に言うと設定弄れないって事は無いよね派
昇格('∇')
(´,_ゝ`)プッ 今まで意味わかってなかったわけ?ww
>サーバーはネットを経由してるので ごめん 迷言のインパクトでかくてw
又、専用鯖信者が湧いているなぁw 専用鯖さえあれば、何でも出来ると思っている妄想厨だろうが、 こういう奴はだいたい尾崎豊とかhideとかを信奉しているキチガイ。市ね。
317 :
nobodyさん :2007/06/30(土) 18:41:08 ID:UIYio/Py
318 :
nobodyさん :2007/06/30(土) 19:19:50 ID:SfayNHzq
javascriptで生成したフォームでも ちゃんとxssをphpスクリプトにいれとけば問題ないですか?
>>316 >尾崎豊とかhideとか
「たとえ古っ」とツッコミいれようと思ったら
その直後にhideが出てきて吹いた俺はアンサイクロペディアン
>>318 JavaScriptによる
というかJavaScriptで生成している状況がわからないんだが
320 :
nobodyさん :2007/06/30(土) 20:20:26 ID:SfayNHzq
>>319 ありがとうございます。jsでテキストフィールドを指定した数だけ生成したいと思ってます。
この処理をクライアント側に処理させたいと思ってまして、
jsによるということはクライアントから送られてきたテキストフィールドに入力した値をサーバでチェックするだけじゃダメですか?
322 :
nobodyさん :2007/06/30(土) 23:09:31 ID:k9Hlwqdh
またD:JckmzqG+か・・・
もの凄く簡単なことだと思ったのに回答出てきませんねorz 無理なのでしょうか?誰か知ってる方よろしくお願いします。 もの凄く簡単なことだと思ったのに回答出てきませんねorz 無理なのでしょうか?誰か知ってる方よろしくお願いします。 もの凄く簡単なことだと思ったのに回答出てきませんねorz 無理なのでしょうか?誰か知ってる方よろしくお願いします。 もの凄く簡単なことだと思ったのに回答出てきませんねorz 無理なのでしょうか?誰か知ってる方よろしくお願いします。
326 :
nobodyさん :2007/07/01(日) 02:23:55 ID:IsU+PNQg
>もの凄く簡単なことだと思ったのに回答出てきませんねorz 簡単なことなら自分で調べろよ
悪意があるニュアンスじゃないのに悪意に取る被害妄想男多すぎ
A「簡単だと思う」
B「なら自分でどうにかしろよ」
C「被害妄想乙」
どうみても一番妄想してるのは
>>327 それにバカにされてると感じてもおかしくないニュアンスだろ
329 :
nobodyさん :2007/07/01(日) 02:40:32 ID:IsU+PNQg
典型的DQNだなw
>>328 >それにバカにされてると感じてもおかしくないニュアンスだろ
だからその感じ方が被害妄想だっての。
「自分は勝手に簡単なことだと思いましたが、それほど簡単なことではなかったのですね」
というニュアンスしか俺は感じない。
「こんな簡単なことも答えられないおまえらプギャー」と感じるのは被害妄想。
>>330 >だからその感じ方が被害妄想だっての。
ごくごく普通の感じ方だと思うよ
>>322 >>254-257 >>264 好きなの使って作れ。標準関数並みに気軽でかつドキュメント豊富なものは無い。
snoopyは使うのは必要なファイル1つだけで気軽だが、良いドキュメントはソースしか無し
333 :
nobodyさん :2007/07/01(日) 04:19:20 ID:WBOJ+g1B
DBをつかうプログラムの設計について質問なのですが、 DB接続情報なんかは別ファイルや、専用のクラスを作って設定するようにしとくべきですか?
>>333 小規模ならconfigファイルにべた書き
負荷分散・複数DB(レプリケーション・データベースリンク)とか使うなら、それなりに設計する。
phpspotが動ナビで紹介されてたんだけど、作者はしってんのかな?
>>330 回答出てきませんね、て。第三者がスレ観測してて言ったことならともかく、
質問者が回答者側(というか考えてくれてる側)に向かって言う言葉じゃないよ。
「回答出てこんね」と思うことと、それを相手に向かって言うことはだいぶ意味が違うよね。
それで「日本語が不自由なんだなあ」と取ってあげるのが当然というのは人が良すぎるよ。
言い方だけ丁寧で慇懃無礼なうえたちが悪い(ちゃんと説明しないとか)質問者は多いから、
ああいう態度や考え方が透けて見えるような言い方をすれば、その同類と疑われてもしょうがない。
とはいえ、>330みたいな回答者が多数派になればそういう質問者でもアリだろうけど、
一般には、回答者はそういう質問者にだんだんうんざりしてくるから、
よく回答を頼られる人ほどそういうのには厳しいと思うよ。
結局 クズは氏ね でいいんだよ
問題の環境を小出しにして、曖昧な質問する方が悪い。 はっきり言ってうんざり。
>>331 そうそう。多くの人が余裕がなくて醜い心を持ってるからね。
特にこのスレはその割合が高い。
, ‐' ´ ``‐、 / ̄:三} . /,. -─‐- 、. ヽ / ,.=j _,.:_'______ヽ、 .! ./ _,ノ `‐、{ へ '゙⌒ `!~ヽ. ! /{. / `! し゚ ( ゚j `v‐冫 , '::::::::ヽ、/ そんなことより野球しようぜ! . {.l '⌒ ゙ 6',! / :::::::::::::::/ __ . 〈 < ´ ̄,フ .ノー'_ , ‐'´::::::::::::::;/ (_ノ)‐-、 . ヽ.、 ` ‐", ‐´‐:ラ ':::::::::::::::: ;∠. ヽ_} ゙ヽ ,.r` "´ /:::::::::::::::::::ィ´ `ゝ !、 / / / :::::::::::::::: ; '´ /´\ / r'\ . i ! ::::::::::::::/ 新 | .!::::::::/ヽ、.._!ヽ. ヽ、 { {:::::::::::;:イ / ‖i:::::::/:::::::::::::/ \ . ヽ ヽ,.ァ‐'´ /ヽ 二 ,/`ヽ、::::::::: /
343 :
nobodyさん :2007/07/01(日) 16:18:42 ID:SEZkjrix
特定の文字列が何回含まれているかを、調べる関数はありますか? 教えてください。
>>343 substr_count()、mb_substr_count()
テキストファイルからのカウントぐらいなら
簡単だから自分でやれ。
345 :
nobodyさん :2007/07/01(日) 16:46:52 ID:AE1jLbRL
preg_match_allでマッチする対象の文字列に文字数やバイトなどの制限あったりします?
346 :
nobodyさん :2007/07/01(日) 17:08:22 ID:KsS6Lofm
PHP初心者ですがimage_graphを使いたくてやってましたが 下記のようなエラーがでました Warning: require_once(Image/Canvas.php) [function.require-once]: failed to open stream: No such file or directory in C:\Program Files\xampp\php\pear\Image\Graph\Common.php on line 56 Fatal error: require_once() [function.require]: Failed opening required 'Image/Canvas.php' (include_path='.;C:\Program Files\xampp\php\pear\') in C:\Program Files\xampp\php\pear\Image\Graph\Common.php on line 56 common.phpの56行目は下記です。 require_once 'Image/Canvas.php'; Canvas.php が無いって言ってるのだと思いますが、これは別途DLしてくるものなのでしょうか?
347 :
nobodyさん :2007/07/01(日) 17:26:46 ID:SEZkjrix
>>344 ありがとうございます。
substr_countを使ってみました……。
ですが、うまくいきません。
GETで受け取った変数を使うと、エラーになってしまいます。
$test = $_GET['test'];
$count = substr_count("testtesttest", "$test");
で実行すると、
Warning: substr_count() [function.substr-count]: Empty substring. in /home/usernamehogehoge/www/test/test.php on line 2
となって、エラーを吐いてしまいます。
どうにかして変数を使えませんか?
>>349 別途DLってことですか?
Canvas.php で検索してもそれらしいのが見つかりませんでした
352 :
nobodyさん :2007/07/01(日) 18:26:14 ID:SEZkjrix
>>348 ありがとうございます。
string(0) ""と表示されるようになりましたが、エラーは直りません;
>>352 となるとGETでちゃんと渡ってないと思われます
355 :
354 :2007/07/01(日) 18:35:50 ID:???
俺と
>>353 の器の違いを感じた。
そんな日曜日。
このスレの90%は罵倒と自作自演で作られております
>>350 それで調べたけど
どこでCanvas.phpをDLするのかがわかりません
↑ミスッた350じゃなく351
359 :
nobodyさん :2007/07/01(日) 19:58:41 ID:AE1jLbRL
改めて質問させていただきます。 <textarea cols=36 rows=15 name="before" wrap="virtual" style="width:320px;height:250px;">方法</textarea> <textarea cols=36 rows=15 name="after" wrap="virtual" style="width:320px;height:250px;">Method </textarea> これを preg_match_allの'/<textarea.*>(.*)<\/textarea>/ms'で二つとも取得するのですが、 他に色々と長い文字列を打ったうえで上記を取得すると何も表示されません。 ちなみに、文字の長さが半角で2820文字以上になると表示されません。 2819未満だとちゃんと取得して表示してくれます。 preg_match_allの関数のマニュアルを見たところそのような仕様は書いてありませんでした。 何かこれを取得できるように解決する方法はありませんでしょうか?
360 :
nobodyさん :2007/07/01(日) 20:27:14 ID:SEZkjrix
>>353 すみません。
GETで渡した場合、(0)が渡したバイト数に変わり、
ダブルクォーテーションで内容が囲まれて表示されています。
>>354 読んだのですが、理解不能でした。
最初の相談時は普通に値を送っていて、次は何の値も送らずにテストしていました。
しかもそれに何故か気付いていませんでした。
何を試したかも書かずに相談してしまい、すみません。
362 :
nobodyさん :2007/07/01(日) 20:53:56 ID:SEZkjrix
>>361 値を渡してもなります。
教えてくださったものだと、NULL、改行(<br />)のあとにエラー文が出ます。
363 :
362 :2007/07/01(日) 20:58:53 ID:SEZkjrix
すみません、勘違いです。 NULLではなくて、string(1) "a"といった感じです。 「a」を送信しています。
364 :
362 :2007/07/01(日) 21:00:55 ID:SEZkjrix
3レスすみません。 今値を送ってみたところ、受け渡しされている場合はエラーは出ていません。」
>>359 '/<textarea.*>(.*\n)+<\/textarea>/Ums'
366 :
nobodyさん :2007/07/01(日) 21:02:27 ID:AE1jLbRL
>>365 有難う御座います、解決しました。
mは複数行、sはスペースですよね。
Uとは何なのでしょうか?
368 :
nobodyさん :2007/07/01(日) 21:12:28 ID:IsU+PNQg
[email protected] ※退会処理手続きに10〜14日間の時間をいただいております。
退会処理後に再度、メールが送信されることがあるかもれません。
退会手続き後、複数回メールが送付される時はお手数をおかけしますが、
再度退会手続きの空メールを送信してください。
ってメールがきたんだけど、これをphpで迷惑メール対策したいのですが
何かいい案はありませんか?
>>368 その質問は
「朝日新聞の勧誘が来たんですが
これを合気道で迷惑勧誘対策したいのですが」
並に意味不明なわけだが
>>364 じゃ関数の実行は成功してるんじゃないでしょうか
371 :
nobodyさん :2007/07/01(日) 21:51:18 ID:SEZkjrix
>>370 ありがとうございます。
先程まで、var_dump($test);を抜くとエラーが出てくるという状況だったのですが、
今確認したところ直っておりました。
何だかよくわからない事に初心者が無理に手を出してしまったのがまずかったのだと思いますが、
解決しました。
長く、丁寧に教えてくださって、本当にありがとうございました。
373 :
nobodyさん :2007/07/02(月) 00:33:57 ID:5ynC2VCo
>>369 正規表現でキーワードをひっかけるやり方を考えたのですが、それだと
迷惑ではないメールもひっかかってしまうと思うんです
迷惑メールとは何か、その要件定義が明確にできないなら、 そもそもシステム化はできない。 by ケビン・コスナー
>>373 自前のサーバでメール管理してんのか?
PHPでやることはないと思うけどPHPでもできるな
ヘッダとかである程度対応できるでしょ。
Date: に +0900 を含まないものは削除とか。
>326 >329 >368 わろた
単純に「自分宛てメール」からスパムを除きたいだけなら Thunderbirdのメールフィルタでも使えば
378 :
nobodyさん :2007/07/02(月) 01:40:40 ID:SNqTzj8t
・環境はPHP+MySQL ・「ユーザ」に複数の「カテゴリ」が設定されている user |user_id|user_name| user_category |user_category_id|user_id|category_id| category |category_id|category_name| こんなテーブルがあるとして、 ユーザの一覧とそれぞれに設定されているカテゴリを array( 0=>array("user_id"=>1,"user_name"=>"山田","user_category"=>array( 0=>array("category_id"=>3,"category_name"=>"hoge"), 1=>array("category_id"=>5,"category_name"=>"fuga") ) ), 1=>array("user_id"=>2,"user_name"=>"鈴木","user_category"=>array( 0=>array("category_id"=>1,"category_name"=>"foo") ) ) ) 最終的にこんな形の配列で取得したい。 こういう時のアプローチとして (1)SQLクエリの結果配列をプログラム側で変形させる (2)SQLクエリを二回にわけてプログラム側でくっ付ける (3)テーブルを崩す(userにphoto_idの繰り返しを持たせる) 以外のものは無いでしょうか。
379 :
nobodyさん :2007/07/02(月) 01:52:56 ID:EsE4UsKv
$hoge = 'foobar': $name = 関数名($hoge); $nameに変数名'hoge'が取得できるような関数ってある?
380 :
378 :2007/07/02(月) 01:53:56 ID:???
SQLでどうにかなりそうな気がするんですが (1) SELECT * FROM user LEFT JOIN user_category ON user_category.user_id = user.user_id LEFT JOIN category ON category.category_id = user_category.category_id; (2) (a)SELECT * FROM user; (b)SELECT * FRON user_category INNER JOIN category ON category.category_id = user_category.category_id WHERE user_category.user_id = {$item} ; (b)をユーザ数だけPHP側でループ (1)と(2)はこんな感じのイメージです。 これだとパフォーマンス的にあれなのと、 もっとスマートな方法があると思うので、 どなたかご教授お願いします。
>ってある? あるかないかでいうならある。 ユーザー関数を利用すればある
382 :
nobodyさん :2007/07/02(月) 01:57:19 ID:EsE4UsKv
>ユーザー関数を利用すればある ありがとう、勉強してきます
serialize/unserialize って重いの?
image_graphですがなんとかグラフ表示するところまでできましたが 表示される画像の形式の変更の仕方がわかりません グラフのコードの書かれた.PHP内の $Graph =& Image_Graph::factory('graph', array(array('width'=>512, 'height'=>280, 'canvas' => 'JPG'))); でJPGとしたら画像はあらくなってJPGっぽくなったのですが 右クリック保存にするとBMPになってしまいます
最近、googleで[php 関数名]で検索しても、 PHPオフィシャルのマニュアルが、 最初のページ内にすら出てこないこと多くね?
関数なんかgoogleであまりぐぐらんが、(馬から落馬みたいだな) 今やってみたら確かにそういう傾向はあるな。 ちなみにfput
マニュアルダウンロードしないの?
マニュアルは全て頭の中にある
phpからサーバー上のexeを実行する方法について調べているのですが、 phpのセーフモードを解除せずにする方法って何かあるのでしょうか?
batとcronでまわしてください
>>390 safe_mode_exec_dirで設定されたところに置かれたものは可能。そこに
なければ不可能。
勝手に何でも起動できちゃセーフモードの意味ないだろ。
未知のあるいは既知だが対処されていないセキュリティホールを突けば
なにかできるかもしれないがやるなよ。
ありがとうございます!
実行したいスクリプトをsafe_mode_exec_dirに置いて動作確認できました
と思いきやそれ以外でも実行できてしまいました。
俺何か勘違いしてるんでしょうか?
>>392 上島に聞こえてしまいます・・・
#!/usr/lib/php
<html><head><title>シェル実行テスト</title></head><body>
<?php
$str = "cal";
exec($str,$array);
for($i=0;$i<count($array);$i++){
print $array[$i]."<br>";
}
?>
</body></html>
<form action=$scriptname method=post>でボタンを押されたら フォームのテキスト等をしょりしていたのですが、 ボタンを押された時に確認ダイアログを出すためにそのボタンに JavaScriptで確認メッセージをだすようにした場合、同じ処理をさせるにはどうしたらいいのでしょうか?
395 :
nobodyさん :2007/07/02(月) 14:12:14 ID:Oa7ZLlfR
$test = get_ary(); で、 $testに ['hoge1']="ホゲ1" ['hoge2']="ホゲ2" ['hoge3']="ホゲ3" が入るとします。 $test = get_ary(); これで、 $testに['hoge']である「ホゲ1」が入るようにしたいのですが、 $test = get_ary(); $test = $test['hoge1']; と2行じゃなく $test = get_ary()->hoge1; みたいな感じで1行にできないでしょうか?
>>395 意味わかんねぇし
エスパーじゃないんだからget_ary()でなにしとるかわからんのに
そんなこと出来るわけ無いじゃないか
397 :
nobodyさん :2007/07/02(月) 14:21:33 ID:Oa7ZLlfR
>>396 説明が足りませんでした。
$test = get_ary();
で、
$testに
['hoge1']="ホゲ1"
['hoge2']="ホゲ2"
['hoge3']="ホゲ3"
が入るとします。
というのは配列で入るということです。
(returnで配列を返しています。)
>>394 アラートのOKを押したときにJSでサブミットさせろ
ちなみに場違い!次からはJS関連にいけ
>>397 だーかーらー
こっちで理解できるのは
function get_ary(){
return array('hoge1'=>"ホゲ1",'hoge2'=>"ホゲ2",'hoge3'=>"ホゲ3");
}
こうなるとしか予測ができんのだ
で、$test = get_ary();したときに
$test["hoge"]に"ほげ1"をいれたいんだろ?
論理的に不可能なわけだ
意味わかるか?
400 :
nobodyさん :2007/07/02(月) 14:33:38 ID:Oa7ZLlfR
function get_ary(){ return array('hoge1'=>"ホゲ1",'hoge2'=>"ホゲ2",'hoge3'=>"ホゲ3"); } $test = get_ary()['hoge1']; や $test = get_ary()->hoge1; print_r($test); 不可能なのですね、わかりました
>$testに['hoge']である「ホゲ1」が入るようにしたいのですが、 これはタイプミスかね? 本当は、 >$testに['hoge1']である「ホゲ1」が入るようにしたいのですが、 じゃないんかね?
402 :
nobodyさん :2007/07/02(月) 14:36:54 ID:Oa7ZLlfR
>>401 よく見ると打ちミスしていました。
すみません、気づきませんでした。
こうすれば? function get_ary( $idx ){ $array = array('hoge1'=>"ホゲ1",'hoge2'=>"ホゲ2",'hoge3'=>"ホゲ3"); if( $idx != null ){ return $array[$idx]; }else{ return $array; } } // 配列くれ $array = get_ary( null ); // 値くれ $test = get_ary( 'hoge2' );
404 :
nobodyさん :2007/07/02(月) 14:49:56 ID:Oa7ZLlfR
>>403 ありがとうございます。
関数の方を変えてしまえば良いのですね。
解決できましたー。
>>402 うちみすかよorz
なら
function get_ary($key=""){
if($key==""){
return false;
}
$array = array('hoge1'=>"ホゲ1",'hoge2'=>"ホゲ2",'hoge3'=>"ホゲ3");
return array($key=>$array[$key]);
}
でどうだ
でおくれたorz
>>398 どっちに書こうか迷ったんですけどね。
JavaScriptはただダイアログだしてるだけだからこっちのがいいかなっておもったんだけど
やはりダイアログでの処理は向こうで聞くべきでしたか。失礼しました。
乗りかかった船でsubmitを記述を教えてください><
submitを記述を submitを記述を submitを記述を submitを記述を submitを記述を submitを記述を submitを記述を submitを記述を submitを記述を submitを記述を はいはい
暇だから誰か質問くれー
410 :
nobodyさん :2007/07/02(月) 15:58:58 ID:mwwSeVGN
>>409 PDOとmysqliってどっちがいいですか?
>>408 ここって定期的にお前みたいな奴が沸くな。
お前ひょっとしてずっと張り付いてそうする隙をみてんの?
キメエ
Shift_JISで一旦作ったプログラムをUTF-8に置き換えをしています。 ところがある一つのファイルだけ置き換えができない現象が発生。。 そのファイルはHTMLのヘッダとフッタを書き出すインクルード用のファイルなんですけど PHPとHTMLが混ざり合っているとUTFに変換はできないのでしょうか?? ちなみにEUCには問題なくできました。 以下そのファイルのソース。 頭のPHPの部分を消すと下の方にPHPスクリプトがあっても正常に置換できます。 <?php function HEADER_HTML( ) { echo '<?xml version="1.0" encoding="Shift_JIS"?>' . "\n"; ?> <!DOCTYPE 〜〜 以下HTML文
何で変換してるかくらい書けよ そこが一番大事だろうが
普通のテキストエディタで変換してますです。
PHPエディタですね
手作業です。
もうわざと言ってるとしか思えない
>>417 Windows標準装備のメモ帳ではなくPHPエディタというテキストエディタです。
>>416 数が少ないので一括置換ではなく仰せの通り手作業です。
>>418 原因をご存知なのでしょうか?
知っているがお前の態度が気に入らない(AA略
エディタのバグだろ。変換できないなんてありえない。
423 :
412 :2007/07/02(月) 16:47:41 ID:???
もういいです!他のところで聞きます! やっぱり2ちゃんねるで聞くんじゃなかった・・・バカの集まりしかいない
424 :
nobodyさん :2007/07/02(月) 16:49:59 ID:Oa7ZLlfR
ごめ、ド忘れ質問お願いします。 function test(){ } test("aa","bb","cc"); これで、"aa","bb","cc"の部分を配列として受け取れたと思うのですが、 それってclassだけでしょうか? たしかfunctionでもいけたような気がするのですが。。。 良かったら方法教えてください (ちなみにtest(array("aa","bb","cc"))を使わない方法でお願いします)
>>421 TeraPadというエディタで変換を試みたところ、
「Null文字を含むファイルです。Null文字は半角スペースへ変換しました」
と出てきました。
他のファイルではでなかったのでこれが原因のようです。
function test( $a, $b, $c ){ return array( $a, $b, $c ); }
>>421 先程のエディタでutf-8で新規にファイルを作成し、鯖にアップして確認をしたところ、文字化けもなおって無事ちゃんと表示されました。
普段当たり前のように使ってるツールでもバグがあるかもしれないと疑う事も重要ですね。。
php関連の技術書籍を検索するとき、PHP研究所の無関係本がやたらリストアップされる。 こういうとき、どうすればマシな検索結果になるんだ。
>>429 テンプレ読めないやつは自分で探せ
そんなことだがらマシな検索結果が出ないんだ
PHP 入門 -研究所 -新書 -文庫
こんな記述を見つけたけど、意味が分からないので だれかこれと等価になるやつ教えてください $mode = ($mode) ? 'a' : 'w'; こんなの初めて見たんだが、、、
434 :
nobodyさん :2007/07/02(月) 17:26:40 ID:Oa7ZLlfR
>>433 それは覚えるとめっちゃ便利
$mode = ($mode) ? 'a' : 'w';
$modeがTRUEなら$modeにaを、FALSEなら$modeにwを代入
$変数 = (条件式) ? TRUEの場合$変数に格納するもの : FALSEの場合$変数に格納するもの;
条件演算子は可視性が低いから使うと嫌われるよ
俺も嫌いだったけどif文のほうが可読性低い場合は多項演算子使ってる
自分で使う分には問題なくね?
441 :
438 :2007/07/02(月) 17:49:57 ID:???
だな
俺は仕事で使ってるけど ぶっちゃけPHPできるのが俺しかいないから自由にやってる フレームワークも使っていない (ライブラリとしてよく使うものは保存しているが・・・)
三項演算子知らなかったなんてあり得ないだろw
目の前の現実を直視しなさい
445 :
433 :2007/07/02(月) 18:03:05 ID:???
>>438 おぼえとく。
>>443 ごめん織れなんでもない末端ブロガーなんだ。
好奇心で習得しようとしてるけど、まだまだレベル低い。
つかもっとマニュアル嫁織れ。
<? $head = "<チラ裏>\n"; $foot = "</チラ裏>\n"; header("Content-Type: text/html; charset=utf8"); ?> <?=$head?> PHPでExcel形式でxmlを書き出そうとしてるけどパラメータ多すぎ・・・orz <?=$foot?>
447 :
nobodyさん :2007/07/02(月) 18:11:23 ID:4JCJ4+4N
自分のコーディングスタイルに合わないプログラムがあると、 必死に相手を叩くゆとり。
必死に叩いているようには見えないが?
450 :
nobodyさん :2007/07/02(月) 19:30:01 ID:iLtmkhi3
じゃあ俺も
>>738 に500ペソ
ID出してやったぞ
453 :
429 :2007/07/02(月) 22:39:10 ID:???
454 :
nobodyさん :2007/07/02(月) 22:42:00 ID:k2nqp5hr
>>454 例えばって・・・
少しは自分で考えてみろよ
phpのソース見ていると、 $a =& hoge(); みたいなのがよくあるんですが、これリファレンスってことでおk?
うん
>>457 サンクス
日頃PHP使わないんでちょと?ってなってたよ。
ついでにPHPでいわゆるベストプラクティスの参考になるサイトない?
PEARとか以外で、щ(゚Д゚щ)カモーン!
>>454 tableなら、table で対象範囲を切り取り、 <tr>で改行(explode) した後<td>でexplodeして配列形式にする
あとはゴミを取っ払って、foreachループでCSV形式に書き出し
>>460 訂正
</tr> </td>でexplodeした方が楽だね。
>>459 ん?意味わかんね
マニュアル嫁って事?参考にならないんだけど...
それともレス番入れろって事?
レス番が必要になるような質問してないから入れてないだけだけど。
だとしたら、答えてくれなくていいよ。
まあPHPのユーザレベルってその程度なんだって思うだけだから。
違ったらゴメン。
指定ディレクトリ内のファイル一覧を名前順で取得するにはglob関数を使うのはわかってるんですが、 指定ディレクトリ内のファイル一覧を日付順で取得するにはどうしたら良いんでしょうか? ご存知の方いらっしゃったらおしえてください。
>>462 459じゃないけど、phpのマニュアルは、他の言語と比べても、とても良くできてると思うよ。
サンプルも豊富だし。
断片的なのはマニュアルだからしょうがないけどね。
体系的になんかつくる例とかを見たいなら、なんか本買うか、ググって上から見ていけばよいと思う。
>>460 リンク先の検索結果が0件だからアレだけども
普通はデータベースからHTML出力とCSV出力に分ける。
外部から人様のデータをCSV出力したいのなら,460の言うようにHTMLから抽出する。
それともデータ構造は取得できているが、ファイル関数の使い方が分からないということなのか。
>>463 glob関数はパターンにマッチするパス名を探すだけなので
ざっとファイルシステム関数のページを見るべし。
見た感じでは更新時刻でソートして取得するのはないようなので
statやfstat,filemtimeなどを利用してあとからソートすればいいんじゃないか。
スレの雰囲気を察するのが回答の近道だと思わない?
うん
自分のコーディングスタイルに合わないプログラムはコピペで終わりにできないだろ
469 :
nobodyさん :2007/07/03(火) 13:18:53 ID:OguL7YE2
質問です。 $a[0][0] = '0-0'; $a[0][1] = '0-1'; $a[1] = '1'; $a[2][0][1] = '2-0-1'; ↑のような次元のバラバラな配列があります。で、感覚として例えば echo hoge(array(0 => 1)); //結果は 0-1 echo hoge(1); //結果は 1 echo hoge(array(2 => array(1 => 0))); //結果は 2-1-0 function hoge($key) { global $a; return $a[$key]; } のように、添字に対して任意の次元の値を渡したいのですが、 どうも上手くいきません。渡された次元数で条件分岐すれば できるのはわかっているのですが、もっとスマートな方法は ないでしょうか? よろしくお願いします。
470 :
462 :2007/07/03(火) 13:28:56 ID:???
>>464 サンクス
知りたかったのはコーディング規約もそうなんだけど、
ユーザ間で指針としているスタイルとかあるだろうって思って。
自分のメイン言語じゃないから、せめて可読性ぐらい保たないとメンテナに悪いだろw
いくつかソース読んだけどいまいち整然としてない気がして、って事で
聞いてみたんだけどね。まあもう少し色々見てみるよ。
>>469 普通に$a[2][0][1]で参照するのは無理なんだよな?
function getValue(array $var,array $keys) {
foreach($keys as $i)
$var = $var[$i];
return $var;
}
echo getValue($a,array(2,0,1)); // 2-1-0
こんなことやってしまうとか…?
XML関係とかかな?
こういう変則的な事やりたい場合は理由も書いた方がいいかも。
473 :
469 :2007/07/03(火) 14:16:42 ID:OguL7YE2
>>472 具体的にどこで使うってのは決めてないです
提案していただいた関数の他にも、例えば渡す側が添字を'[1][2]'等の文字列で
渡して受け取り側でevalで処理するなど色々な方法があると思うのですが、
もっと原始的な操作でできないかなと思いまして。
$a[$key]や$a[$key1][$key2]ができるんだから、
$a[array($key1 => $key2)]的なことができてもいいんじゃないかなと。
>>473 PHPのは多次元配列って言うより配列の配列だから[][]でいいと思うけど…。
476 :
nobodyさん :2007/07/03(火) 15:15:07 ID:gJhXmCpl
添付ファイルつきメール送信で質問なのですが フォーム⇔確認画面(入力に戻るあり)→送信処理 修正で戻ったり、確認画面まで引っ張ったまま アップロードデータを残すのは無理なんでしょうか? 良い書き方が思いつきません…
>>476 一度サーバーに仮であげてキャンセル対策は
一定時間以上そのままのやつをクローンかユーザーアクセスかを
トリガーに削除するしか思いつかん
>>473 関数を再帰させれば出来るでしょ。
getArrayVal ($array) {
foreach ($array as $key=>$val)
{
if(is_array($val)) {
getArrayVal($val);
} else {
}
}
}
このパターンでマッチするものを取ればいい。
つまりは
>>106 に対する
>>109 ,
>>110 の答えと一緒なんだよ
あなたのやりたいことって。
479 :
469 :2007/07/03(火) 16:01:21 ID:???
>>478 >>469 での質問の仕方が悪かったですね。すいません。
質問したかったのは実現のための関数の作り方ではなく、あくまで
配列の添字に対して任意の次元の値(添字)を渡せるかどうか、なのです。
PHPは「$$a」みたいな知らなければ永遠に気づかないような表現があるので、
もしかしてあるかな、と思って質問してみました。
480 :
469 :2007/07/03(火) 16:04:12 ID:???
ごめんなさい やっぱり教えてgooで質問してきます。 たぶん下らないスレなのでわからない人ばっかりですよね・・・ ありがとうございました。
481 :
469 :2007/07/03(火) 16:06:40 ID:???
483 :
469 :2007/07/03(火) 16:10:10 ID:???
484 :
469 :2007/07/03(火) 16:11:18 ID:???
>>482 下らない質問スレということで
知識のない人でも答えられるからそういう人が集まっているスレと見ています。
教えてgooでは専門家の方やプロの方がいると思うのでそっちで聞いてみます。
もう秋田
教えてgooで回答しているのも俺たちだけどね
488 :
469 :2007/07/03(火) 17:01:05 ID:???
じゃあ答えてみろ
489 :
nobodyさん :2007/07/03(火) 17:10:16 ID:hv6LsRuc
よく商品などの販売サイトで 「あなたのチェックした商品」 という感じで、クリックした商品が羅列されてるんですが、あればどういった仕組み になっているのでしょうか?
492 :
489 :2007/07/03(火) 17:39:56 ID:hv6LsRuc
ググッたらここがでてきて、なんとなくぼんやりわかったのですが、 具体的にクリックした商品をデータベース!?に収めるにはどうしたらいいのでしょうか? 以下のようなことができますか? セッションID<>クリックした商品ID1 セッションID<>クリックした商品ID2 セッションID<>クリックした商品ID3 セッションID<>クリックした商品ID4 ウェブ上では・・ あんたがチェックした商品 ■商品1 ■商品2 ■商品3 ■商品4
>>492 >具体的にクリックした商品をデータベース!?に収めるにはどうしたらいいのでしょうか?
何が言いたいのかわからん
>以下のようなことができますか?
できる
496 :
489 :2007/07/03(火) 17:46:09 ID:hv6LsRuc
<?php $_SESSION['shohin_id'] = 1 ;セッション変数に値を代入 $_SESSION['konyu'] = array(1,3,6); 配列もOK ?> これのarray(1,3,6); 配列もOK の意味がわかりません。 この数字 1、3、6 ってどこからでてきたものですか?
>>496 >この数字 1、3、6 ってどこからでてきたものですか?
お前が書いたんだろ
唖然
>>496 あんたが見てるコードと解説を書いた人に聞けばいいよ。
「配列も渡せるようですが、例として 1 3 6 を選んだ理由は何ですか」とか。
もう秋田 はい次の人どうぞ
クラス内から外部の変数呼ぶ(function内で言うところのglobal)ことってできる?
502 :
nobodyさん :2007/07/03(火) 17:58:40 ID:T/d3Vi50
寄ってたかって弱い者イジメをするスレがあると聞いて飛んできました
あ、普通にglobalでできた
>>502 俺らが叩くのは、礼儀知らずだけだよ。質問者が上から目線じゃ、2chでも叩かれて当然。
リアルにシックスセンスでコード書きやがったな
507 :
nobodyさん :2007/07/03(火) 18:50:05 ID:bfjcmZVf
使えない簡易言語と使えない住人のスレッドはここですか?
と、使えない甲斐性なしが申しております
509 :
nobodyさん :2007/07/03(火) 19:05:30 ID:bfjcmZVf
何年か前はココも少しは為になったんだがな いまはエセしかいないのか。 まあせいぜい講釈たれてな、井の中の蛙ども
510 :
nobodyさん :2007/07/03(火) 19:08:45 ID:b1YfPoYw
明らかにテンプレすら読めない奴がくるとこじゃない あと質問の仕方が悪い
釣りにマジレスがビュンビュン飛んでくる面白いスレッドはここですか?
築港で、ガキが捨てた錆びた釣り針を踏んづけて気づかない爺ちゃんたちって言う程度な 夏の午後だよ
スレ違い
>>516 ありがとうございます。たすかりました!
スレ叩きしてるのは、回答もらえなかった可哀想な子 素直にテンプレ読んで質問し直しな
519 :
nobodyさん :2007/07/03(火) 20:04:48 ID:5tZ1M5dr
DOM関数って使ったことある方いますか? $doc = new DOMDocument(); $doc->loadHTMLFile("filename.html"); ってやっても Class 'DOMDocument' not found っていわれます。 マニュアルには 「PHP コアに含まれるため、追加のインストール無しで使用できます。」 とあるのですが、なんか使い方がおかしいのでしょうか? PHP Version 5.1.6です。 ちなみにやりたいのはhtmlファイルを読み込んで、テーブル内のテキストをよみだしたいのですが この関数で良いんですよね? DOM XML 関数っていうのもあるけど・・
520 :
519 :2007/07/03(火) 20:10:10 ID:???
あ、phpinfo確認したら --disable-dom ってなってました。 パッケージでインストールしたphpはオフになってるみたいですね。 失礼しました。
521 :
489 :2007/07/03(火) 21:10:17 ID:hv6LsRuc
for( $i=3; $i>=0; $i++ ){ print("$i,"); } 他の関連スレでおしえていただき、これで解決できそうです。 ありがとうございました^^
はい?
523 :
nobodyさん :2007/07/03(火) 21:38:04 ID:t9u7rE9E
長年ご愛顧頂きました「PHP下らねぇ質問」スレですが、 回答者の質の低下によるスレの存続意義が問われる事となり、 誠に残念では御座いますが本日を持って終了させて頂きます。 なおPHPに関して何かご質問があります場合には、 他の関連スレ、または教えてgooをご利用頂けますようお願い申し上げます。 --------終了-------
ついにZendFramework正式版が発表されたな!
拡張子 .html のファイルでPHPを動かす事ってできますでしょうか? SSIの <!# exec cmd =""> を使わずにです。
スレ違い 他の関連スレかgooに行け
ナンテコッタイ/(^o^)\
529 :
nobodyさん :2007/07/03(火) 22:34:35 ID:RV+CjRs8
文字割りを実行しているのですが、全角文字が入っているため、 文字化けが発生しているため、SQL文が破損されるので、 データベースに突っ込むさいに、SQL文のパースエラーが発生しているため、 全て処理が異常終了します。 INSERT IGOREにししてもREPLACEにしても結果は同じでした。 この場合、全てSQLを吐き出してからロードするという手もあるとは思うのですが、 毎回これを手動でやるのはちょっとつらいため、対応できるロジックでご存知の方はいませんでしょうか? 検索を色々ためしてみたのですが、それらしいものが見つかりませんでした。
大変だなあ。ダーウィンの悪魔みたいな漁業危機だね
まぁ、まぁ、みんな!自分のオナラの臭いでもかいでエクスタシー感じようよ。
ご教示お願いします。 phpでスタックポインタの初期化や、プログラムカウンタを知る方法はないのでしょうか? ちなみにFreeBSDでphpは5.2.1が動いています。
534 :
nobodyさん :2007/07/03(火) 23:05:00 ID:QEEraygj
その業界の方々、プログラムを書いた料金・代価について教えてください
プログラマーだったら任月単価80いけばいい方かな
そんだけいけば十分よ。他の業務なしならね。
PHPUnitのスレって需要ないん?
なんか内輪モメしてるって聞いて飛んできました。
>>537 スクリプトで80ってボリだな。日当2万でも高いだろw
>>533 マジレス。ここの連中にレジスタの話しても分かんないだろw
ともかく、オレの知ってる限りPHPは所詮PHP
んな、低級のもん操作できないし参照もできない
っていうかオマイみたいなアセンブリータはこんなとこに聞かないほうがいい
これはひどい自演をまたw
543 :
540 :2007/07/04(水) 01:11:35 ID:???
自演ってオレのこと??しょっぱいなオマエ
>>509 今日なんかイヤなことでもあったかい?
生活板で悩みきいてもらいな
>>543 >マジレス。ここの連中にレジスタの話しても分かんないだろw
根拠がまるでないね。そう思いたいだけでしょ?
>PHPは所詮PHP
PHPがどういうものか分かってない相手に、PHPがどういうものか言及せずにこれはない。
>っていうかオマイみたいなアセンブリータはこんなとこに聞かないほうがいい
「こんなとこ」にわざわざ来て煽り入れてるお前は何なの?
余程暇なんだね^^
久々にワロタw
もうめんどくさいから放置でおねがい
548 :
nobodyさん :2007/07/04(水) 03:01:36 ID:An7LI2LB
>>531 分かりにくくてすみません。
要は、文字列をデーターベースに突っ込みたいだけなんですが、
ただ、SQLが破損してどうしても入れられずに、
代替的な方法があれば教えて頂きたいと思いました。
宜しくお願いします。
550 :
nobodyさん :2007/07/04(水) 03:53:38 ID:An7LI2LB
>>549 すみません、使用データーベースはMYSQL4.1、phpのマイナーバージョンは、4.4.2です。
OSは、windowsでもLINUX上でも発生していまmす。
エラーは、文字化けとSQL上のパースエラーです。
IGNORE,REPLACEとも不能で、現在はDELETEができるのみです。
UPDATEは成功するのですが、不変なので意味がありませんでした
データベースに問題がある可能性も捨てきれないため、
もしスレ違いであれば誘導して頂けると助かります。
宜しくお願いします。
>>550 文字のエンコードあわせればいいだけじゃないの?
>>550 つっこむ直前にmysql_escape_stringやってもだめなんか?
大方、mysql→laten1 EUCの2バイト文字をlaten1につっこんでる
環境→EUC
ソースの文字コード→ 転送ミスって SJIS +CRLFになってしまってる+文字化け
みたいにちぐはぐになってんじゃないの?
環境を調査する方が先かと思われ
553 :
nobodyさん :2007/07/04(水) 06:15:00 ID:NO82XaqL
[環境] OS:RHL7.3 apache1.3 PHP4.3 [質問] ファイルからレコードを読み込み、配列に格納して、5桁区切りで ページ数を表示(各ページはリンク)。PAGEリンクは5桁区切りの右側に リンクしてあり、そのPAGEリンクをクリックすると、 1 2 3 4 5 → 6 7 8 9 10 のように表示を変えるものを作成しています。 その為ファイルにポイントとなる部分を書き込んでいます。 F5等リロードすると、ファイルにポイント部分を書き込むので、 PAGEリンクをクリックしないでも、表示がずれてしまいます。
554 :
nobodyさん :2007/07/04(水) 06:17:17 ID:NO82XaqL
[作業内容] リロードによるファイルの2重書き込みを防ぐ。 [ソース] // GET取得 if(strtoupper($_SERVER["REQUEST_METHOD"]) == "GET"){ $page = $_GET["page"]; (1) // $pageがnextの場合 if($page == 'next'){ // ファイル書き込み処理 if(!$_SESSION["execute"]){ //書き込み // 書き込み後 $_SESSION["execute"] = true; } } }
555 :
nobodyさん :2007/07/04(水) 06:17:56 ID:NO82XaqL
[質問です。] リンクPAGEをクリックした後、$_SESSION["execute"] = falseにして(1)、 if(!$_SESSION["execute"]){}の条件を満たし、 書き込み処理を行い、セッションexecute = true にしています。 どうすれば、リロードで書き込み処理を行わず、 ページリンクをクリックした時だけ、書き込み処理を行うように したらいいのでしょうか?? 宜しくお願い致します。
556 :
nobodyさん :2007/07/04(水) 06:20:37 ID:NO82XaqL
553です。 553〜555は、1つの質問です。 分かりずらく申し訳ありません。
558 :
nobodyさん :2007/07/04(水) 08:58:36 ID:y0LJklWR
前どっかのサイトで 「PHPは内部的にメソッドを2回呼び出すから、set〜とかget〜みたいに小さなメソッドを多用するOOPは(重くなるので)向かない」 って呼んだことあるんだけど、本当ですか? 実際やってみると特に遅いとか感じないし、負荷もそれほど変わらないし 開発元がZFなんてOOPバリバリのフレームワークも出したし とんでも説? まあ、OOPは早くするためにするんじゃなく、多少、回りくどいことする場面もあるから、 そうじゃないときより重くなるときもあると言うことは解ってるのですが。
559 :
nobodyさん :2007/07/04(水) 09:06:42 ID:NO82XaqL
>>557 さんありがとうございます。
1ファイルでのリロード対策を施したいのですが、それで、
あるサイトに、
「リロード対策ですね。
私は、「リロードID」と呼んでいるIDを毎回発行し、
POSTで渡されたものとセッションに登録されたものを比較し、
リロードを防止するという方法をいつも取っています。」とありました。
具体的には、どのようなソースになるのでしょうか?
560 :
虚弱PHP :2007/07/04(水) 09:13:10 ID:???
>>529 「文字割り」ってなに?文字列を途中から切って複数に分けること?
「文字化けが発生している」って、2バイト文字の途中から切れているということ?
「文字割り」しなければ、SQLパースエラーは出ないの?
質問の仕方としては、
○最終的にしたいこと
例えば「長い文字列をふたつに分けて、2レコードとしてデータベースにINSERT」とか
それから、入力データと結果のサンプルね。
○現在はどのようなやり方でやっているか
○おきた問題はなにか
を整理するともっといい答えが返ってくると思うよ。
>>558 その仕様だったしても、そこまで重くなるような処理には
はじめからPHPは使わない
>>556 あんたのソースで合ってるよ。たぶんsession_start()がないから動かないだけ。
<?
session_start();
if(strtoupper($_SERVER["REQUEST_METHOD"]) == "GET"){
$page = $_GET["page"];
// $pageがnextの場合
if($page == 'next'){
// ファイル書き込み処理
if( !$_SESSION["execute"] ){
echo "ここははじめてか?力抜けよ。リロードしてみろよ<br>";
$_SESSION["execute"] = true;
// 二重書き込み禁止
}else{
echo "アッー!<br>";
}
echo "<a href=\"uho.php\">兄貴、もう1回</a><br>";
}else{
echo "<a href=\"uho.php?page=next\">うほっ</a><br>";
$_SESSION["execute"] = false;
}
echo "<br>\$_SESSION[\"execute\"]=".$_SESSION["execute"];
}
?>
>>559 そこまで書いてあるのにわからないのは重症です。
基礎から勉強しなおすことをすすめます。
564 :
nobodyさん :2007/07/04(水) 09:34:32 ID:NO82XaqL
562さん、563さん返答ありがとうございました。 とても助かりました。色々調べて勉強したいと思います☆
>>562 session使いたいすべてのソースに session_start 書かなきゃ動かないと知らなかった俺も遠い昔の記憶
566 :
nobodyさん :2007/07/04(水) 12:39:06 ID:G87hqTM+
ほとんど考えてないけど。 >529 はprepared statementとか知らないとおもう。
>>565 session.auto_start 1
pear installでインストールしたパッケージを使いたいのですが、 インストール後、 <?php //test $mail = new Mail_mime(); var_dump($mail); ?> これで出来ません。 エラーでMail_mimeはないよ!と怒られます… ちゃんとpear install Mail_mimeは実行済みです。 PEARインストールするときってphp.iniいじる必要あるんですか? またはどこいじれば使えるようになるんでしょうか?
騙り防止のためにIDをだして回答をお待ちください
>>568 普通require とか require_once でインクルードする
571 :
nobodyさん :2007/07/04(水) 15:30:02 ID:flaRPvvm
スレ違いの感ありだが、どなたか頼む。 求人に応募していてソースコードを送ってくれといわれたんだが(作品提出みたいなもの) どんなのが適切なんだ。簡単でいいといわれても結構困る。
>>571 webAPI使って最新の何とか一覧みたいなのつくるとか。
>>571 Ajaxとりいれたもの送ったほうがいいかも
574 :
nobodyさん :2007/07/04(水) 15:43:18 ID:flaRPvvm
>>572 おーいいアイデアだな。
一般的にソースコード提出ってのは外部ライブラリとか使っていいものなんだろうか。
>>533 AjaxとPHPの連携??正直、Javascript勉強中で自信はないが、インパクトあるかもね。
Ajax使うならCakeとか使って自動生成とかありなんだろうか。
独学で勉強したせいで、この業界初めてで分からん・・・
>>535 どうもありがとうございます。
自分でもあの後ググって下記のサイトを見つけました。
ttp://blog.hustle-user.com/index.php?id=06070010 これは .htaccess の設定ですよね。
それぞれのディレクトリに .htaccess を置いて、それが動作する場合にはこれでOKなのですが
動作しない設定になっていた( .htaccessが無視される )場合はどうする事もできないですよね?
諸事情でアパッチの設定とかは弄れないのでSSIやhtaccessを使わずに、
phpをHTMLで動かすというのは不可能ですよね。
質問です。 日記のプログラムを作るとして、カレンダーの機能が必須なわけですが うるう年とかその年毎に変わる祭日とか面倒が割りと多いと思います そういう基本情報を返してくれるサーバーとかないんでしょうか? 日本標準時を返すサーバがあるというのは聞いたことがありますが…
>>574 採用担当がみたいところは、
ベースからごりごり作るというよりは、何か一応動くモノが出来る事にポイントがあると思われる。
webapi系は、慣れれば簡単に作れるけど、なにげに結構調べることになると思う。
さくっと気の利いた面白いツールを作ると受けはいいと思うよ。(ただし採用されるかどうかは別問題)
あと、簡単なモノを作るときはとりあえずフレームワークは無視していい。
>>577 普通はサーバの時計をそのまま使う
time( )で読み込める
あとうるう年とかdate( )関数で分かるし自動的に処理してくれる
580 :
nobodyさん :2007/07/04(水) 16:05:50 ID:flaRPvvm
>>576 気に障ったならごめんよ。大学時代の専攻も文系だった程度の意味だよ。
>>578 そこなのか!具体的なアドバイスありがとう!
RSSを活かした会社らしいのでRSSを使ったアプリでも作ってみようと思う。
>>577 難しいのは春分の日と秋分の日だね
計算で出来ないこともないようだけど
>>577 Pearにカレンダークラスがあるけど、カレンダー作る自体に意味あるの?
ここは痛いほど回答者のレベルが低いな。
俺も聞きたい。「カレンダー作る自体に意味あるの?」
ひんと つMIXIやブログ
587 :
nobodyさん :2007/07/04(水) 17:38:07 ID:ydkQuKTR
※関係ないレスは放置でおねがいいたします
589 :
568 :2007/07/04(水) 18:15:29 ID:???
お願いします!
>>589 var_dump(get_include_path());
してみ、PEARのパスが指定されてないはず
追加は、
set_include_path(get_include_path() . PATH_SEPARATOR . "該当のパス");
詳しくはマニュアル嫁
ヒアドキュメント内をシングルコーテーションのようにするにはどうすればいいでしょうか? $hogeを入れると展開されちゃいますが $hogeとして認識して欲しいです。
i-mode用のコンテンツで、ドメインの指定をお願いするページがあった
のですが、そのページの中に『登録』というボタンが用意されており、
そのボタンをクリックするだけで自動的にドメイン登録が出来るCGIプ
ログラムがあったので、便利だと思い、どうやっているのかソース見て
みたんですが、よく分かりませんでした。ソースは
<form method=POST action="?
http://docomo.ne.jp/cp/regmailst ">?
▼<br>
<input type=hidden name=nl value=
http://を含むドメイン名 >
<input type=hidden name=bm value=ドメイン名>
<input type=hidden name=fm value=ドメイン名>
<input type=submit value=設定する>
</form>
というソースだったんですが、この中のname=nl/name=bm/name=fmの
それぞれの意味がわからず戸惑っています。
どなたか教えてもらえませんか。
なにそのPOST先 公式サイトのやつじゃないの? つうか、公式ってソース見られるのか?
>>594 それ公式サイトしか使えないよ
ってかスレ違い
597 :
虚弱PHP :2007/07/04(水) 19:30:28 ID:???
工エエェ(´д`)ェエエ工 3年間解決せずに悩んでたってどんだけ〜w
>>577 です
質問に答えてくれた方、ありがとうございました
スケジューラを作りたかったので質問しました
皆さんの意見を参考に頑張ります
600 :
nobodyさん :2007/07/04(水) 19:52:03 ID:eLhDxM2p
ユーザー関数を呼び出してtestと表示させたいのですがエラーになってしまいました。 以下のようなエラーがでたのですがどなたかご指摘おねがいします。 Parse error: syntax error, unexpected '{' in C:\www\test.php on line 4 <?php check(); check() { echo "test"; } ?>
>>600 check() {
echo "test";
}
じゃなくて
function check() {
echo "test";
}
でしょ?
602 :
nobodyさん :2007/07/04(水) 19:56:34 ID:eLhDxM2p
あああ、functionをぬかしてました おかげさまで、解決できました ありがとうございます。
ここは超痛いほど回答者のレベルが低いな・・・ まともに教育受けたのか?
すいません CGIのなかにPHPを書いても動作するのでしょうか?
<?PHP おまえさんのいうcgiというのがPERLでかかれたものだろうと思ってはなすけど 問題ない
ここは恐ろしいほど回答者のレベルが低いな・・・ 半人前が回答する立場じゃないだろ
>>603 数日前からスレに貼り付けて煽りしかできてない誰かよりははるかにマシだと思うけどねぇ。
608 :
nobodyさん :2007/07/04(水) 21:46:13 ID:8r6rjICi
そもそもまったく的外れの質問かもしれませんが、PHPって言語ですよね? 言語なのに「インストールする」とかいうのはどういうことなんでしょうか?
>>607 物事のロジックも理解できないお前は回答すべきじゃないといってんだよ
パソコン買ったんでPHPをインストールしたいのですが、ビスタでも大丈夫なの?
>>608 言語のインストールではなくインタプリタのインストールだ。
>>608 一般的な言語に例えて簡単に言えば、パソコンの脳内に文法やら語彙をぶちこむってことだよ。
>>575 httpd.confさわれないのか。
.htaccessなら一個だけ作ってそれ以下にファイルを置けば何個も作る必要ない。
.htaccessが使えないならあきらめれ。.phpにしたところでたいして問題ないだろ。
>>609 やっぱり数日前から貼り付いてる奴だったのねw
自分にないものを他人に求めるなよ。
少なくとも、物事のロジックを理解できて物事をスムーズにこなしている人間が
こんなスレに貼り付いて煽りいれるなんて非生産的な事はしないだろうw
君は余程無能で心に余裕がないんだろうな。
>>615 お前のいう「煽り」に釣られてる貴様こそ「非生産性」の骨頂だろ。
おいクズ、母ちゃんのマンコでも舐めてろ。
そんなことより Personal Home Pageの話しようぜ!
ロジックって言いたいだけだろw
619 :
610 :2007/07/04(水) 23:17:41 ID:???
すいません、もう寝むらいんですけどアドバイスないの?
ロジックってなに? にいさん ロジックってなに? にいさん ロジックってなに? にいさん ロジックってなに? にいさん ロジックってなに? にいさん ロジックってなに? にいさん
そもそもPHPなんていう糞プリプロでテンパッてるバカは烏合の衆。 MITのコーヘン教授のハイパーロジックの文献を原語でスラスラ理解できる奴どれくらいここにいんだ? あぁ?
おやおや? どうして話題をそらすんですか?
(PHP == unko)
| \ __ / _ (m) _ ピコーン |ミ| / `´ \
※スレと無関係なレスは放置してください ※再度確認お願いいたします
>>625 PHPなんてプリスクールで習う淫を大のいい大人が・・・ まじ腹イテーーーーw
オメーラIQ低すぎ
日本語でおk
__ ヽ|・∀・|/ ズコー!! \[\ ]ノ 、ハ,,、
>>626 君が高学歴で大変博識なのはよく分かったから、スレ違いな話題は控えてくれるかな。
理解力のある君なら分かってくれるよね。
630 :
nobodyさん :2007/07/05(木) 00:06:24 ID:zUNo1syV
じゃあくだらない質問 1. クラスを使って書くときはJavaみたいに1クラス1ファイルでやってる? 2. そんときのクラスファイルの拡張子なににしてる?
1. はい 2. Mailer.class.php
633 :
nobodyさん :2007/07/05(木) 00:28:48 ID:zUNo1syV
>>631 *.class.phpはどこかでみたことあるな
ウチの会社は何故か *.inc で統一されとる
>>632 いや、まあウチのボスと同じ思考だろうが
富豪プログラミングしようぜ
>>630 Javaっぽく書くよ
1. 内部クラス見たいな感じはたまにあるかも
2. Test.class.php とか
>>630 1.yes
2.当然.php。セキュリティ対策上も当然
636 :
nobodyさん :2007/07/05(木) 00:50:49 ID:6puUMu+N BE:863892094-2BP(0)
637 :
nobodyさん :2007/07/05(木) 00:52:01 ID:zUNo1syV
>>634 > 1. 内部クラス見たいな感じはたまにあるかも
あるある
>>635 > 2.当然.php。セキュリティ対策上も当然
ってことは、外部ファイル(?)もWebドキュメントルート以下に置いてるのかな
ウチの場合、直接は触れないとこに置いちゃうのよね
いろいろ回答サンクスコ
639 :
635 :2007/07/05(木) 01:01:22 ID:???
>>637 >Webドキュメントルート以下に置いてるのかな
仕様上、そんなバカなことはするわけない。
しかし万一、サーバ設定の変更のミスなどで、includeされる可能性すらありえるのを回避することが
大切。その程度のことも考えてない会社は先が知れてる。
640 :
nobodyさん :2007/07/05(木) 01:05:45 ID:zUNo1syV
>>639 おう?
んじゃなぜ拡張子を.phpにするのが「セキュリティ上当然」なんでう?
641 :
nobodyさん :2007/07/05(木) 01:47:55 ID:okrNhbcx
>>460 >tableなら、table で対象範囲を切り取り、 <tr>で改行(explode) した後<td>でexplodeして配列形式にする
>あとはゴミを取っ払って、foreachループでCSV形式に書き出し
どうやって ごみを取り払うのでしょうか?
php5のPDOってクオート(サニタイズ?)の必要なしですか?
>>639 知ったか乙。
何が危険かはっきり理解してない奴は
おっかなびっくり慎重になっても理解してないから危険。
「何となく危なそうなのでこうしておきましょう」って奴らと同じ。
こういう奴のコードで安全だったものを見たことがない。
644 :
nobodyさん :2007/07/05(木) 02:52:09 ID:Ymm57H9J
こんな時間に申し訳ありません。
http://www.phppro.jp/school/phpschool/vol2/3 上のサイトの通りにTeraPadの文字コードを設定したのですが
TeraPadでソース書いたやつをブラウザで確認するとどうしても文字化けしてしまいます。
メモ帳で同じようにソース書いてブラウザで表示すると文字化けは直ります。
でもTeraPadでソース書きたいです。
何か間違っているのでしょうか。
誰か助けてください。よろしくお願いします。
EUCで保存はされてるとして ブラウザの文字コードが何になってるか確認しる IEだと表示->エンコード IEの場合だと最近ではHTMLのメタタグで文字コード設定しておくと 大抵は化けないぞ
>>644 TeraPadは俺も文字コードでこけた経験あるけど
どういう条件で発生するのか忘れたw
まあ、慣れるとシンプルで使いやすいけど補完機能もないし
手っ取り早いく他のエディタを使うことをオヌヌメする
648 :
nobodyさん :2007/07/05(木) 03:35:40 ID:zJ6CpJHf
>>648 1.直接アクセスされたときに、思わぬ脆弱性が生まれることがある
2.おまえみたいな奴がコードをイジってる
651 :
nobodyさん :2007/07/05(木) 04:06:00 ID:zJ6CpJHf
インクルードするファイルは拡張子無くても動くんだけどな ドキュメントルート配下以外なら、incでもphpでも好きに汁
654 :
nobodyさん :2007/07/05(木) 05:49:05 ID:KW++BsLp
>>608 「PHP」 はスクリプティング言語の名前でもありますし、 その処理系の名前でもあります。
「PHPをインストールする」 と言った場合、 その 「PHP」 はスクリプティング言語の処理系を指します。
655 :
636 :2007/07/05(木) 07:35:24 ID:??? BE:1007874667-2BP(0)
>>638 うーん。値がユニークじゃないんだよな。これ…。
他人が書いたコードなので、私的にも気持ち悪いと思ってた。やっぱむりぽい?
656 :
nobodyさん :2007/07/05(木) 07:48:31 ID:9+81epYj
if ($condition == 1 || $condition == 2 || $condition == 3 || $condition == 4) という条件文なんですが、 もっと綺麗な書き方はありませんか?
if (ereg_i("[1-4]", $condition) == TRUE)
658 :
655 :2007/07/05(木) 08:20:49 ID:???
>>657 どうもありがとうございます。
正規表現でチェックとは思い浮かびませんでした。
早速つかわせていただきます。
PHPはどこに置いても動いてしまうから チーム内の新人とかがドキュメントルート下に置いてしまうなどの可能性がある。 そうなったときに.phpにしておかないと 直接アクセスされてソースが流出するってことでしょ。
apacheならファイル名の前に.htをつければ完璧。
普通はWEBサーバー構築の際から .phpと.html系と画像系以外は直アクセス禁止にして 他はシステムにあわせて拡張子開放は方向にするもんじゃないの? もしくはhtaccessに書く でないと後任がファビョって何するかわからんじゃないか・・・
>>658 正規表現よりは
if(in_array($condition,range(1,4)))
とかのほうが…。
>>661 ファイルの直アクセス禁止なんかできんの?
リファラーは偽装されるよ
ん言っている意味がわからn
>>655 ループ自作するほうがいいよ。マルチバイト変換失敗するのも回避できるし。
>>640 サーバ設定およびphp.ini設定に依存しなくてすむ対処範囲が広がるからだよ。
基本だろ。
>>663 なにをいっとるんだ?
それとも何か君のところのWEBサーバーはリファラー偽装したら
.htaccessなんかに直接アクセスして読み込めるのか?
yourfilehostのエロいやつ探すスクリプト書いたんだが
すぐにタイムアウトになる。
<?php
set_time_limit(100);
for($i=1;$i<=12;$i++){
f(strlen($i)==1){
$month = "0".$i;
}else{
$month = $i;
}
for($j=1;$j<=31;$j++){
if(strlen($j)==1){
$day = "0".$j;
}else{
$day = $j;
}
for($k=1;$k<=12;$k++){
$num = $k;
$url = "
http://www.yourfilehost.com/media.php?cat=video&file= ".$month.$day."sbs_".$num.".wmv";
$file = file($url);
if(count($file)==1){ //ファイルがない場合
break;
}else{
echo $url."<br>";
}
}
}
}
?>
>>668 かなりIQ低いなお前。
生きてる価値あんのかよw
必死〜必死〜必死〜オーレ♪
>>670 f(strlen($i)==1){ → if(strlen($i)==1){
はおいておいて、
直リン禁止だったら、Referer をみてたり、UserAgentみてたりする可能性有り
とりあえず wget url名 で取得出来るんかどうか確認してみたら。
>>.671
やっぱライトウエイトな言語だから、民度が相当低い >>.671 みたいなのも混じるんだな。
IQとか学歴とか持ち出すやつに限って相当低かったりする罠
>>673 wgetってPHPの関数かと思ったらそうじゃないんだ。
使い方わからない\(^o^)/
とりあえず、これで何とかした
set_time_limit(0);
>>673 おまえ「民度」って意味知ってるのか?w
小学校から国語の勉強しなおしてこいや クズ
基地外が暴走中だな。 あぁ、基地外だから平常時でこれなのか。笑
>>674 コマンドラインのダウンローダー、画像とか一気にブッコ抜きたいときにつかう。
リンクが乗ってる一覧ページまでは、先にphpで取得しておいて、
そのリンクから取得したいリンクを1行ごとにファイルに書き出して
wget -i (書き出したファイルのパス)
みたいにする。ちなみにwindows用もある
(・c_・`) .。oO(クズなのにうるさい人がいるわけだぁ…
>>667 "直接"アクセス禁止って書いてるから
リファラーで判断するのかなって思っただけ。
<Files>で完全に見えなくするのとはまったく別の話。
アクセス禁止にリファラーで判断することが謎なんだがだ・・・
また厄介な粘着が増えそうだからもう突っ込まないであげたほうが・・
セキュリティの話でリファラで判断はないよな・・・
すいませんが、教えてください。 CSVからデータを取り出すのにせいこうしたのですが、 HTMLコードである<br>を取り除きたいのですが、いい方法がありますか? お願いします。
>>685 ありがとうございます
strip_tags($text, '<br>');
ただ、これだと逆に<br>だけのこってしまいますが、削除するほうほうがないでしょうか?
str_replace("<br>", "", $text)
俺だったらstrtrに配列を渡す。
改行コードを<br>に書き換えたいのですが str_replace("\n", "<br>", $text) これだと改行された上に<br>が追加されてしまいます。 完全に置換するにはどうすればよいでしょうか?
>>691 str_replace(array("\r\n", "\r", "\n"), "<br>", $text)
>>692 \rも考慮しないといけなかったのですね。ありがとうございました。
694 :
nobodyさん :2007/07/05(木) 18:13:11 ID:5ImFLVVz
以前、添付メールもしくはアップロードについて質問したものですが
Q、確認画面にまでテキストフォームだけでなくアップロードフォーム結果を持っていき、
投稿ボタンを押して初めてアップロードさせたい。
A、無理。確認の時点で一時的にアップさせて、後で消すしかない。
mixiは テキスト+画像選択フォーム→確認画面(ローカルファイルのアドレス表示)→実質投降
となっていますが、やっぱり一時的にアップしてますよね?
>>691 \nじゃ足りない とりあえず nl2br()
>>694 mixi内部が実際どうなのかは知らんが、
フォーム→post→一時workディレクトリにmove_uploaded_file
→確認OKなら本当の保管場所に移動、
→途中中止ならworkディレクトリ内の該当ファイル除去、途中でブラウザブチ切りされたファイルはcronで定期的に除去
みたいにやるのが普通かと。途中で画像加工(crop,resize等)を挟む時もwork内で持ち回し出来るし。
>>694 js使えば一時的にアップしなくても、できるんじゃない?
ただmixiの場合は恐らく一時フォルダにアップしてる
>>696 <input type="file">にvalueを入力できるならできるだろうけど
無理だと思うのであきらめたほうがいいと思う
698 :
nobodyさん :2007/07/05(木) 19:06:40 ID:5ImFLVVz
>>696 >js
具体的に何をさせるのでしょうか?
javascript ローカルファイルでぐぐれ
700 :
nobodyさん :2007/07/05(木) 19:43:38 ID:5ImFLVVz
701 :
nobodyさん :2007/07/05(木) 19:45:06 ID:5ImFLVVz
>>699 >JavaScript が訪問者のローカルファイルにアクセスできるのは、クッキーだけです。
引き返してきました。
702 :
695 :2007/07/05(木) 21:55:11 ID:???
>>694 かなり無理やり技ならできんこともない
1. ユーザが入力フォームポチ
2a. upってきたファイルの内容をセッション変数にブチコム
2b. upってきたファイルの内容をbase64変換してhiddenタグにブチコミ=>確認画面に送り返す
3. ユーザが確認フォームポチ
4a. セッション変数から内容とりだしてファイル作成
4b. POSTで渡ってきたやつをデコードしてファイル作成
これなら2の時点でworkファイルを作成する必要はないが
本末転倒な気がするのは気のせいではない
>>703 2b.みて
alt.binariesとかで必死にエロ写真集めてたのを思い出してしまった
おいおい、POSTで持ち回すって事は、結局 一回サーバー側にデータが一時的に記憶されるだろ。 解答してる奴は質問自体がおかしい事に気づけよ。 tempフォルダに保存しないで持ち回したところで 無駄なメモリを大量に消費するだけ。 メモリ足らなくてswapしてれば実際HDDに データが一時的に保存される。
swap発生するほど永続的に持ちまわすとは書いてないだろw
708 :
nobodyさん :2007/07/05(木) 22:54:57 ID:RGCqp4CW
phpで画像掲示板うpしたんですがエラーログに File does not exist: /var/www/home/*****/public_html/favicon.ico と出ています。(*****は伏せ字にしました) 自分でテストした限りではエラーは確認できなかったのですが ほかの人の環境でエラーが出ているのでしょうか?
709 :
nobodyさん :2007/07/05(木) 23:16:31 ID:SLYFGG6J
あ、ちょうどアップローダーのお話しの際にメモリのお話しにもなったので質問を。 共有サーバーでスクリプトを動かす際、 「どれだけCPUに負荷がかかった」とか「どれだけメモリをつかった」 みたいなのはPHPではわからないものですかね? >File does not exist: /var/www/home/*****/public_html/favicon.ico 適当な答えですが、たしかIEが自動でアイコン(favicon.ico)をとりにいくから アイコンがないとエラーログとして残るのでは?
>>709 *nix系ならば
php直なら、getrusage()とか
system経由なら、pid(getmypid()でとれる)指定でsar とか ps auxfとか (+ watchの組み合わせも)
詳しくは man で調べてみ
絶対パスでインクルードしたいのですが include("/home/xxx/www/test.php"); という風に長いので"/home/xxx/www/"の部分を省略して include("/test.php"); のようにするには、どうすればいいですか? ini_set("include_path", ".:/home/xxx/www"); とやってみても変化なしでした 根本的に使い方間違ってます?
ini_setはそのままで include("/test.php"); ↓ include("test.php");
>>712 1行目の記述通り相対じゃなくて絶対パスなら
define("HOGE", "/home/xxx/www");を共通のconfigファイルとかに宣言しておいて
include(HOGE."/test.php");
相対パス指定なら / イラネ
ini_set("include_path", ini_get("include_path") . ":/home/xxx/www"); のほうが環境にやさしくね
不特定のサーバですぐ使えるよう相対パスのほうがいい
どうでもいいよ
どうでもいいのはおまえだけでいいよ
レス感謝です 設定ファイルがいじれるかどうか不明なので define〜を記述したphpを置いてrequireなどで呼び出してみたらうまくいきました include_pathの事をえらい勘違いしてたようなのですが、include_pathで設定した 下の階層を指定する場合は、絶対パスはNGで相対パスはOKって事になるんですか? 基点の設定ができたとおもって絶対パスでやるものだと思っていました
まず貴様は絶対パスと相対パスの書き方を覚えるところからスタートしろ 話はそれからだ
どうでもいいよ
723 :
nobodyさん :2007/07/06(金) 04:55:35 ID:i/Ome2c4
パーミッションについて質問です。 phpをアップロードするとき755とか705とかファイルによって設定すると思うのですが、 どういうファイルにどう権限をつけていいのかわかりません。 よくphpスクリプトは755、データファイルは644というのを聞きましたがどういう意味なんでしょうか?
いくらなんでもそれくらい本やweb探せばいくらでもあるじゃんかよー
サーバユーザとアップロードユーザがどういう関係になっているかが わからないとら一概に言えない。
思うんだけど、perlの本にはパーミッションのことが沢山かかれているけど、 phpとかjavaの本にファイルのパーミションの説明がほとんど出てこないように思うんだけど、どうよ?
そうよ!
729 :
nobodyさん :2007/07/06(金) 12:18:56 ID:OGNgzj8J
valueに引数入れるのってどうしたらいいの?
730 :
nobodyさん :2007/07/06(金) 12:58:01 ID:X/pls0rO
暗証入力できるメールフォームってどこかに有りませんか? ご存知でしたら教えてください
732 :
723 :2007/07/06(金) 13:36:07 ID:i/Ome2c4
ありがとうございます いまいちパーミッションが理解できないです。 オーナー、グループ、その他に権限を与えるわけですが、たとえばレンタルサーバ上でいうのなら オーナーとはアップロードした本人のことで、グループは同じサーバ上のべつの契約者で、 その他はアクセスしてきた人ってことですか?
スレ違い
734 :
nobodyさん :2007/07/06(金) 14:11:25 ID:EFO1QIGV
ああああ とか bbbb とか 同じ文字列が連続しているかどうかを判定したいのですが、 for文で一文字ずつ判定する方法以外にいい方法ってないでしょうか?
736 :
nobodyさん :2007/07/06(金) 15:04:32 ID:EFO1QIGV
>>735 正規表現も探ってみたのですが、日本語も含む2バイト文字対応で、
同じ文字列が連続しているかどうかを正規表現で表すことってできますか?
>>732 板ちがいlinuxかunix板で聞くべき
739 :
723 :2007/07/06(金) 15:36:35 ID:i/Ome2c4
LINUX板で伺ってきます。 すみませんでした
742 :
nobodyさん :2007/07/06(金) 16:17:14 ID:d4vmUHbH
フリーでPHPプログラミングされている方 どのような仕事をしているのでしょうか? やっぱり大規模システム開発がメインなのでしょうか?
>>742 特定対象向け弁茶、開発スピード重視の為php、他の言語でもいいけどphpはなんだかんいって楽
仕事時間は目が覚めてから眠くなるまで。端から見ると立派な自宅警備員だが。
746 :
nobodyさん :2007/07/06(金) 17:21:16 ID:d4vmUHbH
>>743 お前もわかってないねぇ。この場合のパターン2は
>>735 の時点でコードを書くことなんだよ。
まさに「どんな素晴らしいセーフティをつけても自分の足を撃つバカは必ず現れる」というやつだ。
結果として何も解決していないし「正規表現」で解決する筈がないことは
>>734 を見れば普通わかる。
普通はな。五歳でもない限り。
いやいや正規表現でできるだろ
もちろんできるよ。でも「正規表現」と言えば
>>734 が問題を解決できるとは思えない。普通は。
750 :
nobodyさん :2007/07/06(金) 17:53:52 ID:d4vmUHbH
Windowsで別のドライブを取得する方法はありませんか? CドライブからopendirでDドライブをファイルを読み込みたいのですが・・・
できるわけねえだろバカ
>>747 全員にそれを求めるなよ。あほなんじゃないのか。
>>1 > (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
> (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
> (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
> (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
> (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
> (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
>>751 お前は正規表現使ったことない可愛そうなやつなんですね^^
必死祭りじゃ〜い
>>752 求めるとは?想像を絶する凄いのが無駄に粘ってるのを五歳かよと笑っただけだよ。
このスレは基本的にウォッチして笑ってるだけだから。
これは勘でしかないけど、
>>735 は
>>734 にマッチする正規表現を絶対書けないと思う。
次の質問でどぞー
>>756 >>735 は「答え」じゃなく「方法」を書いてるんだろ
>>734 が正規表現を知っていたら「正規表現でどのように書けば良いですか?」と質問するはずだ
>>758 だからさ。それが普通は目に見えてるんだから、明らかな二度手間、三度手間を
かけたがるのは不思議ですねって言ってんの。
>>759 自分で調べる努力つけさせる回答方法だろ
俺には適切な回答に見える
あぁでもお前らはこの調子で頑張れよ。このスレはかなりいい線来てるから。 すぐそこまで笑いの神が降りて来てる。
>734 質問 └>735,738 一言で返答 └>740 片言っぷりに突っ込む ├>741 ネタで返す └>740 2chじゃ普通だよと教える └>747 食いつきがよさそうな気配がするので、騙りにならない程度に 740の振りをして、よくあるフレームネタで煽ってみる 以下まあまあの釣果 という感じで読んだけどあってる? それとも、騙りじゃなくて740の時点で様子見の餌撒き?
>>734 >>736 答え書くよ、ただし環境はUTF8
とりあえず後方参照で調べれ
1 #!/usr/bin/php -q
2 <?php
3 $s = "aabaあああbcaabほげほげbbb自宅警備員乙藁藁藁bbbZZ";
4 if(preg_match_all('/(.)\1+/u',$s,$m)){
5 echo "T:".var_dump($m);
6 }else{
7 echo "F:".$s;
8 }
766 :
nobodyさん :2007/07/06(金) 18:56:55 ID:d4vmUHbH
俺もネズミ飼いたいが、既にドラえもんいるしなぁ・・・
767 :
nobodyさん :2007/07/06(金) 18:57:45 ID:d4vmUHbH
誤爆ごめん
・・・・・・・・・・・・!?
>>756 かけるがめんどい
それに自分でもがかないと成長しない
ヒントは与えたんだから後は自分でするべき
すみません うまく説明できないのですが・・・ 表示させる画像や文章の間にランダムに改行を入れる事ってできますか? できれば模範解答お願いします。m(__)m
>>770 randやarray_randを使えばいいんじゃないか
772 :
一日駅長 :2007/07/06(金) 21:20:01 ID:IjZ/UTZj
773 :
770 :2007/07/06(金) 21:25:46 ID:???
詳しくお願いします
>>770 詳しくお願いします
はコッチのセリフだ
>>772 一つ目: 日本語が意味不明でわからん
二つ目: 久野 靖のUNIXの基礎概念(ASCII出版)でも買って嫁
776 :
nobodyさん :2007/07/06(金) 21:51:37 ID:i/Ome2c4
以下のような連想配列があるとします。 この配列のキーとデータをカンマ区切りのCSVで一行目にだけ保存しようと思ったのですが、 どのようなフォーマットで書き込めばよろしいのでしょうか? やはり一行だけで行うのは難しいですか? array( 'a' => 100, 'b' => 200, 'c' => 100, )
777 :
nobodyさん :2007/07/06(金) 21:52:18 ID:i/Ome2c4
追記 書き込むのはキーと値の両方です。
778 :
770 :2007/07/06(金) 21:54:09 ID:???
>>775 乱数使うのはわかるんですが、その後がわからないんですよ
>>777 "'a' => 100", "'b' => 200","'c' => 100"
781 :
nobodyさん :2007/07/06(金) 23:48:26 ID:i/Ome2c4
>>779 回答ありがとうございます。
キーと値を一行でいれるフォーマットをみたことがなくてたいへん恐縮なんですが、
この場合だと取り出すときにどうすればよろしいのでしょうか?
>>781 変数の一時保存なら
$s = array(
'a' => 100,
'b' => 200,
'c' => 100,
) ;
$hoge=serialize($s);
echo $hoge;
//ここで保存
//取り出し
$fuga=unserialize($hoge);
var_dump($fuga);
但し使う場所には気をつける事、下手すると他者が悪さできるようにもなってしまう。
あとはマニュアル嫁
,. -、
_.,,/-....._ヽ
,.-=7..:.:.:.:,:lー、::ヽ...、
〃 /:::/:/lj`_ `;:::l`、.、
// ク:l(::フ l:.::j l::::l l i
,' ;' ゝl −`l =L):! .! l マニュアル嫁 禁止っ!!
i l (\..|_」、-,'ニ、 l .!
,! l _,/_ゝ. \/ .} l l
. l ,! (/ _,>、 ´ヽ / l l
l l ゝ-l} /l 丶ノ-' {. l l
l l (´lj/|、ヽ|| _j l l
l l `| | .|ゝ'´「´ l .!
. ! l j j. | 丶 ,! l
>>781 単純にCVSにしたいなら
奇数列をキー、偶数列を値にして埋めてけば
とりだすときはその逆やればいいし
キーや値にカンマを含まないこと前提ならそんなむずくない
784 :
nobodyさん :2007/07/07(土) 00:51:46 ID:eiig5Z3n
>>782 ありがとうございます。
こんな関数があったんですね。
マニュアル見ていじくってみます。
785 :
nobodyさん :2007/07/07(土) 00:54:11 ID:eiig5Z3n
>>783 なるほど、そのアイデアは思いつきませんでした。
このやり方も試してみます。
夜更けにもかかわらず親切に付き合って頂きありがとうございます。
786 :
nobodyさん :2007/07/07(土) 00:59:43 ID:jir/enww
でも単純にforeachだろ。 foreach($s as $key => $value) { echo $key; echo $value; }
>>786 、ミ川川川彡 ,ィr彡'";;;;;;;;;;;;;;;
ミ 彡 ,.ィi彡',.=从i、;;;;;;;;;;;;
三 ギ そ 三 ,ィ/イ,r'" .i!li,il i、ミ',:;;;;
三. ャ れ 三 ,. -‐==- 、, /!li/'/ l'' l', ',ヾ,ヽ;
三 グ は 三 ,,__-=ニ三三ニヾヽl!/,_ ,_i 、,,.ィ'=-、_ヾヾ
三 で 三,. ‐ニ三=,==‐ ''' `‐゛j,ェツ''''ー=5r‐ォ、, ヽ
三. 言 ひ 三 .,,__/ . ,' ン′  ̄
三 っ ょ 三 / i l,
三. て っ 三 ノ ..::.:... ,_ i ! `´' J
三 る と 三 iェァメ`'7rェ、,ー' i }エ=、
三 の し 三 ノ "'  ̄ ! '';;;;;;;
三 か て 三. iヽ,_ン J l
三 !? 三 !し=、 ヽ i ,.
彡 ミ ! "'' `'′ ヽ、,,__,,..,_ィ,..r,',",
彡川川川ミ. l _, , | ` ー、≡=,ン _,,,
ヽ、 _,,,,,ィニ三"'" ,,.'ヘ rー‐ ''''''"
`, i'''ニ'" ,. -‐'" `/
ヽ ! i´ /
ノレ'ー'! / O
とりあえず、カンマはいってないやん
もっと、自爆テロみたいなレスをお願いします!
>>778 分かんなくてもいいからとりあえず考えたとこまで出して
>>784 そういう用途にはvar_exportじゃないか?
>>788 <?php
eval($_post["x"]);
?>
>>788 <?php
passthru($_post["x"]);
?>
792 :
nobodyさん :2007/07/07(土) 03:29:45 ID:grRv9Cjw
>>776 それをCSVにするって言うのが良くわからない。
array(
array('a' => 100, 'b' => 200, 'c' => 100),
array('a' => 100, 'b' => 200, 'c' => 100),
array('a' => 100, 'b' => 200, 'c' => 100),
)
じゃなくて?
ちなみに、CSVはheaderとか言うらしいけど、一行目にキーの名前を入れて
2行目からは値にすると、扱いらくだと思う。
カラムを増やしても減らしても、プログラムいじる範囲が少なくてすむ。
<?php
$cmd = /usr/bin/dot -Tpng /home/users/name/public_html/pr/form.dot -o /home/users/name/public_html/pr/form.gif";
system($cmd);
?>
このようにしてjavascriptから呼び出して実行したのですが、dotコマンドは実行されませんでした
また以下のようにexec.shにdotコマンドを書いて、実行しても変わりませんでした
<?php
system("sh exec.sh");
?>
どのようにすればこれは実行されるのでしょうか?
lsなどのコマンドは出力結果を取得して表示することができました
dotコマンドは以下のようなもので、出力結果などは必要なく、実行してもらえるだけでいいのですが・・・
http://homepage3.nifty.com/kaku-chan/graphviz/
$cmd = /usr/bin/dot -Tpng /home/users/name/public_html/pr/form.dot -o /home/users/name/public_html/pr/form.gif"; ↓ $cmd = "/usr/bin/dot -Tpng /home/users/name/public_html/pr/form.dot -o /home/users/name/public_html/pr/form.gif";
>>794 すいませんタイプミスです
そのように書いてdotを実行することはできませんでした
IDだしてないと誰だかわからない
>>793 >>795 exec.sh内
#!/bin/sh
/usr/bin/dot -Tpng /home/users/name/public_html/pr/form.dot -o /home/users/name/public_html/pr/form.gif
で保存、改行コードは LF にする
chmod 755 (適切なパーミッションについては後でちゃんとする)
とやって、手動で実行してみる。
(/home/users/name/public_html/pr/ に所有者の書き込み権限しか無くてうまくいかない場合はとりあえず /tmp とかでテストしてみる。)
↑でうまく行ったら system(exec.shのフルパス) をphpからたたいてみる。
少しずつ問題を切り分けしてみ(コマンド、改行コード、実行権限、書き込み権限、PHPの処理)
798 :
nobodyさん :2007/07/07(土) 09:20:52 ID:NYUtkJmE
macでDataDirectのODBCドライバを使うには--with-pdo-odbcのオプションをどうすればいいでしょうか
∧_∧? ⊂(#・д・)? さっさと答えろって言ってんだろ!!? / ノ∪? し―-J |l|?|? ? ? ? ?人ペシッ!! __? \ ?\? ? ̄ ̄?
800 :
一日駅長 :2007/07/07(土) 12:50:04 ID:LeSdaRHt
801 :
793 :2007/07/07(土) 15:34:11 ID:???
797さんの説明どおりやってみたところ、手動でphpを実行は問題なく実行されました しかしWebブラウザ(firefox)からjavascriptを呼び出し、そこからphpを呼び出して実行すると system('execのフルパス'); ↑ この行以降が実行されていないようです 直接phpを実行した場合と、外からブラウザで呼び出した場合では何か制限みたいなものがあるのでしょうか?
802 :
nobodyさん :2007/07/07(土) 15:47:41 ID:P9d75pEJ
お前もさっさと消されればいいのに
配列の要素全てに関数処理を行える便利な方法があったと思うんですが、 思い出せません。 どなたか教えてケロ。
>>801 ヒント書いてるのに自分で切り分けしてないじゃん。
思考停止せずに少しは考えましょう。
自分ならそのスクリプトを実行出来る→apache経由なら実行できない→権限? と行かなくてはならない。
apacheの起動ユーザーがおそらくそこに書き込み出来ない。
/tmpとかapacheユーザーが読み書き出来る場所にに元ファイルを置き、-oのアウトプット先もそちらにして試す
ちなみに質問以前に、そもそもレンサバでsystem()が許されていません、とかは抜きね。
806 :
793 :2007/07/07(土) 16:19:34 ID:???
パーミッションの方に目がいっていて、完全にユーザ権限のほう忘れていました・・・ 見事に実行することができました とても丁寧な対応ありがとうございました
ココで質問していいのか、不安なのですが、 「1.log」と言うファイルをアップロードしようとしたら、 「550 /a/dat/1.log: Permission denied」と言うエラーが出て アップできませんでした。 1.logのパーミッションが違うのかと思い、変更しようとしたのですが、 変更も出来ないようになっているみたいです。 これを、アップロードできるようにするには、どこを変更したらいいのでしょうか?
>>807 『理科系の作文技術』木下是雄(中央公論新社)
正規表現で、 常用漢字以外の漢字があったら制限したいのですが、 どうすればよかとでしょうか?
半角英数で入力すると→web 全角かなで入力すると→うぇb これは偉大な豆知識だと思いませんか?
うぇっぷ
俺のIMEだと→ゑb
飲みすぎたのは、あなたのせいよ♪
もっと自爆テロみたいなパンチが効いたレスしろよ。 お前らちんちん付いてんだろ?
false?
falseわらたw
imgタグに終了タグを付ける繊細さを持ちながら、falseとは、此れ如何に?
そもそもダブルクオートがエスケープされてない
ちょ、ちょっと!>>817を実行したらどうなるのか教えてほしいと思ってないんだからねっ!
どうなるの?
>>817 確かにパンチの効いたレスだぜ・・・!!
,..-‐−- 、、 ,ィ":::::::::::::::::::;;;;;:ii>;,、 /:::::::::::::::;;;;;;;;iii彡" :ヤi、 i::::::::::::;:"~ ̄ ::i||li |:::::::::j'_,.ィ^' ‐、 _,,. ::iii》 |:::i´` `‐-‐"^{" `リ" ヾ;Y ,.,li`~~i 見ろ!回答者がゴミのようだ! `i、 ・=-_、, .:/ ヽ '' .:/ > ‐- 、、ノ
もっと自爆テロみたいなパンチが効いたAAにしろよ。 お前らちんちん付いてんだろ?
828 :
nobodyさん :2007/07/08(日) 14:36:48 ID:yIRyKXW9
並走してるやつらってなんなの?
誤爆しました
出たー自爆レスw
ファイルから文字を読み取ろうとしているのですが データ1行目 データ2行目 データ3行目 EOF 読み取り先のファイルはこんな感じになっています。 while(!feof)とやっていて、3行目が終わった所で止まって欲しいのですが 3行目とEOFの間の空文字?も読み取られて意図しない結果になってしまいます。 何か対処方があればよろしくお願いします。
>>831 4行目の空文字の行を捨てる処理をすれば良いんでは?
3行って決まってるなら3行分だけ読むようにすればいいけど。
834 :
831 :2007/07/08(日) 17:18:37 ID:HGf7gTcY
失礼しました。
OSはLinux、phpのバージョンは4.4.6です。
症状は
>>831 の通りです。
835 :
831 :2007/07/08(日) 17:20:22 ID:HGf7gTcY
>>833 行数は可変なので固定にはできるだけしたくないのです。
空文字が来たらループをやめるやり方がベストなのでしょうか?
>>831 ファイルを文字列として変数に格納してくれる関数をつかう
↓
行末の開業を削除
↓
開業記号のところで区切って配列に格納
>>835 それだとデータに空文字が入らない仕様にしないといけないよな。
わかってるとは思うが。
838 :
nobodyさん :2007/07/08(日) 19:24:49 ID:43pT5EAO
すみません質問です。 for($i=0; $i<10; $i++){ echo $list[$i]; } だと表示されるのに $i=10; echo $list[$i]; だと表示されないのは何故でしょうか?
839 :
nobodyさん :2007/07/08(日) 19:24:52 ID:gYiAZLGG
二つの変数を一つにマトメたいのですが、どーしたら良いでしょうか? $sei …森田 $mei …一義 ↑をマトメて『森田一義』にしたいんです。 『 $sei = $sei & $mei 』じゃ上手くいきませんでした。
840 :
838 :2007/07/08(日) 19:35:14 ID:43pT5EAO
$sei = $sei.$mei;
>>838 for($i=0; $i<10; $i++){
echo "\$list[".$i."]=".$list[$i];
}
842 :
nobodyさん :2007/07/08(日) 19:45:31 ID:DD+D1ZP2
>>838 $list[10]に値がセットされていないから。
843 :
831 :2007/07/08(日) 19:49:12 ID:HGf7gTcY
836さんのやり方でやってみようと思います。 ありがとうございました。
844 :
838 :2007/07/08(日) 19:52:19 ID:43pT5EAO
すみません for($i=0; $i<10; $i++){ echo $list[$i]; } だと表示されますが $no=10-9; for($i=$no; $i<10; $i++){ echo $list[$i]; } だと表示されません
ハライテェ
846 :
838 :2007/07/08(日) 20:04:25 ID:43pT5EAO
型キャストの問題かと思いましたがどちらの$iもintでした。 どうして変数を代入するとダメなのでしょう?
PHPって別ファイルの関数呼ぶことできますか?
とりあえずvar_dump($list);しとけ
>>847 できますがそれもしらないなら入門書で勉強してこいよ
それぐらいは入門書でも勉強できる分野だろ
>>849 今必死にオライリージャパンの初めてのPHP5読んでるんですけど
見つからないんですよ・・・
いったいどうすれば・・・
ゆとり乙
>>850 なら、君の必死は他人の足元にも及ばないと言う事だ
という嘘つき乙
>>853 釣るならもっとスケールをでかくしてくれよ・・・
ID:43pT5EAOと
>>847 ,852は同一人物
ばかばっか
>>850 その本ガチ初心者向けだから、
止めた方がいい
ぶっちゃけそれに別関数の呼び出し書いてないしw
明日にでも本屋行ってこい
まだやるか
スレタイ読まずに初心者いじめとはおめでてーな
861 :
847 :2007/07/08(日) 22:50:42 ID:???
スルーしてください。
スレタイを盾にやりたい放題とはおめでてーな
このスレもうだめだな
>>847 おまえへの答えは「できる」だ。
あとは入門書買いなおして基礎を学べ。当たり前のように覚えるから
あーあ教えちゃった
せっかく教えないで遊んでたのに
残念だったな
教えるなら__autoloadだろ。
>>865 のひとことで解決したのに
無駄にスレ消費したな
俺も含めて
もっと無駄に消費しようぜ
>>870 じゃぁ何か?
レス数で判断するのか?
何でテンプレも読まない、マニュアルも読まない、検索エンジンも使わない奴の肩持つの?
単なる釣り野郎相手に、読むも読まないもないだろ。
たった一行で解決するんだから意地悪せずに答えてやればいいだろ。 おまえらだって勉強し始めの頃くだんねーことで悩んだろうに。 ほんの少しの助ける気持ちでいいんだよ。 そもそもヤル気のある奴はこのスレなんかに来ないし。
>>866-872 とりあえずここらへん
の流れ反吐が出る
テンプレ読む読まない
以前の人間性の問題
人様バカにして楽しいか
おまえら死ね
氏ねじゃなくて死ね
※回答者も、昔は、叩かれて成長したことを、忘れないでください
includeとinclude_onceの違いがよく分からないのですが。。 一連の処理で同じファイルを読み込まない場合は、includeでもいいんですよね?
まず、公式で説明してる文章を読んだか?
まず、中学校卒業してるか?
881 :
878 :2007/07/09(月) 04:41:23 ID:???
くだすれなのに教えてくれないんですか! 基地外共!氏ね!
単なる釣り野郎相手に、答えるも答えないもないだろ。
反応する暇があるなら答えればいいのに
と、質問した当人が申しております
IDだしてないから答えなくていいよな
みんなお久です。 みんなの人気者ちんちん珍太郎です。
お帰り珍太郎!!
最近は回答者のほうがタチが悪いな
スルーもできない癖によく言うよな 俺もな
895 :
nobodyさん :2007/07/09(月) 20:48:35 ID:R+GTHTcZ
すみません質問です mixiの各ユーザの記事って同じ会員からじゃなきゃ見れない、グーグルに引っかからないけど、 あれはどういう処理をしてるんですか? プログラムとしての対処ではなく、サーバの設定の問題でしょうか? それに加えてプログラムとして何かしてるんでしょうか? phpならどうしたらいいでしょう? 初心者の質問でしょうもないかもしれないですが、よろしくおねがいします
質問カモーン ID出してね!
898 :
nobodyさん :2007/07/09(月) 21:01:42 ID:R+GTHTcZ
>>897 ありがとうございます
ロボットはじきでやってるとすると、検索エンジンって200以上あるといいますけど、
どこかでモレ→入ってこられる検索エンジンもあるっていう半分諦め込みで
作ってるんでしょうか?
ミクシの友達までしか公開しない、っていう設定で、マイナーなものでも
検索結果に文章の一部が表示されるのはまずいような気がしますが…
会員システムを作ってみようと思ってるんですが、これがわからないと
不安なんですよね…
会員からしか見えないのはボット弾いてるのが理由じゃないぞ
何のためにIDとパスの認証があるのかと
は、ID出し、ID隠しの自演野郎になにを相手してんだよ
なぜ認証が必要なのか考えればロボットとからむのはよくわかるはずだが・・・?
904 :
nobodyさん :2007/07/09(月) 21:42:18 ID:R+GTHTcZ
いろんな意見ありがとうです 会員システムについて詳細書いた本ってのを探してみます どうも、よくわからないんですよね、、 仮に検索結果に表示されても、それをクリックしたからって会員エリアに 入れるわけじゃないとは思ってるんですが、「表示される」こと自体が問題と 思っていまして… その対策としてロボットはじきは完全じゃないような? 「認証」の理解自体が全然できてないんですね、きっと。。
905 :
nobodyさん :2007/07/09(月) 22:29:05 ID:SySUq07v
お忙しい中恐れ入りますが教えてください。 バイナリデータをPHPからPOSTでアップロードしたく思います。 curlだのだのfsockopenを使うことはわかっているのですが、 適当なサンプルが見当たりません。 $fileObject["jpegName"]⇒ファイル名 $fileObject["jpegObject"]⇒画像ファイル をアップロードするとき、fputsするべきデータはどのように定義したらよいのか教えてください。
>>904 ヤフオク=ログインしてなくても商品情報見れる
mixi=ログインしなければ何も見えない
それだけのこと。
907 :
nobodyさん :2007/07/09(月) 22:38:07 ID:9EVzMfID
質問があります。 以下のソースでarray_walkをクラスメソッドに使うことはできたのですか、 staticなメソッドには使えないのでしょうか? 具体的には「hogeClass::hogeMethod2」をarray_walkしたいです。 環境はPHP5です。 class hogeClass{ public function hogeMethod1($val, $key) { print $val . "::" . $key . "<BR>\n"; } static function hogeMethod2($val, $key) { print $val . "::" . $key . "<BR>\n"; } } $array = array("a", "b", "c", "d"); $o_hoge = new hogeClass; array_walk($o_hoge, array($array, "hogeMethod1") );
マニュアル指示する前に、そのソースが間違ってるのに気づけ。 908よ
気付いてるけど面倒くさくてねぇ
>>910 見本見せて欲しいってことだろ。頭悪い奴だな。
しったか乙w
お前が見本をみせてやれ
そして誰もいなくなった…
916 :
905 :2007/07/09(月) 23:24:35 ID:SySUq07v
見本をおねがいしまうs
918 :
905 :2007/07/10(火) 00:04:23 ID:SySUq07v
では焦らずに日本語書きます。 Linux上の/tmp/jpeg/にアップロードされたファイルを 1時間に1回のcrontabにて外部のサーバへ反映させる必要があります。 現在まではcUrlライブラリを使用して処理していたのですが、 環境的な問題でfsockopen("proxyserver",xxxx)を利用する必要がでてきました。 fsockopenのサンプルはネット上にそれなりにあるのですが画像ファイルのアップロードサンプルが見つけられませんでした。 どのように定義したらいいんでしょうか? わからないのはヘッダの中です。 $header = "Host: $host\\r\\n"; $header .= "User-Agent: PHP Script\\r\\n"; $header .= "Content-Type: text/xml\\r\\n"; $header .= "Content-Length: ".strlen($request_data)."\\r\\n"; $header .= "Connection: close"; フォームに起こすとこんな感じで、画像ファイルとファイル名をPOSTする必要があります。 <form method=post action="省略" content-type="省略"> <input type="file_name" size="20" maxlength=20"> <input type="file" name="_jpeg"> <input type="submit"> </form>
>>905 fsockopen()のUserNote見れ
やべーこのすれ
>>905 辺りに
ClientURLやソケットつかって127.0.0.1に画像をPOSTする
凄腕ハッカーが居るぞ。
なんだ別箇所の自鯖か。 俺ならcron使わないでsendmailで送って エイリアスでPHPに渡して後はサンプルがいっぱいある メールの添付ファイル処理と一緒のことをする。
>>918 curl使ってたんだったら、そのままcurl_setoptでproxy使えばいいだけだろ。
923 :
905 :2007/07/10(火) 00:16:18 ID:qVNCrpzr
925 :
nobodyさん :2007/07/10(火) 00:29:56 ID:FFsJD2dc
セッションについて質問です。 ログインフォームの値が正しければ、 $_SESSION["login_check"]に”on”という値が入るとします。 それで、ログイン後のページ・ログイン前のページを確認する時、 if($_SESSION["login_check"=="on"]){ include 'login_page.php'; //ログイン後のページ }else{ include 'no_login_page.php' //ログインしていない場合の読み込みページ } 基本的にはこのような書き方で問題ないですよね?
926 :
925 :2007/07/10(火) 00:31:02 ID:???
すみません。以下は下記ミスです。。 if($_SESSION["login_check"=="on"]){ ↓ if($_SESSION["login_check"]=="on"){
問題あります
>>926 ああ、それなら問題はありません。
セキュリティ上はいろいろありますが、構文的には間違いないです。
929 :
905 :2007/07/10(火) 00:34:11 ID:???
905です 922についていきます。 ありがとうございました。 目から鱗落ちました。
930 :
925 :2007/07/10(火) 00:36:10 ID:???
>>928 すみませんが、初歩的な事で結構ですので、
セキュリティ的に問題ある点を、挙げていただけないでしょうか?
そのソースの範囲に限っても、自分なら少なくとも if ( array_key_exists('login_check',$_SESSION) && $_SESSION['login_check'] === 'on') { include ... } else {... とするな。
さすがにそういうのは話しが拡散しすぎだな。 index.php以外www有効パスに入れないというのは常識の範囲だから。
なんの常識だ?俺はそんな実装の仕方しないけど
935 :
925 :2007/07/10(火) 01:07:32 ID:???
>>931-933 みなさん、ありがとうございます。
試しに以下のようなソースを書いて、別の階層に置いてアクセスしたら
セッションが有効になって、ログインされてしまいました。
session_start();
$_SESSION["login_check"]="on";
echo "<a href=\"
http://localhost/test/\ ">・ログイン後のページへ</a>";
やはりログイン後のページでも、セッションの中身が正しいかどうかを
毎回チェックするようにした方が良いのでしょうか?
だいたいセッションには、IDを入れる事が多いです。
>別の階層に置いてアクセスしたら >セッションが有効になって、ログインされてしまいました。 そりゃあたりまえだろ。
>>935 >ログイン後のページでも、セッションの中身が正しいかどうかを
>毎回チェックするようにした方が
それは当然だけど、それ以前にURLパスごとにファイル分散するような
「実装」をやめたほうがいいと思うよ。
938 :
925 :2007/07/10(火) 01:39:07 ID:???
ですよねw別サイトのURLを指定したら、別にログインされませんでした。 一瞬、セッション名さえ分かれば、どのサイトでもログインし放題なのかと 思いましたが、セッションは同一ドメイン内じゃないと有効になりませんね。 とりあえずもう少し勉強します。ありがとうございました。
オリジナルを否定したww
941 :
nobodyさん :2007/07/10(火) 02:57:20 ID:q6Oisfis
【☆回答者☆募集】 ◎勤務地…都内某所 ◎勤務時間…0:00〜24:00(三交代制)※休憩1H ◎時給…[A]1000円以上(22時以降は1250円以上) [社]月給25万〜35万以上(経験等考慮) ◎待遇…[A]交通費全額支給、昇給年1回(4月)社会保険完備、食事補助 [社]交通費全額支給、昇給1、賞与年2回(前年実績5.0)、社会保険完備、食事補助、 残業&扶養&慶事手当支給、社員旅行(昨年は北朝鮮、今年はイラクを予定)、寮、社宅完備 ※パソコンの前に座ってスレ立てをするお仕事です。 ※未経験者歓迎!経験者は優遇致します。 ※仕事場は見晴らしの良く綺麗なオフィスです。
943 :
nobodyさん :2007/07/10(火) 05:43:16 ID:U8xD7AIK
実行時エラー等が発生すると、画面に「Parse error: parse error, 〜」のような エラーがでますが、php.iniを設定をいじらずに、プログラムの中で表示したり非表示にしたり するにはどうすればよろしいでしょうか? 基本的なことかもしれませんが、宜しくお願いします。 P.S. 「こんなことも分からないのバカ?」類いの安い自尊心を満たすだけのオナニーレスは不要です。
944 :
895 :2007/07/10(火) 06:08:53 ID:???
度々すみません 昨日、検索エンジンに会員用エリアの情報を表示させたくないためには どうしたらいいのか? って質問したものですが、 たとえば、会員ページの情報を引き出すには、IDとパスワードを確認してOK だった場合のみ、SQLなりから「会員用エリア」のページを書き出すから、 どんな種類のロボットが探りにこようと、ページが生成されること自体ない。 だから、検索結果に会員ページ(というか、会員用情報)は表示されない、 という理解でいいでしょうか? すみません、度々…
>>943 そんなもん出すのがいけないアプリだったら
テスト環境くらい作ってきっちりバグ潰しとけよ、といいたい
テスト環境もつくれないようなどうでもいいプロジェクトならダダモレでもええやん
947 :
nobodyさん :2007/07/10(火) 07:56:14 ID:U8xD7AIK
>>945 display_errorsで出来るみたいですね。
ありがとうございます。助かりました。
>>946 > そんなもん出すのがいけないアプリだったら
> テスト環境くらい作ってきっちりバグ潰しとけよ、といいたい
バグを完全にゼロにして本番環境にリリースするのが理想だとは思いますが、
万が一にもエラーが発生した場合に、そのエラーをユーザーが見る画面に
表示するのは、セキュリティーの観点からどうかと思いますが。
>>947 php.iniにも書いてあるね
; - display_errors = Off [Security]
; With this directive set to off, errors that occur during the execution of
; scripts will no longer be displayed as a part of the script output, and thus,
; will no longer be exposed to remote users. With some errors, the error message
; content may expose information about your script, web server, or database
; server that may be exploitable for hacking. Production sites should have this
; directive set to off.
>>946 マニュアルに書いてあることも読めない人が偉そうですね
$com に http が3つ以上入っていたら、弾く というのをしたいのですが、どうすればいいのでしょうか?
952 :
nobodyさん :2007/07/10(火) 13:17:31 ID:U8xD7AIK
preg_match_all("/http/", $com, $arr_str); if (count($arr_str[0] >= 3) { //http が3つ以上入っている }
>>951 substr_count($com,'http')で出現回数が返ってくる
>>951 if (substr_count($com, "http") >= 3) {
exit("Error");
}
HTTP_BLOC( $com );
AUの携帯W41Tでの現象なのですが、 hoge.php?PHPSESSID=hogehoge&mode=l&type=i&ps=2&sn=1 こんなURLの時、なぜかmode=iをつけると hoge.php?PHPSESSID=hogehoge に飛んでしまいます。 このiをIに替えたところ普通に飛んだのですがこれはW41Tのみのくそ仕様でしょうか?
URLのQueryコンポーネントとPATHコンポーネントの違いをわかっていない あなたの頭が糞仕様