【PHP】下らねぇ質問はID出して書き込みやがれ 136
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2014/08/06(水) 23:31:16.38ID:GyAfw2+q過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 135
http://kanae.2ch.net/test/read.cgi/php/1405860979/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.5
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0706nobodyさん
2014/08/31(日) 17:08:59.84ID:ytMktGeE「い」が抜き出せるけど、
開始位置を文字列で指定する関数とかありますか?
あああいいいいうえええええええおおおおおかきくけこさ
「か」 が開始位置で6バイト取得したいです。
0707nobodyさん
2014/08/31(日) 17:23:52.19ID:???0708nobodyさん
2014/08/31(日) 17:32:57.22ID:???あと最初の文字の場所を探すならstrstrとか使えばええ
これもマルチバイト文字ならmb_strstr使えばええ
0709nobodyさん
2014/08/31(日) 17:34:48.90ID:???0710nobodyさん
2014/08/31(日) 17:49:19.37ID:VEqj7yjiぺちぴー開発者の姿勢とか頭の悪さがよくわかるよね(笑)
CVE-2014-3538 NOTE: this vulnerability exists because of an incomplete fix for CVE-2013-7345
CVE-2014-3587 NOTE: this vulnerability exists because of an incomplete fix for CVE-2012-1571
CVE-2014-3597 NOTE: this issue exists because of an incomplete fix for CVE-2014-4049
開発者ですらそんなだからね
ぺちぱーは相当酷いんだろうとだけは想像付くけど
どれだけひどいものかは想像だにできないね(笑)
0711nobodyさん
2014/08/31(日) 18:17:37.07ID:???0712nobodyさん
2014/08/31(日) 18:38:14.67ID:???0713706
2014/08/31(日) 18:43:04.47ID:ytMktGeE$moji = "nagesrgsergser@sergserges";
$domain = strstr($moji, "@");
$result = substr($domain, 0, 2);
echo $result;
でもじつは文字列で開始位置を指定するのは良かったんだけど
開始位置より前の文字列を取得したいんだ。
afsdafkadsjfokasdjflksjdfoiejfowiejfoiwejfoiejfoiejfo;ld@vvvsss
開始位置を指定して前の文字列を取得することはできるかな?
ちなみに開始位置は同じ文字が複数ありすぎて指定できない。
0714nobodyさん
2014/08/31(日) 18:55:14.49ID:???0715713
2014/08/31(日) 19:04:59.43ID:ytMktGeEエラーが出るんだ。なんでだろう?
$moji = "nagesrgsergser@";
$mojisuu = strlen($moji);
$result = SUBSTRB($moji, $mojisuu , -2);
0718nobodyさん
2014/08/31(日) 20:44:11.20ID:???哀れだなw
0719nobodyさん
2014/08/31(日) 20:57:51.18ID:RpbU96wx>>702
ありがとう
nginxを使っていて
タイムアウトの設定の変更も試していたんですが無意味でした
なので、これ以上おもいつく節がありません
0721nobodyさん
2014/08/31(日) 21:15:16.54ID:RpbU96wx毎回そんなに面倒なことをしなきゃだめですか?
以前は一括エクスポートで150MBほどでした
0724nobodyさん
2014/08/31(日) 21:34:09.41ID:???どこでタイムアウトしてるのかというとOS httpd MySQL PHPといろいろ原因があるからなぁ
0725nobodyさん
2014/08/31(日) 21:34:14.73ID:???phpでMySQLでテーブル叩いてそのまま吐かすか、
zipで固めて出力するコードを作ればいいんじゃね?
これで異常なら、そもそものデータやMySQLのアプグレが異常と言うことで。
副作用で、phpmyadmin経由でバックアップする作業から卒業できる。
phpmyadminでポチポチ操作することこそ「毎回面倒」だわ俺は
0726nobodyさん
2014/08/31(日) 21:35:08.38ID:???0727nobodyさん
2014/08/31(日) 21:43:21.85ID:???0729nobodyさん
2014/08/31(日) 22:07:16.52ID:???必ず8MBで中断ならタイムアウトじゃなくて出力とかメモリとかの制限に引っかかってるんだろ。
phpmyadminかphpかnginxか何が原因か調べてみないと分からん。
0730nobodyさん
2014/08/31(日) 22:35:43.31ID:???単純にバックアップ目的ならmysqldumpコマンドをPHPから発行してみれば。
あるいは、bashなどから直接mysqldumpコマンドを実行するとか。
0731nobodyさん
2014/09/01(月) 00:00:18.83ID:???> phpでMySQLでテーブル叩いてそのまま吐かすか、
> zipで固めて出力するコードを作ればいいんじゃね?
うそだといってよバーニィ
普通にコマンドたたけよ
0732nobodyさん
2014/09/01(月) 00:15:48.77ID:???もうちょっと嘘回答でこのヴァカをからかって遊ぶんだからさ
いなくなるとまた退屈になるw
0733nobodyさん
2014/09/01(月) 01:04:31.29ID:UOoFEm8cありがとう!
一応自己解決はできたけど教えてもらった関数使ったら
プログラムがシンプルですっきりしたよ。
本当にありがとう!
0734nobodyさん
2014/09/01(月) 02:49:50.88ID:UOoFEm8cデータがないとファイルを開くとかなるんだけどどうして?
特にエラーメッセージが表示される訳でもない。
0736nobodyさん
2014/09/04(木) 09:24:18.53ID:GBg0xN89そんなブログのソースが載っている本を教えて下さい。
0737nobodyさん
2014/09/04(木) 09:29:01.32ID:90EbB4mu0738nobodyさん
2014/09/04(木) 09:50:00.78ID:GBg0xN89つか、ワードプレスからソースをパクるとか出来るのは、超上級者だと思うんですよね。
なので、本でお願いします。
0739nobodyさん
2014/09/04(木) 10:06:22.35ID:???1から勉強したいなら、まずググって自分の欲しい情報を探せるようになるんだ。
まずPHP 入門 でぐぐればええがな。
RDBMSは、MySQL入門以前、中古で買ってくるほうがベターかな。
0740nobodyさん
2014/09/04(木) 10:09:21.16ID:GBg0xN89なんか、ブログと言えば、ワードプレス、ってなっちゃってて、
php+MySQLでブログのソースが載ってる本って新しいのではないんですかね?
0741nobodyさん
2014/09/04(木) 10:11:21.08ID:90EbB4muページを静的HTMLファイルにキャッシュして高速化するプラグインがあるくらいだ。
データベースなくともやれるはずだ。
0742nobodyさん
2014/09/04(木) 10:14:24.63ID:90EbB4mu商用とかワードプレス並の仕上がりが目標ならワードプレスのハッキングくらい出来ないとダメだろう。
0743nobodyさん
2014/09/04(木) 10:15:01.04ID:???0744nobodyさん
2014/09/04(木) 10:27:59.58ID:???0745nobodyさん
2014/09/04(木) 10:32:18.53ID:???ファイルでブログ作るのなんて考えるだけでいやになるわ。
0746nobodyさん
2014/09/04(木) 11:04:13.50ID:???言っていることが支離滅裂なんだが、
1からPHPを学んで覚えてブログを置きたいのか、
ブログのコードが書ければいいのか、はっきりしてくれ。
後者だとしても大凡、自分でコード書くなら1から学ぶハメになるので、
ブログのソースがどうたらとか、えらい先なんだが。
0747nobodyさん
2014/09/04(木) 11:28:50.79ID:???コードがケチャップになりがちだからおすすめしない。
一人が開発してるやつのを参考にしたほうがいい。
ブログなんて掲示板が作れればその応用で作れるから、
掲示板を作れるようにするんだな。
0748nobodyさん
2014/09/04(木) 11:53:58.40ID:GBg0xN891、とりあえず使えるブログのソースが欲しい
2、そのソースに関して解説がしてある
の2つの欲求に答えてくれるのは本だと思うんですよね。
0749nobodyさん
2014/09/04(木) 12:04:11.05ID:???なんか本かって、やってみて分からんことあったら聞いて。
0750nobodyさん
2014/09/04(木) 12:18:29.58ID:GBg0xN89どうもです。
0753nobodyさん
2014/09/04(木) 14:13:38.44ID:???0754nobodyさん
2014/09/04(木) 14:59:13.00ID:???0755nobodyさん
2014/09/05(金) 20:05:58.71ID:???$b= abc()->a;
var_dump($b);
この時syntax errorにならずに、var_dump($b)でNULLが返ってきます。
abc()->aの部分では何が行われているのでしょうか?
0756nobodyさん
2014/09/05(金) 20:06:39.11ID:7KMpAsD40757nobodyさん
2014/09/05(金) 20:20:13.28ID:???0758nobodyさん
2014/09/05(金) 20:35:57.32ID:7KMpAsD4前任者の残したコードなのです。
また、大きなエラーも起こらない箇所だったためずっと発見されませんでした(別件で眺めていたら偶然見つかりました)。
たまたまうまく動いていたのか、これが意図したものなのかもわからず、そもそもこれがどういう動作なのかも分からない次第です。
他にも
if( $check == ok ){
・・・}
というやや変わった書き方をする方でした
(この場合、okが文字列定数として宣言され、$checkには"ok"が入ります)
0759nobodyさん
2014/09/05(金) 20:56:21.13ID:???PHP5なら今ちゃんとNOTICE出るでしょ?
エラーレポートきってなければ
0762nobodyさん
2014/09/05(金) 21:58:42.00ID:???0763nobodyさん
2014/09/05(金) 22:00:28.79ID:???abc()をオブジェクトと解釈してるのか?
phpは変なところでザルだな
0764nobodyさん
2014/09/05(金) 22:02:06.98ID:???0765nobodyさん
2014/09/05(金) 22:27:27.57ID:???abc()の返り値が単にオブジェクトなんじゃない
そのプロパティaを$bに代入してるだけ
中身がないなら実装しかけて途中で止めたように思う
その結果aと$bがNULLになってるだけ
0766nobodyさん
2014/09/06(土) 07:05:33.93ID:???function abc(){}
$b= abc();
var_dump($b);
でもNULLになるよね
だとすると、
$b= abc()->a;
は何をやってるの?
$b = NULL->a;
だとsyntax errorになるし
こういうとこはPHPの謎仕様だよね
0767nobodyさん
2014/09/06(土) 12:19:35.24ID:1c97VfqGよくわかるPHPの教科書 【PHP5.5対応版】
これのpdf版を買った場合、
1、パソコン、スマートフォン、両方で見れるか?
2、テキストのコピペは出来るか?
ご存じの方がいたら教えてください。
0768nobodyさん
2014/09/06(土) 13:06:14.47ID:???>$b= abc()->a;
>は何をやってるの?
abc()はnullを返しているが、その後、プロパティaを呼び出そうとしている。
そのため、その時点でabc()の返り値がオブジェクトに自動型変換されている。
多分だけどね。
http://php.net/manual/ja/language.types.object.php#language.types.object.casting
オブジェクト以外の型の値がオブジェクトに変換される時には、
stdClass というビルトインクラス(予めPHPの内部で定義されているクラス)の
インスタンスが新しく生成されます。
その際、値が null の場合は新しいインスタンスは空となります。
0769nobodyさん
2014/09/06(土) 14:08:06.36ID:???はー、なるほどね
暗黙の型変換をそんなとこでやりますかって感じだね
Warningが出るようにはなってるようだけど
0770nobodyさん
2014/09/06(土) 14:14:17.34ID:???PHP Notice: Trying to get property of non-object
~~~~~~~~~~
0771nobodyさん
2014/09/06(土) 14:22:11.96ID:???768は俺だけど、そういうエラーが出るなら768の説明は誤りだね。
ゴメンなさい。
単純にプロパティを取得できなかったからnullってことかな。
0772nobodyさん
2014/09/06(土) 14:24:26.39ID:???そ。変換もしていない
if (UNEXPECTED(Z_TYPE_P(container) != IS_OBJECT) ||
UNEXPECTED(Z_OBJ_HT_P(container)->read_property == NULL)) {
zend_error(E_NOTICE, "Trying to get property of non-object");
ZVAL_NULL(EX_VAR(opline->result.var));
} else {
0773nobodyさん
2014/09/06(土) 15:20:59.58ID:???あー、なるほど
でも普通ならエラーで落とすよね、そういうの…
なんでNotice出してNULL返してるんだろう
0774nobodyさん
2014/09/06(土) 15:37:00.11ID:???0775nobodyさん
2014/09/06(土) 16:10:52.18ID:???0776nobodyさん
2014/09/06(土) 17:09:18.43ID:dSDmY/HD【PHPのバージョン】5.x
【連携ソフトウェア】Apache PostgreSQL
【質問内容】
Windowsでphp使う場合オススメバージョンとか
あるのでしょうか?
5.3だとmb_系で問題が出やすいとか聞いたことがあります
Apacheを利用するWebシステムを考えてます
0777nobodyさん
2014/09/06(土) 17:35:15.40ID:???ない
なぜならPHPという時点で全てゴミだから
どのバージョンでもセキュリティホールがあって使い物にならない
IT犯罪者にお前のサーバーを踏み台として提供したいなら
どのバージョンでもおすすめ
0779nobodyさん
2014/09/06(土) 20:52:48.11ID:g9801Nhj括弧の中を短くすることはできる?
0780nobodyさん
2014/09/06(土) 21:11:16.31ID:krxgWugX0781nobodyさん
2014/09/06(土) 21:17:32.10ID:???preg_match
in_array
is_int
などなど
0782nobodyさん
2014/09/06(土) 21:56:21.18ID:???上記の文字をランダムに時にはあいうえお、時にはかきくけこ時にはさ(ry
っていうふうにするにはどうすればよいのですか?
シャッフル巻数を使っても難しかったです
0784nobodyさん
2014/09/06(土) 22:16:47.65ID:???そしたらちゃんとランダムに並び替わるだろ
それを1行目のように全角空白でわけてくっつけたいってことなら
implodeでも使え
0785nobodyさん
2014/09/06(土) 22:58:17.31ID:t0tdVzSH組み込みの関数ってありますか?
$arr = array('cat' => '猫', 'dog' => '犬');
$newArray = 関数($arr, array('dog', 'human'));
// $arr から、`dog` と `human` のキーのみを(存在すれば)残し、それ以外は解除
宜しくお願いします。
0786nobodyさん
2014/09/06(土) 22:59:48.60ID:t0tdVzSH上記の操作の場合の $newArray に期待される戻り値は
Array('dog' => '犬')
です。
0788nobodyさん
2014/09/06(土) 23:33:51.01ID:???0789nobodyさん
2014/09/06(土) 23:53:32.58ID:t0tdVzSH自作して使いまわしてたんだけど、ひょっとしたらあるのかな?
ということで質問しました。
ありがとう
0790nobodyさん
2014/09/06(土) 23:54:44.63ID:???0791nobodyさん
2014/09/06(土) 23:59:43.57ID:???例えそれで出来たとしてもビルトインでどうにかするって趣旨とちょっとずれとる
0792nobodyさん
2014/09/07(日) 02:41:04.02ID:???0793nobodyさん
2014/09/07(日) 03:08:27.92ID:???$arr = ['cat' => '猫', 'dog' => '犬'];
$newArray = array_intersect_key($arr, array_flip(['dog', 'human']));
var_dump($newArray);
0794nobodyさん
2014/09/07(日) 06:25:32.76ID:???0795786
2014/09/07(日) 09:22:19.39ID:NG+JTjgmありがとう。
これが一番シンプルですね!
これから書きかえます。
0796nobodyさん
2014/09/07(日) 10:54:13.04ID:x9VgIn4E0797nobodyさん
2014/09/07(日) 13:20:42.73ID:???コードは長くなるけどコストもパフォーマンスも断然上。
0798nobodyさん
2014/09/07(日) 14:17:05.48ID:???可能性として。
それともソース読んだか、あるいはベンチマーク取って断言してんの?
0799nobodyさん
2014/09/07(日) 14:58:16.13ID:???この場合array_flipとか結果を完成させるには必要でも強引で冗長な関数である
ケースバイケースで$arrを増やす分には>>793が早いが
array_flipの中の配列を増やせば逆転してforeachのほうが早くなる
まぁ気にしなくていいんじゃない?そんなアホみたいに配列増やさんでしょ。
0800nobodyさん
2014/09/07(日) 15:01:26.56ID:???気にするならそもそもPHPを使ってる時点で異常
0801nobodyさん
2014/09/07(日) 15:01:32.23ID:x9VgIn4E可読性や保守性が高いコードのほうがよっぽど良いコード
0802nobodyさん
2014/09/07(日) 15:05:35.13ID:x9VgIn4E無駄にワンライナーで書いてみたり
0804nobodyさん
2014/09/07(日) 15:09:16.51ID:???にすれば早いけどこれはバッドプラクティスだな
■ このスレッドは過去ログ倉庫に格納されています