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

【PHP】下らねぇ質問はID出して書き込みやがれ 92

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2010/01/09(土) 20:11:42ID:lsb/cZ9k
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 91
http://pc11.2ch.net/test/read.cgi/php/1260247989/

◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0596nobodyさん2010/02/01(月) 14:14:08ID:???
>>590
PHP Parse error: syntax error, unexpected T_STRING, expecting 〜

どうなおせばいいですか><

>>594
pearにBenchmarkってのがあるよ><
0597nobodyさん2010/02/01(月) 14:31:05ID:???
>>596
カンマをつける
0598nobodyさん2010/02/01(月) 14:37:34ID:???
結局こういう場合はプログラマーとしてはどれを選ぶんだ?
1、早い
2、ソースが簡潔
3、負荷がかからない

ソースが簡潔なら>>590や>>592だと思うし
早さならif分5回書いたほうが早いかもしれない
0599nobodyさん2010/02/01(月) 14:42:16ID:???
10の時、20の時などに処理を追加する可能性があるなら
>>589 の書き方かな
0600nobodyさん2010/02/01(月) 14:42:41ID:???
早さを求める時は1
可読性を求める時は2
低負荷を求める時は3
0601nobodyさん2010/02/01(月) 14:43:44ID:???
>>598
今時は可読性重視だぜ
0602nobodyさん2010/02/01(月) 14:55:55ID:4LOdROLi
これを採用することにしました><

if (($i > 0) && (($i % 10) == 0)) { echo "ぬるぽ";}
0603nobodyさん2010/02/01(月) 14:59:52ID:???
条件変わってないか?
0604nobodyさん2010/02/01(月) 14:59:53ID:???
60の時も通るじゃねぇかw
あと==0は!と同値
0605nobodyさん2010/02/01(月) 15:06:07ID:???
ということはこれでもいいんですね

if (($i > 0) && !($i % 10)) { echo "ぬるぽ";}

将来的に60、70、80と続くんですが現実的に60あたりにしといたという条件です><
0606nobodyさん2010/02/01(月) 15:09:08ID:???
だったら値を決め打ちして書くのは良くない
0607nobodyさん2010/02/01(月) 15:13:21ID:???
テーブル(配列)に値を用意してそこから比較、にしておけば
将来的に数値はファイルでもネットでも渡せるようになる
0608nobodyさん2010/02/01(月) 15:25:49ID:???
マジかよ糞箱売ってくる
0609nobodyさん2010/02/01(月) 15:27:33ID:???
じゃあ俺も売ってくる
0610nobodyさん2010/02/01(月) 15:30:30ID:???
if ( ageSelectCheck($i) ) {
echo "ぬるぽ";
}
0611nobodyさん2010/02/01(月) 15:30:49ID:???
なんでゲハネタがw
0612nobodyさん2010/02/01(月) 16:47:47ID:???
(array(1,2,3))[0]みたいな書き方って出来なかったっけ
0613nobodyさん2010/02/01(月) 20:40:52ID:???
>>612
php -r "echo (array(1,2,3))[0]"

Parse error: syntax error, unexpected '[', expecting ',' or ';' in Command line code on line 1
0614nobodyさん2010/02/02(火) 07:03:31ID:???
>>598
自分で書けないから動けばなんでもいい。
無料ツールを落として自分で作ったように見せる技術をつける。
0615nobodyさん2010/02/02(火) 13:42:11ID:???
Eclipse + PDT + ZendDebbuger + XAMMPの環境を作りました。
あるスクリプトをステップ実行はできるのですが、
post先に実行ポイントが変遷してくれません。

どうすればいいでしょうか?
0616nobodyさん2010/02/02(火) 13:52:22ID:???
スレタイと>>1を読む
0617nobodyさん2010/02/02(火) 22:12:04ID:???
>>615
リライトが働いてないんじゃないの?
XDEBUGは?
0618nobodyさん2010/02/02(火) 23:57:45ID:???
>>615
単にデバッガの中で、URL指定してスクリプト実行させただけとか?

