【PHP】下らねぇ質問はここに書き込みやがれ 49
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/06/26(火) 03:03:40ID:ox2uyHLdPHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、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カテゴリ)の各スレで
0764nobodyさん
2007/07/06(金) 18:31:01ID:???└>735,738 一言で返答
└>740 片言っぷりに突っ込む
├>741 ネタで返す
└>740 2chじゃ普通だよと教える
└>747 食いつきがよさそうな気配がするので、騙りにならない程度に
740の振りをして、よくあるフレームネタで煽ってみる
以下まあまあの釣果
という感じで読んだけどあってる?
それとも、騙りじゃなくて740の時点で様子見の餌撒き?
0765nobodyさん
2007/07/06(金) 18:32:04ID:???答え書くよ、ただし環境は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 }
0766nobodyさん
2007/07/06(金) 18:56:55ID:d4vmUHbH0767nobodyさん
2007/07/06(金) 18:57:45ID:d4vmUHbH0768nobodyさん
2007/07/06(金) 19:03:00ID:???0770nobodyさん
2007/07/06(金) 20:34:06ID:???うまく説明できないのですが・・・
表示させる画像や文章の間にランダムに改行を入れる事ってできますか?
できれば模範解答お願いします。m(__)m
0772一日駅長
2007/07/06(金) 21:20:01ID:IjZ/UTZjまず、ひとつは<form>で画像をアップロードして例えばtest.jpgというファイル
をアップ出来たとして、phpでなく後から手動のタグ打ちでtest.jpgと書いて
アップしても表示されず×印がでますなぜですか。二つ目です、ftpでアップ
ロードするのと→ttp://always-pg.com/php/std_rd/ftp/ftp_put.htmlフォーム
でアップする→ttp://w1.nirai.ne.jp/freeze/main/files/09_01_fileup.htmlのと
どうちがうのですか?
0773770
2007/07/06(金) 21:25:46ID:???0775nobodyさん
2007/07/06(金) 21:33:45ID:???詳しくお願いします
はコッチのセリフだ
>>772
一つ目: 日本語が意味不明でわからん
二つ目: 久野 靖のUNIXの基礎概念(ASCII出版)でも買って嫁
0776nobodyさん
2007/07/06(金) 21:51:37ID:i/Ome2c4この配列のキーとデータをカンマ区切りのCSVで一行目にだけ保存しようと思ったのですが、
どのようなフォーマットで書き込めばよろしいのでしょうか?
やはり一行だけで行うのは難しいですか?
array(
'a' => 100,
'b' => 200,
'c' => 100,
)
0777nobodyさん
2007/07/06(金) 21:52:18ID:i/Ome2c4書き込むのはキーと値の両方です。
0781nobodyさん
2007/07/06(金) 23:48:26ID:i/Ome2c4回答ありがとうございます。
キーと値を一行でいれるフォーマットをみたことがなくてたいへん恐縮なんですが、
この場合だと取り出すときにどうすればよろしいのでしょうか?
0782nobodyさん
2007/07/06(金) 23:58:04ID:???変数の一時保存なら
$s = array(
'a' => 100,
'b' => 200,
'c' => 100,
) ;
$hoge=serialize($s);
echo $hoge;
//ここで保存
//取り出し
$fuga=unserialize($hoge);
var_dump($fuga);
但し使う場所には気をつける事、下手すると他者が悪さできるようにもなってしまう。
あとはマニュアル嫁
0783nobodyさん
2007/07/07(土) 00:49:09ID:???_.,,/-....._ヽ
,.-=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にしたいなら
奇数列をキー、偶数列を値にして埋めてけば
とりだすときはその逆やればいいし
キーや値にカンマを含まないこと前提ならそんなむずくない
0784nobodyさん
2007/07/07(土) 00:51:46ID:eiig5Z3nありがとうございます。
こんな関数があったんですね。
マニュアル見ていじくってみます。
0785nobodyさん
2007/07/07(土) 00:54:11ID:eiig5Z3nなるほど、そのアイデアは思いつきませんでした。
このやり方も試してみます。
夜更けにもかかわらず親切に付き合って頂きありがとうございます。
0786nobodyさん
2007/07/07(土) 00:59:43ID:jir/enwwforeach($s as $key => $value) {
echo $key;
echo $value;
}
0787nobodyさん
2007/07/07(土) 01:01:57ID:???、ミ川川川彡 ,ィ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
とりあえず、カンマはいってないやん
0788nobodyさん
2007/07/07(土) 02:44:13ID:???0789nobodyさん
2007/07/07(土) 02:49:00ID:???分かんなくてもいいからとりあえず考えたとこまで出して
>>784
そういう用途にはvar_exportじゃないか?
0792nobodyさん
2007/07/07(土) 03:29:45ID:grRv9Cjwそれを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行目からは値にすると、扱いらくだと思う。
カラムを増やしても減らしても、プログラムいじる範囲が少なくてすむ。
0793nobodyさん
2007/07/07(土) 03:30:11ID:???$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/
0794nobodyさん
2007/07/07(土) 03:53:58ID:???↓
$cmd = "/usr/bin/dot -Tpng /home/users/name/public_html/pr/form.dot -o /home/users/name/public_html/pr/form.gif";
0796nobodyさん
2007/07/07(土) 04:41:38ID:???0797nobodyさん
2007/07/07(土) 06:16:26ID:???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の処理)
0798nobodyさん
2007/07/07(土) 09:20:52ID:NYUtkJmE0799nobodyさん
2007/07/07(土) 12:30:35ID:???⊂(#・д・)? さっさと答えろって言ってんだろ!!?
/ ノ∪?
し―-J |l|?|?
? ? ? ?人ペシッ!!
__?
\ ?\?
? ̄ ̄?
0800一日駅長
2007/07/07(土) 12:50:04ID:LeSdaRHtありがとう、買ってみる。
0801793
2007/07/07(土) 15:34:11ID:???しかしWebブラウザ(firefox)からjavascriptを呼び出し、そこからphpを呼び出して実行すると
system('execのフルパス');
↑
この行以降が実行されていないようです
直接phpを実行した場合と、外からブラウザで呼び出した場合では何か制限みたいなものがあるのでしょうか?
0802nobodyさん
2007/07/07(土) 15:47:41ID:P9d75pEJ0803nobodyさん
2007/07/07(土) 15:53:29ID:???思い出せません。
どなたか教えてケロ。
0804nobodyさん
2007/07/07(土) 16:02:22ID:???ヒント書いてるのに自分で切り分けしてないじゃん。
思考停止せずに少しは考えましょう。
自分ならそのスクリプトを実行出来る→apache経由なら実行できない→権限? と行かなくてはならない。
apacheの起動ユーザーがおそらくそこに書き込み出来ない。
/tmpとかapacheユーザーが読み書き出来る場所にに元ファイルを置き、-oのアウトプット先もそちらにして試す
ちなみに質問以前に、そもそもレンサバでsystem()が許されていません、とかは抜きね。
0806793
2007/07/07(土) 16:19:34ID:???見事に実行することができました
とても丁寧な対応ありがとうございました
0807nobodyさん
2007/07/07(土) 17:01:58ID:???「1.log」と言うファイルをアップロードしようとしたら、
「550 /a/dat/1.log: Permission denied」と言うエラーが出て
アップできませんでした。
1.logのパーミッションが違うのかと思い、変更しようとしたのですが、
変更も出来ないようになっているみたいです。
これを、アップロードできるようにするには、どこを変更したらいいのでしょうか?
0809nobodyさん
2007/07/07(土) 18:34:34ID:???常用漢字以外の漢字があったら制限したいのですが、
どうすればよかとでしょうか?
0812nobodyさん
2007/07/07(土) 21:50:57ID:???全角かなで入力すると→うぇb
これは偉大な豆知識だと思いませんか?
0813nobodyさん
2007/07/07(土) 21:53:33ID:???0814nobodyさん
2007/07/07(土) 22:59:42ID:???0815nobodyさん
2007/07/07(土) 23:00:28ID:???0816nobodyさん
2007/07/08(日) 00:36:04ID:???お前らちんちん付いてんだろ?
0817nobodyさん
2007/07/08(日) 00:41:35ID:???while(false) {
echo "<img src="http://localhost/" />";
}
0818nobodyさん
2007/07/08(日) 00:48:31ID:???0819nobodyさん
2007/07/08(日) 01:01:30ID:???0820nobodyさん
2007/07/08(日) 01:06:58ID:???0821nobodyさん
2007/07/08(日) 01:22:37ID:???0822nobodyさん
2007/07/08(日) 01:56:10ID:???0823nobodyさん
2007/07/08(日) 02:34:07ID:???0826nobodyさん
2007/07/08(日) 05:22:35ID:???,ィ":::::::::::::::::::;;;;;:ii>;,、
/:::::::::::::::;;;;;;;;iii彡" :ヤi、
i::::::::::::;:"~ ̄ ::i||li
|:::::::::j'_,.ィ^' ‐、 _,,. ::iii》
|:::i´` `‐-‐"^{" `リ"
ヾ;Y ,.,li`~~i 見ろ!回答者がゴミのようだ!
`i、 ・=-_、, .:/
ヽ '' .:/
> ‐- 、、ノ
0827nobodyさん
2007/07/08(日) 12:14:21ID:???お前らちんちん付いてんだろ?
0828nobodyさん
2007/07/08(日) 14:36:48ID:yIRyKXW90829nobodyさん
2007/07/08(日) 14:37:19ID:???0830nobodyさん
2007/07/08(日) 14:38:48ID:???0831nobodyさん
2007/07/08(日) 15:14:02ID:???データ1行目
データ2行目
データ3行目
EOF
読み取り先のファイルはこんな感じになっています。
while(!feof)とやっていて、3行目が終わった所で止まって欲しいのですが
3行目とEOFの間の空文字?も読み取られて意図しない結果になってしまいます。
何か対処方があればよろしくお願いします。
0833nobodyさん
2007/07/08(日) 17:08:47ID:???4行目の空文字の行を捨てる処理をすれば良いんでは?
3行って決まってるなら3行分だけ読むようにすればいいけど。
0834831
2007/07/08(日) 17:18:37ID:HGf7gTcYOSはLinux、phpのバージョンは4.4.6です。
症状は>>831の通りです。
0835831
2007/07/08(日) 17:20:22ID:HGf7gTcY行数は可変なので固定にはできるだけしたくないのです。
空文字が来たらループをやめるやり方がベストなのでしょうか?
0836nobodyさん
2007/07/08(日) 17:37:38ID:???ファイルを文字列として変数に格納してくれる関数をつかう
↓
行末の開業を削除
↓
開業記号のところで区切って配列に格納
0838nobodyさん
2007/07/08(日) 19:24:49ID:43pT5EAOfor($i=0; $i<10; $i++){
echo $list[$i];
}
だと表示されるのに
$i=10;
echo $list[$i];
だと表示されないのは何故でしょうか?
0839nobodyさん
2007/07/08(日) 19:24:52ID:gYiAZLGG$sei …森田
$mei …一義
↑をマトメて『森田一義』にしたいんです。
『 $sei = $sei & $mei 』じゃ上手くいきませんでした。
0840838
2007/07/08(日) 19:35:14ID:43pT5EAO0841nobodyさん
2007/07/08(日) 19:38:53ID:???for($i=0; $i<10; $i++){
echo "\$list[".$i."]=".$list[$i];
}
0842nobodyさん
2007/07/08(日) 19:45:31ID:DD+D1ZP2$list[10]に値がセットされていないから。
0843831
2007/07/08(日) 19:49:12ID:HGf7gTcYありがとうございました。
0844838
2007/07/08(日) 19:52:19ID:43pT5EAOfor($i=0; $i<10; $i++){
echo $list[$i];
}
だと表示されますが
$no=10-9;
for($i=$no; $i<10; $i++){
echo $list[$i];
}
だと表示されません
0845nobodyさん
2007/07/08(日) 19:56:33ID:???0846838
2007/07/08(日) 20:04:25ID:43pT5EAOどうして変数を代入するとダメなのでしょう?
0847nobodyさん
2007/07/08(日) 20:26:00ID:???0848nobodyさん
2007/07/08(日) 20:27:09ID:???0850nobodyさん
2007/07/08(日) 21:50:32ID:???今必死にオライリージャパンの初めてのPHP5読んでるんですけど
見つからないんですよ・・・
いったいどうすれば・・・
0851nobodyさん
2007/07/08(日) 21:59:39ID:???0854nobodyさん
2007/07/08(日) 22:07:57ID:???0857nobodyさん
2007/07/08(日) 22:14:22ID:???0858nobodyさん
2007/07/08(日) 22:28:56ID:???その本ガチ初心者向けだから、
止めた方がいい
ぶっちゃけそれに別関数の呼び出し書いてないしw
明日にでも本屋行ってこい
0859nobodyさん
2007/07/08(日) 22:39:05ID:???0860nobodyさん
2007/07/08(日) 22:44:19ID:???0861847
2007/07/08(日) 22:50:42ID:???0862nobodyさん
2007/07/08(日) 22:50:48ID:???0863nobodyさん
2007/07/08(日) 22:52:49ID:???■ このスレッドは過去ログ倉庫に格納されています