【PHP】下らねぇ質問はID出して書き込みやがれ 119
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2012/05/16(水) 21:44:16.40ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 118
http://kohada.2ch.net/test/read.cgi/php/1335198562/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0771nobodyさん
2012/06/14(木) 00:46:54.43ID:???引数を今日から何日後かを示すようにして
単に0とか1を渡すようにして
86400は中の$timeの計算で入れればいいじゃん
と思いました
0774nobodyさん
2012/06/14(木) 02:15:49.29ID:bzeb90diphpinfo()を表示させてもpdoの項目が全く表示されません
どうすればいいですか?
一応php.iniでは以下の部分のコメントアウトを外しました
extension=php_pdo.dll
extension=php_pdo_mysql.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
0775nobodyさん
2012/06/14(木) 02:36:26.54ID:NQVryiBI・フォームの確認画面を想定
・htmlを入力されたらエスケープする
・空欄で送信されたら任意のhtmlをエスケープなしで出力する
で、今自分で設定してるsmartyの設定とテンプレートタグは以下です
$smarty->default_modifiers = array('escape:"htmlall"'); //変数を何でもエスケープ
{$rs.yourName|default:'<span style="color:#f00">未入力</span>'} //空欄だった場合赤字で「未入力」と出力したい
しかしうまくいきません
default_modifiersの設定のせいで変数中のhtmlのタグが埋め込まれてもエスケープされるのは良いとして、
空欄時に出力される未入力にまでエスケープが適用されるため<span>タグも表示されてしまいます
{$rs.yourName|default:'<span style="color:#f00">未入力</span>' nofilter} としたところ、
入力値の変数までエスケープされなくなりました
どうやったら効率的にescapeの適用・非適用を設定できるでしょうか? よろしくお願いします
0776nobodyさん
2012/06/14(木) 02:37:08.45ID:???標準でバンドルされてるだろ
余計なことしてなければ勘違いじゃね?
詳細はマニュアル見ること
とりあえずこれ実行してみれ
<?php
class_exists('PDO') or die('PDO undefined');
try {
$pdo = new PDO('sqlite::memory:');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->query('create table t (c integer)');
$pdo->query('insert into t values(2525)');
$res = $pdo->query('select c from t limit 1')->fetch();
echo $res['c'];
} catch (PDOException $e) {
echo $e->getTraceAsString();
}
PDO undefinedが表示されたらインストコしなおすのが手っ取り早い
2525が表示されたらPDO SQLiteは正常に使える
PDOExceptionが出たら俺がなんかミスしてる
0777nobodyさん
2012/06/14(木) 02:42:14.14ID:bzeb90diPDO undefinedが出力されました
インストールし直します
ご丁寧な対応どうも有難う御座いました!
0778775
2012/06/14(木) 02:49:05.70ID:NQVryiBIdefault_modifiersのエスケープの設定を解除して、
{$rs.yourName|escape|default:'<span style="color:#f00">未入力</span>'}
とすれば意図通りに動いてくれました
しかし何か冗長な気がします。もっと効率的な方法はないでしょうか?
よろしくお願いします
0779nobodyさん
2012/06/14(木) 03:20:58.15ID:???そのへんの人が適当にビルドした罠バージョンかもしれないっすからな
0780nobodyさん
2012/06/14(木) 05:10:57.21ID:???$cnt=1000;
$s=""; for($n=0; $n<(1<<16); $n++) $s.=chr($n);
$basetime = 9999;
for($k=0; $k<3; $k++) {
$t = microtime(true); for($n=0; $n<$cnt; $n++) crc32($s); $t = microtime(true) - $t;
if($t<$basetime)$basetime=$t;
}
$sfnc = array('crc32','md5','sha1');
foreach( $sfnc as $fn ) {
$t = microtime(true);for($n=0; $n<$cnt; $n++) $has = $fn($s);$t = microtime(true) - $t;
echo sprintf("{$fn} %3.0f",100*$basetime/$t ) . "% len=". strlen($has) ."\n";
}
$hfnc = array('md5', 'md5', 'haval128,3', 'salsa20', 'ripemd256', 'sha1', 'haval256,3', 'salsa10', 'haval256,5', 'sha224', 'ripemd320', 'sha256');
foreach( $hfnc as $fn ) {
$t = microtime(true);for($n=0; $n<$cnt; $n++) $has = hash ( $fn, $s, TRUE );$t = microtime(true) - $t;
echo sprintf("hash/{$fn} %3.0f",100*$basetime/$t ) . "% len=". strlen($has) ."\n";
}
0781nobodyさん
2012/06/14(木) 14:34:56.13ID:???$a = "aaa bbb";
最初に現れたスペース以前の文字を削除して $a = "bbb"としたい
下らない質問ですがお願いします
0783nobodyさん
2012/06/14(木) 15:10:11.39ID:???0784nobodyさん
2012/06/14(木) 15:58:18.96ID:???substr
0785nobodyさん
2012/06/14(木) 16:06:29.54ID:???0786nobodyさん
2012/06/14(木) 16:09:07.18ID:???0787nobodyさん
2012/06/14(木) 17:59:30.53ID:???0788nobodyさん
2012/06/14(木) 18:07:10.79ID:v75Tj5Q8>>1
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
こんなこと書いて恥ずかしくね?
0789nobodyさん
2012/06/14(木) 18:25:18.90ID:???0790781
2012/06/14(木) 19:31:33.68ID:???0791781
2012/06/14(木) 20:23:38.16ID:???0792nobodyさん
2012/06/14(木) 21:50:48.81ID:???0793nobodyさん
2012/06/14(木) 21:52:16.51ID:???帰る巣がなくなったからって居つかなくていいよ
0794nobodyさん
2012/06/14(木) 22:02:21.62ID:???0795nobodyさん
2012/06/14(木) 22:28:20.99ID:???0796nobodyさん
2012/06/14(木) 23:03:53.95ID:nLtLti5o1 => 100,
5 => 500,
10 => 1000
);
$b=array();
$i=0;
foreach( $a as $value ){
$b[$i]=$value;
$i++;
echo $value."<br />\n"; // 改行しながら値を表示
}
配列$aの中身を配列$bにまるまるコピーする時ってこんな感じですか?
普通はどうやるのですか?
0797nobodyさん
2012/06/14(木) 23:14:05.10ID:???完
0798nobodyさん
2012/06/14(木) 23:38:22.90ID:nLtLti5oありがとうございます
0800nobodyさん
2012/06/14(木) 23:51:58.86ID:nLtLti5o0801nobodyさん
2012/06/14(木) 23:59:05.34ID:???0802nobodyさん
2012/06/15(金) 00:19:58.66ID:???やはりPHPでは実装は難しいのでしょうか?
0803802
2012/06/15(金) 00:21:55.84ID:???0804nobodyさん
2012/06/15(金) 00:24:11.59ID:???0805nobodyさん
2012/06/15(金) 00:26:34.75ID:???覚えたての言葉はもういいよ
アスペクト指向なんてすでに廃れてるのに時代遅れワロス
0807806
2012/06/15(金) 00:31:15.11ID:???0809nobodyさん
2012/06/15(金) 00:32:22.59ID:???0810nobodyさん
2012/06/15(金) 00:34:45.22ID:???そのレスからアスペクト指向がなんなのかわかってないというのがよくわかるねww
わかってないのにアスペクト指向使えるかとか聞いてどうすんの?wwwwwwwww
0811nobodyさん
2012/06/15(金) 00:38:55.46ID:???0813nobodyさん
2012/06/15(金) 00:40:03.49ID:???0814812
2012/06/15(金) 00:40:24.06ID:???0815nobodyさん
2012/06/15(金) 00:41:08.99ID:???PHPはオブジェクト指向言語ではないのでアスペクト指向の需要は無いかと。
0816nobodyさん
2012/06/15(金) 00:42:31.21ID:???0817nobodyさん
2012/06/15(金) 00:43:41.97ID:???0818816
2012/06/15(金) 00:44:23.06ID:???0819nobodyさん
2012/06/15(金) 00:52:53.10ID:???$a = array(
1 => 100,
5 => 500,
10 => 1000
);
$b=array();
$i=0;
foreach( $a as $value ){
$b[$i]=$value;
$i++;
echo $value."<br />\n"; // 改行しながら値を表示
}
0821nobodyさん
2012/06/15(金) 01:01:35.00ID:???http://kohada.2ch.net/test/read.cgi/php/1292118428/422-
知ってる言葉を使ってみたが全く見当違いの荒らし()
http://kohada.2ch.net/test/read.cgi/php/1131016915/739-743
最後まで構ってあげた俺も
もう秋田からこれ以降相手にしてあげない
荒らし(´・ω・)カワイソス
0822nobodyさん
2012/06/15(金) 01:28:30.19ID:???0823nobodyさん
2012/06/15(金) 01:35:25.13ID:???0824nobodyさん
2012/06/15(金) 01:52:07.53ID:???0826nobodyさん
2012/06/15(金) 03:51:34.41ID:???なくて結局かまっちゃうからだめなんだよな
0827nobodyさん
2012/06/15(金) 05:18:14.25ID:???0828nobodyさん
2012/06/15(金) 08:34:29.30ID:???0830nobodyさん
2012/06/15(金) 09:04:38.88ID:???0833nobodyさん
2012/06/15(金) 10:31:05.86ID:???0834nobodyさん
2012/06/15(金) 11:33:33.47ID:???for($n=1; $n<250; $n++) {
$path = "{$n}_";
for($k=0; $k<$n; $k++) $path .= "X";
file_put_contents( $path, '');
$real = realpath($path);
echo "$n " . strlen($real) . "\n";
unlink($path);
}
0835nobodyさん
2012/06/15(金) 11:46:48.36ID:???環境変数PATHに何文字設定できるか研究したらいい
0836nobodyさん
2012/06/15(金) 12:08:46.32ID:???803 名前:あぼ〜ん[NGWord:自己解決] 投稿日:あぼ〜ん
804 名前:あぼ〜ん[NGWord:回答者] 投稿日:あぼ〜ん
805 名前:あぼ〜ん[NGWord:アスペクト指向] 投稿日:あぼ〜ん
806 名前:あぼ〜ん[NGWord:PHP] 投稿日:あぼ〜ん
807 名前:あぼ〜ん[NGWord:自己解決] 投稿日:あぼ〜ん
808 名前:あぼ〜ん[NGWord:PHP] 投稿日:あぼ〜ん
809 名前:あぼ〜ん[NGWord:アスペクト指向] 投稿日:あぼ〜ん
810 名前:あぼ〜ん[NGWord:アスペクト指向] 投稿日:あぼ〜ん
811 名前:あぼ〜ん[NGWord:PHP] 投稿日:あぼ〜ん
812 名前:あぼ〜ん[NGWord:アスペクト指向] 投稿日:あぼ〜ん
827 名前:あぼ〜ん[NGWord:自己解決] 投稿日:あぼ〜ん
828 名前:あぼ〜ん[NGWord:PHP] 投稿日:あぼ〜ん
829 名前:あぼ〜ん[NGWord:PHP] 投稿日:あぼ〜ん
830 名前:あぼ〜ん[NGWord:回答者] 投稿日:あぼ〜ん
831 名前:あぼ〜ん[NGWord:PHP] 投稿日:あぼ〜ん
832 名前:あぼ〜ん[NGWord:PHP] 投稿日:あぼ〜ん
0837nobodyさん
2012/06/15(金) 16:33:36.32ID:???windowsだとパスが32767文字は扱えるのにPHPではできない。
「ソ」が入ると小細工がいる。
PDO(SQLiteなど)のデータベース関連で、日本語パスのデータベースはほぼ読み込みにいけない。
こんなのPHP本体で対策すべき事なのに。
0838nobodyさん
2012/06/15(金) 17:08:12.03ID:???0839nobodyさん
2012/06/15(金) 18:24:26.70ID:???対応しないらしいので、あきらめろ。
小細工もなにも、ファイル名ならともかく、フォルダ名だと小細工も無理だ。
ファイル名にはunicodeでハートとかつけられるけど、PHPだと通りもしない。
詳しくはCのソース見れ。無理な理由が分かる。
0840nobodyさん
2012/06/15(金) 18:44:06.19ID:???0841nobodyさん
2012/06/15(金) 19:08:06.95ID:b/2+lzW2そうそう!よくわかってらっしゃる!
はい次
0842nobodyさん
2012/06/15(金) 19:47:27.03ID:Dif8SxaJググればあっさり見つかるかと思ったんですが、見つかりません
あと、皆さんどうやってPDOでのクエリ成功/失敗を判別してますか?
0843nobodyさん
2012/06/15(金) 20:30:53.95ID:???http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/appdev.102/E05652-01/pco08err.html#2716
ぐぐったらすぐ出てきたけど
ちなみにPDOに限った話じゃないよ
0847nobodyさん
2012/06/15(金) 21:22:30.37ID:???アホが1匹帰ってくるだけでこのありさま
すげえなまったく
0848nobodyさん
2012/06/15(金) 21:31:30.12ID:???0849nobodyさん
2012/06/15(金) 21:39:45.75ID:???0853nobodyさん
2012/06/16(土) 01:15:04.20ID:???こういう書き込み見るとほんとPHPerって初心者なんだなと思う。
たとえばなぜJavaでSpring AOPが流行りだしたのかわからないだろ?
0855nobodyさん
2012/06/16(土) 01:39:55.13ID:???0856nobodyさん
2012/06/16(土) 01:41:04.32ID:???良くてホスト言語の奇形児、悪くてDSLしか生み出さない非生産的なアレによくも執着できるもんだ
ポストOOPだと意味不明な煽りを真に受けた被害者の一人ってところか
ただのメタプログラミングなのに
0858nobodyさん
2012/06/16(土) 01:50:27.98ID:???いつまでやってるの?
0860nobodyさん
2012/06/16(土) 01:54:48.43ID:???PHPでAOPの話を全くきかないのは
もともと柔軟なPHPにはAOPなんて不要だからだ
0861nobodyさん
2012/06/16(土) 08:25:35.20ID:???PHPはオブジェクト指向言語ではないからはじめから意味ない。
0862nobodyさん
2012/06/16(土) 23:30:37.27ID:???0863nobodyさん
2012/06/16(土) 23:38:09.87ID:???0864nobodyさん
2012/06/16(土) 23:49:34.43ID:???他言語スレに出張できること
0865nobodyさん
2012/06/17(日) 00:22:14.81ID:???0867nobodyさん
2012/06/17(日) 02:04:47.04ID:c6FVl0A0if ($conn){mysql_select_db('sample_db',$conn);
$sql = 'SELECT * FROM counter';$query = mysql_query($sql,$conn);$i=0;
while($row=mysql_fetch_object($query)) {$aaa[$i]=$row->number;$bbb[$i]=$row->god$i=$i+1;}
}
という処理をclassに書いて、呼び出し
配列$aaaと配列$bbbにclassの外からアクセスするにはどうしたらいいのですか?
0868nobodyさん
2012/06/17(日) 02:34:06.80ID:???1. 関数化して一番外のスコープに$aaaと$bbbを定義し処理後にreturn array($aaa, $bbb)する
2. functionの前にstaticをつける
3. class Foo {}の{}内に作った関数を入れる
4. var_dump(Foo::関数名());
今のレベルじゃこんなもんでいいだろう。。
それをクラスに入れてくれって要求自体が滅茶苦茶なので
もうちょっとゆっくり勉強していきましょうね
0869nobodyさん
2012/06/17(日) 02:38:07.58ID:???0870nobodyさん
2012/06/17(日) 03:44:51.78ID:c6FVl0A0ありがとうございます。
class MyClass{
public static function triangle ($width, $height){
return array($width * $height / 2, 78999);}
}
print(MyClass::triangle(10,5). '<br>');
とするとArrayと出るのですが、
$width * $height / 2と78999をprintで出すにはどうするのですか?
■ このスレッドは過去ログ倉庫に格納されています