変遷の意味がよく分からんが、画面遷移のこと?
リモートデバッグを行えば、画面遷移して、遷移先でブレークしてくれるよ

リモートデバッグについては>>258読んで
0619nobodyさん2010/02/03(水) 16:29:12ID:f0FSXt8R
どの命令がどれぐらいの時間をかけたか計りたいんだけど、どういう方法があります?
1:測定スタート
2:命令A
3:測定エンド
みたいに1行ずつ上下に測定のコードを書けばいいんですが、
現実的じゃないので、
なんか命令を実行するたびフックできるようなものがあればいいんだけど・・・
0620nobodyさん2010/02/03(水) 16:35:32ID:???
>>619
PECL :: Package :: xhprof
http://pecl.php.net/package/xhprof

Particletree ≫ PHP Quick Profiler
http://particletree.com/features/php-quick-profiler/
0621nobodyさん2010/02/03(水) 16:50:23ID:f0FSXt8R
>>620
お〜ありがとうございます。
0622nobodyさん2010/02/03(水) 17:54:38ID:Rvv12jot
$fp = fopen($url,"r")

でURLを開く時、
http://localhost/では開けないのですが、
http://127.0.0.1/では開きます。

開発環境はWindowsXPのApache2.0.47ですが、
fopenでlocalhost指定は駄目なのでしょうか?
0623nobodyさん2010/02/03(水) 17:56:26ID:???
hosts みてみ
ディフェンダーがlocalhostの項目消してるかもよ
0624nobodyさん2010/02/04(木) 11:38:43ID:JFNwJ/uL
【OS名】fedora12
【PHPのバージョン】php5.3.1
【質問内容】
php5.3.1でphp-eaccelerator-0.9.6-0.2.svn358.fc12.i686は対応してるんでしょうか?
php5.3系はeaccelerator0.96rc1以降対応とのことですが、上はrc1以降のものなのでしょうか?

ab -n 100 -c 5 http://localhost/phpinfo.php
[phpinfo.php]
<?php phpinfo(); ?>
eaccelerator導入するとRequestsPerSecondが2〜3倍になったのですが
同時接続数を増やすと最後まで行かなくなります
topコマンドで見てみるとhttpdだらけになってCPU使用率がほぼ100%になってしまっていました
wget http://localhost/phpinfo.phpでphpの詳細が出ていたのでURLは問題なさそうです

ちなみにeacceleratorはyum -y install php-eacceleratorでインストールしました
0625nobodyさん2010/02/04(木) 17:42:56ID:afxeUOIn
phpって変数や配列の初期値ってNULLで保障されてるのでしょうか?
それともCみたくどんな値が入ってるか分からないっていう仕様でしょうか?
0626nobodyさん2010/02/04(木) 17:51:08ID:???
nullだよ
0627nobodyさん2010/02/04(木) 18:20:35ID:uHwPquPN
session_set_cookie_paramsでcookieの有効期限を設定しているのですが、php.iniのsession.cookie_lifetimeの値と優先されるのはどちらなのでしょうか?
ユーザによってcookieの有効期限を分けたい場合もしphp.iniが優先されるようですとini_setでユーザごとに秒数を変える感じになるんでしょうか?
0628nobodyさん2010/02/04(木) 22:16:32ID:???
こんばんは、くだらない質問で申し訳ないのですが、何でググレば良いかも分からないので質問させてください。
$hogehoge_day="2009-12-24";
↑これを 2009年12月24日 と表示させるにはどうすればよいでしょうか?
0629nobodyさん2010/02/04(木) 22:22:09ID:???
>>628
setlocaleとstrftimeとmktime
0630nobodyさん2010/02/04(木) 22:29:32ID:???
>>629
出来ました、有難うございます。
0631nobodyさん2010/02/04(木) 22:53:49ID:???
strtotimeとdate
0632nobodyさん2010/02/05(金) 11:07:24ID:uO/7NXg2
【OS名】Windows XP
【PHPのバージョン】php5.2.6
【質問内容】

