【PHP】下らねぇ質問はID出して書き込みやがれ 96
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2010/05/28(金) 16:33:44ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 95
http://pc11.2ch.net/test/read.cgi/php/1271636105/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0625nobodyさん
2010/06/22(火) 10:41:41ID:???まぁ使うけど。
5.3で静的遅延束縛が実装されて大分使いやすくなった。
0626nobodyさん
2010/06/22(火) 12:37:56ID:???今頃取り入れたらそれこそPHPらしいって言われるな
0627nobodyさん
2010/06/22(火) 18:42:11ID:ZnYDyWrvテキストデータの場合
fgets()を利用してループさせる。
file_get_contents()もしくはfile()でいっきに読み込む
どっちの方が効率がいい処理になるのでしょうか?
みなさんは何を基準にしてどの関数を利用するようにしていますか?
0628nobodyさん
2010/06/22(火) 18:48:40ID:???0629nobodyさん
2010/06/22(火) 18:49:19ID:???そうする。
0630nobodyさん
2010/06/22(火) 18:56:16ID:???タブや改行区切りで済むなら一気読みでexplodeが最速。
一回目と二回目
file
10.944231987 14.324997901917
serialize
15.630096912384 10.502514839172
var_export
16.92795419693 13.347457885742
explode
1.0216579437256 1.743134021759
0631630
2010/06/22(火) 18:58:18ID:???0632nobodyさん
2010/06/22(火) 21:08:21ID:???勝手に$A[$n] =NULLがセットされる気がしてたから。
存在しない配列・変数は自動生成するもんだとおもってた。
しかし、今日気づいた。増えてなかった。
0633nobodyさん
2010/06/22(火) 21:55:14ID:???亀レスだけど縦書き試してみた。
<?php
$im=imagecreatefrompng('sample.png');
$bgcolor=imagecolorallocate($im,255,255,255);
$im=imagerotate($im,90,$bgcolor); //左90度回転
$black=imagecolorallocate($im,0,0,0);
$font='vSHGM.ttf'; //縦書き専用フォント
$size=22; $x=50; $y=50;
$text='「馬〜鹿、アホー」って書いてみるテスト。';
imagettftext($im,$size,0,$x,$y,$black,$font,$text);
$im=imagerotate($im,-90,$bgcolor); //右90度回転
header("Content-type: image/png");
imagepng($im);
imagedestroy($im);
?>
ImageTTFTextのAngleを-90にするとガタガタになるんで、
元の図形を回転させてみた。
いちおう句読点や長音、ニョロ、小さい「っ」の位置は正しく表示される。
でも、もともとのフォントの形が…残念…
0634nobodyさん
2010/06/22(火) 22:09:05ID:???0635nobodyさん
2010/06/22(火) 23:33:08ID:???効率って、
同じようなことするのにソースコードの行数が少なくて済む効率?
実行時間の効率?
使用メモリの効率?
0636nobodyさん
2010/06/23(水) 00:03:36ID:???0637nobodyさん
2010/06/23(水) 03:08:02ID:???0638nobodyさん
2010/06/23(水) 23:12:08ID:SXPCexzA・tmpファイル名から判断→できないですよね?頭にphpやsess_など特定の語がつくらしいことは分かったのですが・・・
・フォルダを監視し、アップロード開始前後に増えたファイルをAとみなす。→同時期に関係ないファイルが増えることもあるので微妙
0639nobodyさん
2010/06/24(木) 01:13:30ID:???リクエストを受け取って動くコードじゃなしに、別で動いてるディレクトリ監視用のなんかで、
受信が終わってリクエストされたPHPのファイルのなかみが実行される前に
アップロードされ一時保存されてるファイルにちょっかい出したいとか、そういう感じ?
0640nobodyさん
2010/06/24(木) 01:19:10ID:???そもそもバッファに収まるサイズなら一時ファイル作らないだろうし
0641nobodyさん
2010/06/24(木) 02:29:20ID:OBMIoFMZそんな感じです。
0642nobodyさん
2010/06/24(木) 06:36:59ID:WgZlfAT4PHPにて、以下のコードが意図したように動作しません。
$funcs = array(func_a, func_b, func_c);
foreach ($funcs as $func){
$func(); //$func === String... "func_a", "func_b", "func_c"
}
どうも調べてみると PHP の配列では、関数への参照が期待されるところが、文字列として解釈されてしまうみたいです。
どのようにすればこの問題を回避できるのでしょうか?
アドバイスよろしくお願いします。
0643642
2010/06/24(木) 06:46:36ID:WgZlfAT4x この問題を回避
x この問題を解決
0644nobodyさん
2010/06/24(木) 07:45:38ID:???よく分からんけど
>php -r "$funcs = array('func_a', 'func_b', 'func_c'); foreach($funcs as $func) $func();
Fatal error: Call to undefined function func_a() in Command line code on line 1
0645642
2010/06/24(木) 07:57:50ID:WgZlfAT4すみません、どうやらこちらの勘違いだったみたいです。
> var_dump($funcs)
array(3) { [0]=> string(4) "func_a" [1]=> string(4) "func_b" [2]=> string(4) "func_c" }
上記をまんまに受け取ってしまって、文字列が格納されていると判断していました。
しかし、先ほど確認してみると実際には関数への参照が格納されていることを確認できました;
どうもありがとうございました。
0646nobodyさん
2010/06/24(木) 08:34:42ID:???たとえば、$n=10に対して、10個目に格納されているキーと値を取得できますか。
0647nobodyさん
2010/06/24(木) 08:37:30ID:MnfGX6ASループでなくて、ランダムアクセスする方法ありますか。
こういうやつでなくコストが低いやつが良いです。
$n=10;
$cnt=0; foeeach ( $A as $key->$val ) { if($cnt==$n) break; $cnt++; }
0648nobodyさん
2010/06/24(木) 08:43:48ID:WgZlfAT4array_rand じゃだめなの?
0649647
2010/06/24(木) 08:48:10ID:MnfGX6ASランダムアクセス = シーケンシャルサーチ(>>647)をしないアクセスってことです。
0650nobodyさん
2010/06/24(木) 09:35:17ID:???配列の配列にすべきと思うけど。
0651nobodyさん
2010/06/24(木) 09:48:42ID:???0652nobodyさん
2010/06/24(木) 12:10:57ID:MnfGX6AS0653nobodyさん
2010/06/24(木) 13:05:35ID:???未定義の定数 func_a は文字列 "func_a" と等価に扱われているだけ
関数はファーストクラスオブジェクトじゃないのから
識別子となる文字列で間接的に扱うしかない
http://php.net/manual/ja/functions.variable-functions.php
0654nobodyさん
2010/06/24(木) 16:04:42ID:sfa066RHここの略称の略称はなんでしょうか?
0655nobodyさん
2010/06/24(木) 16:34:14ID:???0656nobodyさん
2010/06/24(木) 17:26:06ID:???0657nobodyさん
2010/06/24(木) 17:31:46ID:???0658nobodyさん
2010/06/24(木) 23:37:31ID:???HipHop PHPをwindowsに対応してほしいです。
0659nobodyさん
2010/06/25(金) 02:25:39ID:???0660nobodyさん
2010/06/25(金) 07:58:18ID:???0661nobodyさん
2010/06/25(金) 10:36:18ID:beZDHavcFTPソフトからもphpからも操作不可能です。
どんなアクセスも可能なファイルはどのように作成すればいいですか?
0662nobodyさん
2010/06/25(金) 10:37:35ID:beZDHavcオプションでは付いてないんですが。
あとから変更すると既に変更不可になってそうです。
0663nobodyさん
2010/06/25(金) 11:31:43ID:???0664nobodyさん
2010/06/25(金) 11:33:14ID:beZDHavcパーミッションが411になってしまったんだと思うんですが。
これって削除も更新も出来ないんですが。
FTPソフトから。
これにアクセスする方法はないんですか?
0665nobodyさん
2010/06/25(金) 11:34:25ID:beZDHavcサンクス。 phpから親ディレクトリのパーミッション変更してみます。
0666nobodyさん
2010/06/25(金) 11:35:07ID:???0667nobodyさん
2010/06/25(金) 13:10:12ID:beZDHavc0668nobodyさん
2010/06/25(金) 13:47:53ID:F/VYj9suextension_dirとinclude_pathという2つのパスがありますが
これらは何を基準に分けてるのですか?
extension_dirの中を見るとso拡張子のファイルしかないので、こちらはバイナリファイルを置けばいいのですか?
追加したいライブラリがso拡張子だったらextension_dirに突っ込んで
phpファイルだったらinclude_pathに突っ込む、という感じでいいのかな。
0669nobodyさん
2010/06/25(金) 19:25:21ID:TAYX3VSM一部の漢字がうまく変換されずに困っています。
JIS第三水準以上になると、ほとんど駄目なようなのですが、
対処法はありますでしょうか?
よろしくお願いします。
0670nobodyさん
2010/06/25(金) 20:04:08ID:beZDHavc0671nobodyさん
2010/06/27(日) 01:38:10ID:aVrX+ivVecho $text[3];
こうやれば「d」の文字が拾えますが
$text = "あいうえお";
echo $text[3];
とやった場合マルチバイトのため文字として拾えません。
これを拾えるようにする方法は無いのでしょうか?
$text = array("あ","い","う","え","お");
これはなしの方法であくまで
$text = "あいうえお";とやった変数に格納したデータを拾う方法。
0674nobodyさん
2010/06/27(日) 07:10:24ID:???0675nobodyさん
2010/06/27(日) 12:43:50ID:aVrX+ivVそれつてmb_系(mb_substr)の関数仕えって事?
0677nobodyさん
2010/06/27(日) 14:02:58ID:???http://jp.php.net/manual/ja/ref.mbstring.php
0678nobodyさん
2010/06/27(日) 14:29:26ID:???0679nobodyさん
2010/06/27(日) 15:06:07ID:???普通は関数使うね
0680nobodyさん
2010/06/27(日) 17:02:21ID:???0681nobodyさん
2010/06/27(日) 21:53:55ID:hmPoeXmO1,佐藤,ok,43
2,鈴木,no,65
3,田中,ok,87
4,斉藤,no,23
5,紅子,ok,90
4番目の斉藤のnoの部分をokに変えようとした場合
シェルのsedみたいに該当部分だけを書き換えることが出来る関数とかあるでしょうか?
ちなみにDBへの移行が出来ないのでfileで読み込んで斉藤にヒットした行のnoをokに変更、それ以外はそのままファイルに追記していく形で変更を行ってます。
0682nobodyさん
2010/06/27(日) 22:34:28ID:???DBは使えないってsqliteもだめなの?
0683nobodyさん
2010/06/27(日) 22:39:39ID:???0684681
2010/06/27(日) 22:45:42ID:hmPoeXmOcsvとして扱う関数があるわけですね。
そちらをちょっと調べてみます。
DB(sqlite含)関連が入っていない+追加出来ない状態です。これはサーバーの仕様なのであきらめてます。
>>683
私もそう思います。
でもきっとこれを作った当初は規模の拡大を予測してなかったんだと思います。
ソースを見たところ社内SEが部署内のちょっとした効率化のために作成したもののようです。
部署内でちょっとずつ機能追加してたら、他の部署からも〜みたいな感じで膨らんで今にいたるという状況みたいです。
ゼロから完全書き換えしたほうが後々いいとおもってはいますが、そこは大人の事情で出来そうにないので現状で何とかしようとしていたところです。
0685nobodyさん
2010/06/28(月) 14:52:59ID:t3TKO+l1PEARの公式サイトからXML-RPC2のパッケージをダウンロードして解凍したら
PHPファイルじゃなくてXMLファイルでした。
何を言っているのか分からないかもしれませんが
私にも何が起こったのか分かりません。
超能力とかそういうのじゃありません。
もっと恐ろしい能力の片鱗を味わいました。
どうすればいいですか教えて下さい。
0686nobodyさん
2010/06/28(月) 15:05:34ID:t3TKO+l1本当にありがとうございました。
0687nobodyさん
2010/06/28(月) 17:01:14ID:me2fxhSAこれを
<a href="http://aaa.jp/aaa/"><img src="http://aaa.jp/aaa/A_000000.jpg" ><br>暑い</a>
と置き換えたいのですがどうすればいいでしょうか?
0689nobodyさん
2010/06/28(月) 17:08:50ID:me2fxhSA<a href="http://aaa.jp/aaa/"><img id="pac-A_00000" alt="暑い" src="http://aaa.jp/aaa/A_000000.jpg" ></a>
<a href="http://aaa.jp/bbb/"><img id="pac-b_00001" alt="寒い" src="http://aaa.jp/aaa/A_000001.jpg" ></a>
etc・・・
これを
<a href="http://aaa.jp/aaa/"><img src="http://aaa.jp/aaa/A_000000.jpg" ><br>暑い</a>
<a href="http://aaa.jp/bbb/"><img src="http://aaa.jp/bbb/b_000001.jpg" ><br>寒い</a>
>>688
正規表現分りません><
0690nobodyさん
2010/06/28(月) 17:20:11ID:???#1嘘つき君。
>HP作成集などに載っている素材
>どれも問題ありません。
>(本の中で素材の注意書きに、「再配布や販売を目的とする素材の2次使用、商用利用は禁止する」とあります)
の部分は完全無視。
0691690
2010/06/28(月) 17:21:02ID:???0692nobodyさん
2010/06/28(月) 17:23:52ID:???>正規表現分りません><
調べる気がないの?
http://www.google.co.jp/search?source=ig&hl=ja&rlz=&q=%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE&aq=f&aqi=g10&aql=&oq=&gs_rfai=
>事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
さらに
>【その他諸注意】
>・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0693nobodyさん
2010/06/28(月) 17:26:25ID:???勉強しろ
0694nobodyさん
2010/06/28(月) 18:10:59ID:me2fxhSA$rcd = ereg_replace("^id=\".+\"$", "123", $var);
echo "$rcd";
とりあえず実験でこうやってみましたが駄目でした
>>693
これ以降は聞きません
今回だけです
0695nobodyさん
2010/06/28(月) 18:19:01ID:???いろいろやってみるといいよ。
http://www.rider-n.sakura.ne.jp/regexp/regexp.php
0696nobodyさん
2010/06/28(月) 18:35:46ID:???0697nobodyさん
2010/06/28(月) 18:35:48ID:me2fxhSA( ^ω^)おっおっおっ
良いサイトありがとう!
0698nobodyさん
2010/06/28(月) 18:37:34ID:me2fxhSADOMとかわかんないお( ^ω^)
でもありがとう( ^ω^)
0699nobodyさん
2010/06/28(月) 18:47:59ID:z0Gu2+zStry{
in_array($hoge,$fuga);
}catch(Exception $e){
echo 'error';
}
としたときに
in_array関数のパラメータに誤ったデータが入ってきたら
Exceptionのキャッチが出来るかと思っていたのですが、
キャッチできませんでした。
そういうものなのでしょうか?
もしキャッチをするとしたらどの様に記述すればよろしいのでしょうか?
よろしくお願いいたします。
0700nobodyさん
2010/06/28(月) 18:53:51ID:???http://jp.php.net/manual/ja/function.in-array.php
例外なんて発生しません
0701nobodyさん
2010/06/28(月) 19:48:46ID:???ありがとうございます。
やっぱり無理なんですね。
実務では、DB操作で複数テーブルへの操作を行おうとしていて、
in_arrayでエラーが発生したら
例外をキャッチしてロールバックをしたかったのですが、
そのまま素通りしていたものですから、
なにか良い方法がないかと思案しているところでした。
0703nobodyさん
2010/06/28(月) 19:59:50ID:???すればいいのでは?
0704nobodyさん
2010/06/28(月) 20:13:30ID:???0705nobodyさん
2010/06/28(月) 20:53:04ID:???0706699
2010/06/28(月) 20:57:18ID:???第二引数に配列でない値がとんできたとか・・そういう類の予期し得ないデータです。
>>703
ありがとうございます。その場合PHPのエラーが発生したらfalseが
返ってくるのでしょうか。
ちょっと今試せない環境なので、試せるようになったら
試してみたいと思います。
0707nobodyさん
2010/06/28(月) 20:59:53ID:???0708nobodyさん
2010/06/28(月) 21:22:59ID:???http://www.cocoaliz.com/php/index/14/
0709nobodyさん
2010/06/28(月) 21:24:49ID:???こんな感じの日時をunixtimeに変換する関数みたいなのありますか?
0711709
2010/06/28(月) 21:42:50ID:DMKCG0er0712nobodyさん
2010/06/28(月) 23:37:43ID:???703だけどもしくはset_error_handlerでPHPエラー時に例外投げるようにするという手もある
>>711
みんなには内緒だよ つstrtotime
0715nobodyさん
2010/06/29(火) 00:56:28ID:???>>708は標準関数が例外を吐く例には見えないんだが・・・?
>>706
第二引数に配列でない値、それは予期し得ないデータとは言えませんw
is_array使えばいいだけだろwww馬鹿なの?wwww死ぬの?wwwwww
0718nobodyさん
2010/06/29(火) 07:50:59ID:???0719nobodyさん
2010/06/29(火) 07:53:01ID:???0720nobodyさん
2010/06/29(火) 07:55:11ID:???0721nobodyさん
2010/06/29(火) 12:00:35ID:???何かあったらcatchでつかんでくれるって方が楽だと思うんだけどな・・
PHPにはterminate()も無いんだよね?
0722nobodyさん
2010/06/29(火) 12:56:17ID:???2.sambaのunix charsetのようなファイル名の文字コード等は取得できますか?
$_SERVERにはないようですし。。。
getlocaleは地域の取得で違いましたし。。
なぜ必要か、
1.は便利だから。
2.はファイルアップロード機能の汎用性のあるものを作りたいからです。
ファイル保存時適切に日本語ファイル名のエンコーディングを指定、変換しないと化けちゃうからです。
PHP初心者です。至急宜しくお願いします。昼休みあと5分(涙
0723nobodyさん
2010/06/29(火) 15:34:47ID:???■ このスレッドは過去ログ倉庫に格納されています