$Link = "../master00/master00.php?para1=1¶2=¶3=";
$tmp = sprintf("fncClick(\"%s\")",$Link);

printf('<input type="button" style="width:80px" value="戻 る" onclick =%s>',$tmp);
printf('<input type="submit" style="width:80px" value="新規登録" name="button" />');
printf('<input type="reset" style="width:80px" value="リセット" />');

<script type="text/javascript">
<!--
function fncClick(arg)
{
         document.master01_main.action = arg;
         document.master01_main.method = "POST";
         document.master01_main.submit();
}
//-->
</script>

抜粋したのものですが、FireFoxだと"新規登録"のボタンが表示されますが、
IEだと表示されなくなってしまいます。"戻る"ボタンの後ろにinput type = hiddenなどの
別のものを配置すると"新規登録"のボタンが表示されます。
なにか原因がわかりますでしょうか?

0633nobodyさん2010/02/05(金) 11:17:03ID:???
onclick属性の値もシングルクオートかダブルクオートで囲ってあげましょう
0634nobodyさん2010/02/05(金) 11:51:58ID:???
test
0635nobodyさん2010/02/05(金) 11:53:20ID:???
やっとかきこめたあああああああああああ
糞運営が・・・
1ヶ月で3度も規制しやがって
さぁ暇だし何でも聞いてくれたまえ
0636nobodyさん2010/02/05(金) 12:15:20ID:???
いや、もう済んだからいいです。
0637nobodyさん2010/02/05(金) 12:59:23ID:uO/7NXg2
>>633
返信ありがとうございます。
ダブルもしくはシングルで囲んだ場合は反応しなくなります。
ブラウザで違いを確認したところ、Firefox、opera、safariは
正常に出ていますが、IEだけダメみたいです。
0638nobodyさん2010/02/05(金) 13:06:16ID:???
>>637
phpが出力しているhtmlの問題だから板違いだが
HTMLのソース(ブラウザでソース表示)はどうなってる?
0639nobodyさん2010/02/05(金) 13:20:26ID:uO/7NXg2

>>638
</tr>
<th colspan="4" class="Submit">
<input type="button" style="width:80px" value="戻 る" onclick=fncClick("../master00/master00.php?para1=1¶2=¶3=")>
<input type="submit" style="width:80px" value="新規登録" name="button" />
<input type="reset" style="width:80px" value="リセット" />
</th>
</class>
</tr>

<script type="text/javascript">
<!--
function fncClick(arg)
{
document.master01_main.action = arg;
document.master01_main.method = "POST";
document.master01_main.submit();
}

//-->
</script>

IEのブラウザソースは以上のようになってます。
0640nobodyさん2010/02/05(金) 13:22:03ID:???
囲めと言ってるだろが
0641nobodyさん2010/02/05(金) 13:29:36ID:???
>>639
他の人もいってるけど、onclick=の後を囲めば平気だと思うが?

>>637
>ダブルもしくはシングルで囲んだ場合は反応しなくなります。

反応しなくなるhtmlソースはどうなってる?
0642nobodyさん2010/02/05(金) 13:32:42ID:???
$tmp = sprintf("fncClick('%s')",$Link);
printf('<input type="button" style="width:80px" value="戻 る" onclick ="%s">',$tmp);

「囲め」「囲みました」「囲めっつってんだろ」が続きそうでめんどくさいから勝手に囲んだ。
0643nobodyさん2010/02/05(金) 13:35:19ID:???
マルチバイトをエンコードしろやハゲ
0644nobodyさん2010/02/05(金) 13:50:56ID:nqoHSqeH
>>639
onclick属性使うなscript分離しろ
というかclassタグなんて無い
0645nobodyさん2010/02/05(金) 13:54:54ID:uO/7NXg2
>>640
>>641
>>642
>>643

$tmp = sprintf("'fncClick(\"%s\")'",$Link);
printf('<input type="button" style="width:80px" value="戻 る" onclick=%s>',"$tmp");

fncClick()の部分をシングルで囲んだら反応が返ってきました。
すいません。お騒がせしました。

>>644
classはどうやらソースのヘッダーでcssを読み込んでいるので
その関係で使用しているようです。
0646nobodyさん2010/02/05(金) 14:00:03ID:uO/7NXg2
すいません。たしかに</class>といったような
classタグはないですね。
0647nobodyさん2010/02/05(金) 14:01:58ID:???
どうせダブルで囲ってエスケープしてなかったとかいうオチだろ

で、一番不思議なのはなぜこれがPHPスレで聞かれているかということなんだが
0648nobodyさん2010/02/05(金) 14:34:01ID:???
PHPの問題ではないのは確かだけど、これがPHPのスレに書かれてしまうこと自体は不思議ではないだろう。
0649nobodyさん2010/02/05(金) 14:34:37ID:???
なんで?
0650nobodyさん2010/02/05(金) 14:36:32ID:???
まあまあこの程度いいではないか
0651nobodyさん2010/02/05(金) 15:12:41ID:DA4Lr89Q
【OS名】linux?http://atpages.jp/
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
たまにpostを指定したフォームからのリクエストデータがすっぽぬけ、ただのgetになってしまう事があります
オミトロンで見た所、コネクションが切れてしまっているのですが、これをPHPから制御する事は可能でしょうか?
0652nobodyさん2010/02/05(金) 15:31:25ID:???
>>651
ブラウザからサーバへデータの送信ができていないのならブラウザの問題だと思うよ
0653nobodyさん2010/02/05(金) 17:08:40ID:???
携帯じゃねーの?
0654nobodyさん2010/02/05(金) 18:55:24ID:???
無理です
0655nobodyさん2010/02/05(金) 18:59:24ID:???
Who cares
0656nobodyさん2010/02/05(金) 19:04:31ID:DA4Lr89Q
ブラウザの問題ですか…
携帯じゃなく、IEですね
getの場合、トップページに飛ばしてるのですが、ちょっと苦情が出てまして。
他人のブラウザだから余計にわけが分からないといったところなんです
0657nobodyさん2010/02/05(金) 21:38:15ID:oeBfw5TE
本当にくだらない質問ですが、お願いします。
・PHPで日本語のフォルダに入ったファイルを読み込みにはどうすればいいでしょうか?
・Documents and Settingsのように半角スペースがある場合中のファイルを読むにはどうすればいいでしょうか?

PHPは5.2.6です。
0658nobodyさん2010/02/05(金) 22:00:05ID:???
webdavとsslについての質問です。
phpでロードする際のwebdavの絶対パスは
非SSLではhttp
SSLではhttps
と振り分けをしないとダメでしょうか?

以下のようなソース書いてます。
<object classid="clsid:xxxx"
codebase="{$codebase}"
width="80%" height="40%">

$codebase="http://a/ieDAV.cab"
これをsslの場合は
$codebase="https://a/ieDAV.cab"
としないとダメですか?
0659IDがでていませんでした。2010/02/05(金) 22:13:05ID:+ymZdpmA
すいません。
webdavとsslについての質問です。
phpでロードする際のwebdavの絶対パスは
非SSLではhttp
SSLではhttps
と振り分けをしないとダメでしょうか?

以下のようなソース書いてます。
<object classid="clsid:xxxx"
codebase="{$codebase}"
width="80%" height="40%">

$codebase="http://a/ieDAV.cab"
これをsslの場合は
$codebase="https://a/ieDAV.cab"
としないとダメですか?


0660nobodyさん2010/02/05(金) 23:54:19ID:???
Cakephpのモデルって
元からDBアクセスのためのメソッドが用意されてて
コントロール側でクラスを呼び出して実行すればOK?

モデルクラスは定義で使うのがメインって感じですか?
0661nobodyさん2010/02/06(土) 00:04:15ID:???
>>1
0662nobodyさん2010/02/06(土) 00:17:08ID:???
>>661
わかりました質問を取り消します
0663nobodyさん2010/02/06(土) 02:40:53ID:???
フローチャート作ろうと思います
0664nobodyさん2010/02/06(土) 02:54:24ID:???
現在
$pat = '(https?:\/\/[-_.!~*\'()a-zA-Z0-9;/?:@&=+$,%#]+)';
$rep = '<a href="\1">\1</a>';

$text = ereg_replace($pat, $rep, $honbun);
で$text内のリンクをハイパーリンクしてるんですが
ereg_replaceをpreg_replaceにすると置換してくれませんのはなぜなんです?
0665nobodyさん2010/02/06(土) 03:13:25ID:???
>>1
0666nobodyさん2010/02/06(土) 03:51:30ID:GgnnWxHX
if(isset($_POST["submit"])){
foreach((array) $_POST["aaa"] as $bbb){
echo $bbb;//ちゃんと全部表示される
$ccc = $bbb;//最後のひとつしか代入されない
}}

$cccに全部代入させたいんですがどうしたらいいでしょうか
0667nobodyさん2010/02/06(土) 03:53:30ID:???
>>1
0668nobodyさん2010/02/06(土) 03:55:11ID:???
>>666
$ccc .= $bbb
でいいんでないの
0669nobodyさん2010/02/06(土) 04:41:28ID:???
>>667
3連続でスレタイ読まないヤツがきた心境を一言どうぞ
0670nobodyさん2010/02/06(土) 13:44:22ID:2I3yM/uu
php5.26で

$file = data.php;

$tmp = file($file);
〜
(処理)
〜
file_put_contents($file, $data);

とやると、元のdata.phpのデータはUTF-8で、処理するphpもUTF-8なのですが
処理後に書き出したdata.phpがs-jisになってしまいます。
(処理)の部分は$dataに入れるデータをいじっているだけで、文字コードの変換関係の処理は一切入っていません
UTF-8のまま書き出すにはどうしたらよいでしょうか?
0671nobodyさん2010/02/06(土) 13:46:48ID:???
>>670
mbstringのinternal_encodingかhttp_outputあたりじゃない?
0672nobodyさん2010/02/06(土) 14:28:33ID:???
>>671
http://hain.jp/index.php/tech-j/2007/02/13/p125#more125
0673nobodyさん2010/02/06(土) 15:42:07ID:???
IDの出し方教えてください


って質問したら怒られるだろうなwwww
0674nobodyさん2010/02/06(土) 15:43:50ID:???
>>1
0675nobodyさん2010/02/06(土) 18:05:37ID:???
ペキンダックわろたwwwwwwwww
0676nobodyさん2010/02/06(土) 20:26:31ID:???
【OS名】 レンタルサーバー
【PHPのバージョン】php5.26 セーフモード
【連携ソフトウェア】gdライブラリ
【質問内容】

フォームからアップロードされた画像ファイルを、
ajaxで指定されたx,y,width,heightの範囲で、切り貼り加工し、ダウンロードしたいと四苦八苦していたのですが、
imagecreatefromjpegでファイルをオープンできません。

ファイル パーミッション オーナー グループ
dir 777 10703 10000
├php 644 10703 10000
└jpeg 777 80 10000

というような構成で、phpファイルをphpファイルから出力し、オーナーを80にすればいいのかなと思ったのですがまだできません。
dirもphp上から出力しないとダメなのでしょうか。

このやり方自体があまりスマートでは無い気がしますし、できればもっと良い方法を、ご教授できればと思っています。
よろしくお願いします。
06776722010/02/06(土) 20:27:48ID:3D5nCXRt
すいません、sage外すの忘れました
0678nobodyさん2010/02/06(土) 20:28:57ID:???
>>676
エラーメッセージは何て出るの?
0679nobodyさん2010/02/06(土) 20:47:07ID:3D5nCXRt
Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: Unable to access e31f53d3362d1fb15a799794207f1c47.jpg
と言ってます
0680nobodyさん2010/02/06(土) 22:05:53ID:???
dirとphpとjpegのオーナーが全て同じじゃないとダメでしょ
0681nobodyさん2010/02/06(土) 22:15:50ID:???
間違えました。dirとphpが同じならいいのか。忘れて下さい。
06826662010/02/06(土) 22:29:36ID:???
>668
ありがとうございます、できました!
0683nobodyさん2010/02/06(土) 22:36:04ID:???
>>676
セーフモードだとUIDチェック入ってるんじゃね
オーナー一緒にすれば開けると思うよ
0684nobodyさん2010/02/06(土) 23:44:42ID:???
セーフモードが原因ならエラーメッセージに
"SAFE MODE Restriction in effect."
が入るはず。鯖の設定によっては入らないのかな?

fopenのセーフモード制約は、スクリプトとディレクトリのUID。
開くファイルそのもののUIDは関係ない。
だからhttpdが作成したファイルをhttpd自身が読めるようにはなってる。
06856702010/02/07(日) 00:25:43ID:???
>>671
>>672
ありがとうございます。mbstringやURL先の方法を設定してみたのですが、
phpの内部に書き込んでも変わらずSJISになり、さらに.htaccessは使えないのとでとん挫しました。

しかし、元の読み込むファイルにUTF-8で日本語の文字が一文字でも書き込まれていれば
読み込み→処理→書き込み処理後でも文字コードがUTF-8に保たれました。
なのでダミーデータを先頭に書き込むことで解決しました。
0686nobodyさん2010/02/07(日) 00:43:12ID:EhH57Jpr
phpでログインシステムを作っているのですが、セッションとクッキーのどちらを使うべきでしょうか?
ポータルサイトなどではログインをどのように管理しているか教えていただけると助かります。
0687nobodyさん2010/02/07(日) 00:46:25ID:???
用途が全然違う物じゃないでしょうか
0688nobodyさん2010/02/07(日) 00:57:53ID:EhH57Jpr
あ、もしかして
セッションはサーバー、クッキーはユーザのPCに保存するものなので、
「ログインを維持する」みたいなときにはクッキーを使ってログインさせるという認識でいいでしょうか?
0689nobodyさん2010/02/07(日) 01:14:19ID:???
いいですよ
0690nobodyさん2010/02/07(日) 01:29:14ID:EhH57Jpr
ありがとうございます。理解できました
0691nobodyさん2010/02/07(日) 01:58:26ID:???
俺は理解できなかった ORZ
0692nobodyさん2010/02/07(日) 02:06:28ID:???
サーバーとクライアント
どっちに情報を保持しとくかってことじゃないの?
サーバーは接続が切れたら情報が消えるけど
0693nobodyさん2010/02/07(日) 02:11:46ID:lvWMAqKs
外部ファイルに一行ずつ出力していくプログラムを書きました。
追記はファイルの末尾になってしまうのですが、先頭に追加する方法はありますか?
よろしくお願いします
0694nobodyさん2010/02/07(日) 03:46:20ID:???
その質問300回は見た
0695nobodyさん2010/02/07(日) 04:26:28ID:???
配列にしてソートすれば
0696nobodyさん2010/02/07(日) 08:41:49ID:???
外部ファイルを変数に読み込む(file_get_contentsなど)
→追加したい文字列のあとに↑の変数をくっつける
→外部ファイルに↑でくっつけた文字列を新規書き込み
■ このスレッドは過去ログ倉庫に格納されています