【PHP】下らねぇ質問はID出して書き込みやがれ 133
質問者はまず
>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは
>>2-10辺り
次スレは
>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 132
http://nozomi.2ch.net/test/read.cgi/php/1390166591/ ◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.5
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
【簡易FAQ】
1.文字コードは何を使えばいいの?
→1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
→
http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
→ Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
→ 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
→ {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
→ cronかタスクスケジューラを使え。
7.extractって危険なの?
→変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
→ URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
→ .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
10. そもそもインストールの時点でうまくいかない
→ 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
11. SQLの質問はどこで?
→ データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
→ ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
→ 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
→ よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40 15. クッキーの情報をユーザから隠したい
→ セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
→ strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
→ まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
→ C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(
http://〜とか)を扱う際の限界
→ fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
→19.を参照
21. 画像処理一般 or GDの限界
→ ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
→ 好きにしてください
6 :
nobodyさん:2014/04/22(火) 12:50:06.20 ID:8gZzEhTi
@PHP 5.5
とある処理に非常に時間がかかるため、リクエストを受けたら
すぐに別ページにリダイレクトさせて、裏(?)で処理を継続したいです。
ignore_user_abort(true);
header('Location:
http://localhost/', true, 303);
sleep(60);
exit;
ただ上記のようなコードを実行すると、60秒待たないとリダイレクトされません。
これを header を発行した時点でクライアントをリダイレクト先に誘導したいのですが方法はあるでしょうか。
または「その時間のかかる処理を別スクリプトに書いて、それを非同期のsocket接続で呼べよ」
みたいなセオリーみたいなものがあれば、教えていただきたく思います。
なお、上記スクリプトでエラーは出ておらず、ファイル内にHTMLの空行なども含まれていません
俺ならAjaxでその処理をするスクリプトを呼び出すね
jQuery使えば簡単に出来るよ
locationの直線にexecまたは呼出し側で非同期Ajax
9 :
nobodyさん:2014/04/22(火) 17:03:50.51 ID:EWYUvZ65
WindowsでPHPのCLIアプリケーションを作っているのですが、
「Sample」というユーザーなら "C:\Users\Sample" のように
Windowsユーザーフォルダのパスをを入手したいのですが、
そのパスを直接取得する方法も今PHPを実行しているユーザー名を取得する方法も分かりません。
どうすれば良いでしょうか?
できればXPなど昔のものなら "C:\Documents and Settings\Sample" に自動でなると助かります
pcntl_forkみたいな関数のやつしか知らない
11 :
nobodyさん:2014/04/22(火) 17:26:01.79 ID:EWYUvZ65
$userdir=exec('echo %USERPROFILE%');
とすることで取得できました。ありがとうございました
12 :
nobodyさん:2014/04/22(火) 17:53:38.67 ID:EWYUvZ65
ごめんなさい、もう二つ質問ができてしまったのですが
===================質問1===================
PHPのmt_randは暗号論的には使わないほうがいい(結果が偏る)らしいのですが、
暗号論的に良い(偏らない)疑似乱数や真の乱数を使う方法はありますか?
===================質問2===================
mt_rand()などを使って乱数が作れますが、小数の乱数を作りたいです。
mt_rand(7,15)/1000などすればできるかもしれませんが、パラメータをユーザーの入力に頼るので
整数でも毎回桁の違う小数なども処理できるようにしないといけないのです。この場合、どんな方法を使えばいいのでしょうか?
==================================================================================
またですがよろしくお願いします。
>>11 phpではexecなどの関数は無効化するべき
どうしてもやりたいならやりたいならperlとか別の言語でやれ
【OS名】win7 32bit
【PHPのバージョン】5.3.5
【連携ソフトウェア】xampp1.7.4
【質問内容】
sanmple.php
@$img = new Img2;
A$img->a();
B$img->a2();
C$img->a3();
sanmple.phpに復数のユーザーがアクセスしたときを想定し
ユーザー1が@〜Cのどれかを実行しているなら、
ユーザー2、ユーザー3・・
が@〜Cを実行できず、エラーを返すようにしたいのですか
可能でしょうか?
16 :
nobodyさん:2014/04/22(火) 21:04:38.58 ID:vg2ieRt9
>>14 質問者じゃないけど、どうしてダメか後学のために教えて欲しいです。
17 :
nobodyさん:2014/04/22(火) 21:07:47.35 ID:YX2HFgji
すいません
下げてました
【OS名】win7 32bit
【PHPのバージョン】5.3.5
【連携ソフトウェア】xampp1.7.4
【質問内容】
sanmple.php
@$img = new Img2;
A$img->a();
B$img->a2();
C$img->a3();
sanmple.phpに復数のユーザーがアクセスしたときを想定し
ユーザー1が@〜Cのどれかを実行しているなら、
ユーザー2、ユーザー3・・
が@〜Cを実行できず、エラーを返すようにしたいのですか
可能でしょうか?
ユーザ監視するデーモンでも走らせとけば可能だが
権限ないなら無理
まぁ他にも方法はあるけれどHTTPはステートレスなので確実性にかける
>>17 排他制御用のディレクトリまたはシンボリックリンクを作るのがよくある方法
共有セッションとかあれば出来るんじゃね?
あったっけ?あったような気がするけど
>>12 > 質問1
PHP5.3以上なら
openssl_random_pseudo_bytes
それ以下なら
file_get_contents('/dev/urandom', false, NULL, 0, 【バイト数】)
で、それぞれunpackするなりで加工。
ただし数値の範囲は指定できないのでその辺の処理は考えれば良いと思う。
> 質問2
どういう処理にしたいのかいまいち分からないので未回答で。
ただまあ関数がなければやりたいように処理を組めばいいんじゃないかなと思う。
>>17 fopenで空ファイル作ってflockする。
ただWindowsだと即エラーに出来ない(LOCK_NBが使えない)ので、各処理が重いとか
なら処理を考えないといけない。
キューに入れなくていいのか
23 :
nobodyさん:2014/04/22(火) 22:25:02.56 ID:YX2HFgji
皆様
ありがとうございます。
ググッきます
お前ら優しいな
誰もsanmpleにつっこまないなんて
復数にはつっこまないのか
26 :
nobodyさん:2014/04/23(水) 03:50:09.03 ID:LZHOevql
画像5 画像4 画像3 画像2 画像1
という風に、画像を常に新しいものが一番最初に来るように表示し、
なおかつ次に画像6を挿入した場合、自動的に画像1を次の行にするという風にするには、
どうすればいいのでしょうか?
どこかいい解説サイトか、検索ワードだけでも教えて下さい。よろしくお願いします。
>>26 ファイル 拡張子 修正日 ソート php
28 :
nobodyさん:2014/04/23(水) 09:32:58.09 ID:n9mKN2Qn
phpにmemcached.so拡張を入れ、nginxで処理させているサーバでwordpressサイトを運用しています。
一サイト時は問題なかったのですが、別サーバから既存のサイトをもう一つ持って来た(wpのマルチサイト機能は使っていません。手作業でディレクトリのコピーとデータベースのコピーを行いました)ところ、
memcachedを立ち上げてる時だけ、サイトのキャッシュが両者で混在(現在ログイン画面と管理画面でのみ確認)するという現象に遭遇してしまいました。
原因が分かる方はいらっしゃるでしょうか?
ドメイン以降のパスが管理画面でかぶってるせいでキーがかぶってる?のでしょうか。そこまでアレな仕様では無いと思いたいですが。こんな現象に遭遇したのは初めてです。
自己解決しました。
object-cache.phpのキーにblog_idが使われてたというオチでした。
>>11 echo $_SERVER["USERPROFILE"];
【OS名】RedHut
【PHPのバージョン】5.4
【連携ソフトウェア】MySQL
【質問内容】
開発を効率よく高速化したいけど「高速開発」とかで検索するとRubyが出てくる
PHPでそういう開発を効率よくするものってないの?
フレームワークの事なら
Zend Framework, CakePHP, Symfony
とかかね。
まあRailsほど使われてはいないけど
フレームワークのことだろ
RubyはRailsで有名になったからな
PHPでもいっぱいある
>>32 FuelPHP,Laravel,CodeIgniter,Yii もあるだよ。
国外、国内で事情が違いすぎる上に
おすすめは人によって違いすぎるし無駄な論争の火種なので
おすすめについては、割愛する。
フレームワークって、システムの規模が数万行以上くらいじゃないとメリットないよ
初心者こそフレームワーク使うべきってのと、
初心者は全て手書きすべしって論争があるよな。
俺はいったん仕組み理解したらフレームワークやライブラリ使うけどw
初心者が理解できるのは使い方のみであって、仕組みまでは無理だろ
>>36 たださらさらっと組むにも構造を提供してくれるのは楽だと思う。
ただ、初めてだと学習コストがな〜。
それでも数万行じゃなくともペイできるとは思うけど。
そういうライトな目的のフレームワークもあるしさ。
40 :
6:2014/04/23(水) 17:30:24.39 ID:NdChqa6/
>>7 >>8 アドバイスありがとうございます。
その後、最大30分程度かかるパターンがあることが判明し、Webからのオンデマンド実行と
定期バッチ処理ができるよう、popen でコマンドを実行し、別プロセスを起動するような処理にしました
大変助かりました。ありがとうございました。
ちょっとしたことならマイクロフレームワーク
大きいのは有名どころのフレームワーク
それ以外は自分がよく使う関数セット
42 :
26:2014/04/23(水) 18:35:39.55 ID:LZHOevql
>>27 ありがとうございます。
すみませんが、わかりやすい解説サイトとかってないですか?
検索しているのですが、いまいち見つからないので…
26は自分にしかわからない説明で他人にはさっぱり意図が通じてないと思うぞ
初心者にありがちだが難しいことをしないでまずは簡単なところから
>>26 for文とif文を使うと、5個表示したときに改行という処理ができるようになるよ
phpと全く関係ないよな
うん。プログラミング全般の基礎知識に過ぎない範囲だ。
PHPが初言語ならしょうがないかもしれないけど、やっぱCで童貞を捨ててないマはダメだと思う
ギクッ。
PHPだけならまだ童貞か・・・
誰で捨てようかな
50 :
nobodyさん:2014/04/24(木) 11:40:30.32 ID:w7jebrZm
【OS名】 Ubuntu 12.04 LTS x64
【PHPのバージョン】 PHP 5.3.10-1ubuntu3.11
【連携ソフトウェア】 MySQL
【質問内容】
PDOに関しての質問です。
MySQL関数で書かれたアプリケーションがあり、PDOで書き直しているのですが、
$pomu = mysql_query(クエリ, $sql);
while($hoge = mysql_fetch_array($pomu)) {
// 略
}
と書かれた文を
$sth = $pdo->prepare(クエリ);
$sth->bindValue(':hoge', $fuga, PDO::PARAM_STR);
$sth->execute();
while ($hoge = $sth->fetch()) {
// 略
}
と書いても実行結果が全然違います。何か間違っているのでしょうか…
クエリの中身が違うとしか
52 :
nobodyさん:2014/04/24(木) 11:55:50.55 ID:bBBZQMOB
【OS名】win8
【PHPのバージョン】5.5
【連携ソフトウェア】なし
【質問内容】
フォームに入力した内容を取得するっていうレベルの質問なのですが
ファイル名 sample04.php
<?php
print('お名前 : ' . htmlspecialchars($_REQUEST['my_name'], ENT_
QUOTES));
?>
ファイル名 sample04_input.html
<form action="sample04.php" method="get">
<label for="my_name">お名前 : </label>
<input id="my_name" type="text" name="my_name" size="35"
maxlength="255" value="" />
<input type="submit" value="送信する" />
</form>
実行すると
Parse error: syntax error, unexpected 'QUOTES' (T_STRING) in C:\xampp\htdocs\sample04.php on line 3
というエラーをはきます
文法を確認しても特におかしいところはないと思うのですがどこが間違っているのでしょうか?
>>12 「php mt_rand 危険」
これでググレが1ページ目のどこかに解説が書いてある
なぜ改行してるの?
>>54 あああああああああすみません
改行直します、ありがとうございました
>>12ちなみに君がWindowsで動かしてるならPHP5.3.0以降でもLinuxと同じような保証はない
そういうところを気にするようだからもちろんWindowsで開発してないと思うけど
57 :
nobodyさん:2014/04/24(木) 15:23:33.40 ID:bBBZQMOB
文字コードでUTF-8 2が推奨されてるのはなぜ?
文字化けとかの関係?
>>58 ひどいレスですね。
0x5cに限った話で解決を試みるのであれば、iso-2022-jpでもいいんじゃないの。
>>58 UTF-8 2ってなにを指すの?
ググってもわからんかった
C言語やってからPHP入ると戸惑うな
改行や少しのズレでプログラム動かなくなる
PHPが初心者用と聞いたけど上級者用だろ
それ、おっぱい孫じゃないの?
>>62 関係ない話だけど、最適化がかなり手厚いので、
あまり気の利いた書き方しないよう気を付けてくだされ。
55はマジモンの知恵遅れか
>>55みたいに致命的なレベルで頭悪い奴って本当に同情するわ。
生きてて恥ずかしくないのかね。
↑
基地害の擁護をする荒らし入りました〜
>55はスレタイ通りの下らねぇ質問だと思うけどなw
初心者が初歩的な質問しただけでここまで叩くのか
いつまでも粘着してる奴らの方が荒らしだと思うけどね
>>55,
>>68 何で荒らそうと思ったのかね?
暇潰しにしてもわざわざ人に迷惑かけなくてもいいと思うけどね
質問する場合は、ID出せよ
あと、質問したらそれ以降のレスもID出せ
そんな基本的なルールすら守れない>55は二度と来るな
「二度と来るな」厨がうざいけど、雑音は無視していいぞ
>>76 アンカすらちゃんとかけない人に、まともなコードがかけるとは思えない
55の頭の悪さは異常。
注意書すら読めないとかプログラミング以前の問題でしょ。
注意書なんて普通に社会生活してたら至るところで見かけるわけだから
それを守れないということは、
55がわざとそれを無視して他人に迷惑かけまくってるか
脳障害で読めないor読めていても守れないということ。
存在自体が迷惑でしかない。
いくらプログラミングができてもそういう社会性の欠如した奴は不要。
>>55 雑音は無視でいいからまた何かあったら来いよ
C言語の感覚でPHP書いたんだろうなw
改行に気づかないって完全な初心者だな
まあプログラマならメンタル強くなきゃやっていけないからいくら叩かれても気にするなよ
そういうのに耐えられないとやっていけない仕事
スレッドの注意書きすら読めない低脳が改行に気付けるわけないだろw
スレッドの注意書
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
自演乙です^^
>>1のルールを守らなくても良いということにしたら良い。
ルールを守らなくても良いからRubyの話題で占拠するのも許可される。
そうすればルールを守らなかった
>>55も許されるだろう。
php厨ってリアルでもこういう感じなんだろうなw
>>89 陰湿で粘着な連中なんだろうなw
リアルがあれだからここで初心者叩くんだろうなあ
経験者にはそういう気持ちが分かるのか。
>>82 C言語なら定数を途中で分割して改行できるんですか?
1行目ってそういうことですよね?
PDOでバルクインサートをしたいんだけど、php側で毎度毎度(?,?,?),(?,?,?),(?,?,?)の数調整していかなきゃダメ?もっと簡単な方法ある?
はいゴミクズ1匹入りましたー
>>94 >>55と同レベルの池沼だな。
生きてる価値がないことにそろそろ気付こうよ。
すげえww
圧倒的な粘着力だ。
自演も相当手馴れた粘着玄人やね。
>>94 こっちで知る限り、PDOの範疇ではないはず。
本当PHPスレは低能レスが多いなwww
99 :
nobodyさん:2014/04/28(月) 13:02:46.23 ID:zF1zNeM+
テスト
>>97は自己顕示欲を満たすためならスレが荒れても構わないというキチガイ。
質問以外書き込んでるやつらは皆おなじだろ。
自分の書き込みでなんか反応あるのが面白かったりうれしかったりするだけなんだよ。
顕示欲つーか、承認要求までもいかない反応要求かな。
ちゃんとした回答でソレが出来ないもんだから、こうするしかないんだから仕方ないよね。
鏡
うれしいな、反応あったよ。
>>101 自己紹介板があるんだから自己紹介板に書き込めや
まー質問スレで質問に回答もしないでこんなやり取りして自己満足を満たしてるんだから、
どうしようもないわな。 お前が回答できないのは事実で変えられないもんな。
>>105 質問したら叩かれるという風潮になりそうで怖いな
下手に質問して粘着されるなら誰も質問しなくなってしまう
そうなるとこのスレの存在価値自体なくなってしまう
すごい粘着だよね。実生活でも嫌われ者なんだろう
<?php=echo "Hello World"; >
これでエラーになります
<?php echo "Hello World"; ?>
じゃないの?
<?= "Hello World" ?>
だろ。
何でもいいけど荒れる原因を作った55は今頃パソコンの前でニヤニヤしてるのかね
55はリアルでもウザがられることに気付いてなさそう
>>113 荒れる原因じゃないだろw
害悪なのはいちいち煽る奴
ルール無視の知恵遅れ(
>>55)を甘やかせば、同じくルール無視の煽り厨も活発にもなるわなwルール無視を許すってことはそういうことだろwww
みんなはルールを守ってるけど
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
>55
とりあえず出てってくんねーかな
このスレッドからはもちろんのこと日本社会からも
119 :
nobodyさん:2014/04/29(火) 01:37:25.26 ID:I8Mra4tI
いやいやそもそもぺちぱー自体が不要だから
まぁ、ちゃんとID出せってことだけど、それにしても粘着がすぎるよ。
どうせID出した質問にすら答えない人なんだろうけどさ。
>どうせID出した質問にすら答えない人なんだろうけどさ。
思い込みで書き込む精神障害の典型例
いたw
強制IDになればID出し忘れもなくなるし、粘着さんが回答してるかどうかも分かる(というか、粘着する理由がなくなる)し、
いいことだらけだとおもいませんか?
全角大なりひとつとはまた斬新な安価の書き方だな
126 :
nobodyさん:2014/04/29(火) 06:53:35.20 ID:I8Mra4tI
>125こうですかわかりません><
PHPerはガキが多い
qiitaでPHP関連投稿してる奴らも他人の記事でよく煽りコメント打ってる
言葉の選び方も知らない奴に多いのがPHPer
荒らしの相手すんなよ
ガキで結構
でもガキの中でも優劣があるんだよ
>>55とかガキの中でも最底辺
>>55は文法とかそういう問題だからな
参考書読んで出直してこいという感じ
それをいつまでも粘着してスレ荒らすやつはもっと糞
文法とかそういう問題じゃないだろ。
コミュニティのルールをわざと無視して荒らしてる愚図。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
137 :
nobodyさん:2014/04/29(火) 23:48:29.84 ID:xGRovx+K
【OS名】win8
【PHPのバージョン】5.5
【連携ソフトウェア】なし
【質問内容】
たとえば1000位ある配列に決まった文字列を結合(添付)する方法ありませんか?
for とかループを使わずに。
【例】 $a[0]="りんご";$a[1]="みかん"; 〜$a[999]="いちご"; の前に 文字列"果物"を結合
→ $a[0]="果物りんご";$a[1]="果物みかん" 〜;$a[999]="果物いちご";
>>137 array_map(function($v) { return "果物".$n; }, $a);
139 :
138:2014/04/30(水) 00:09:17.38 ID:???
ミスった。
array_map(function($v) { return "果物".$v; }, $a);
141 :
137:2014/04/30(水) 02:42:35.49 ID:JJA4pL11
>>138-139 おお、array_mapですか!
大感謝!教えてくれてどうもありがとう!!(^O^)
スレッドのルールを無視する
>>55って本当に頭悪いんだろうな
forを使う前に配列の数を事前にcountで数えたりする手順を省きたいという
個人的な理由でおま
他にできれば1行で済ませたかったというのも理由だったり。
そういった個人的な動機で今回頂いた
>>139の回答はベストの回答でした
146 :
nobodyさん:2014/04/30(水) 09:34:23.31 ID:JJA4pL11
どうせ55だろ
まだ住み着いてるのか
>>55 テメーみたいなクズのせいでID出さずに質問する奴が後を絶たないんだろーが
責任とれや精神障害
150 :
nobodyさん:2014/04/30(水) 16:15:09.33 ID:bhiAH83u
>>13,14
遅くなってしまいましたが、ありがとうございます。
とりあえず
>>13についてはローカルでしか行わないのでスルーしますが、何か良い方法があればそちらを使います…
PHPにCSPRNG(暗号論的擬似乱数生成器)は無いですか…またどうしても必要になったときに(代替案を教えてもらうため)質問します
2.は
>どういう小数か
例えば、
$min=0.001; $max=1;
と指定して、その間の乱数が出るようにしたいのです。出来れば関数にしたいのですが…
目的は説明しにくいのですが、精度はmt_rand()位のもので構わないです。
質問2は今聞きたいです、よろしくお願いします…
151 :
nobodyさん:2014/04/30(水) 16:17:33.77 ID:bhiAH83u
>>21で質問1はopenssl_random_pseudo_bytes()が出てました、見落としてすみません
そしてありがとうございます
>>150 もうそれだったら
mt_rand(1, 1000)
の結果を1000で割ればいいんじゃないかな。
153 :
152:2014/04/30(水) 20:14:48.33 ID:???
>>150 こんな感じはどうだろうか。
function test_rand($min, $max) {
$i = pow(10, strlen($min) - 2);
return mt_rand($min * $i, $max * $i) / $i;
}
このままだったら$minが1以上だとダメだし、桁数が増えるとかなり不安。
というかstrlenの無理やりっぷりがかなりダメっぽいが使えないことはないはず(未検証)
154 :
nobodyさん:2014/04/30(水) 21:32:15.78 ID:mmY1oCt0
長い連想配列から、何回もデータを取り出す時、
echo $data['hoge'];を繰り返すのと、
$Hoge = $data['hoge'];
echo $Hoge;を繰り返すのでは
ではどっちが効率がよく早いのですか?
>>154 試せばいいんじゃ?
他人に聞くより面白いよ
ベンチマークのとり方ぐらい覚えろや
>>154 どれも遅いです
これが最速です
class Data{
protected $data;
function __construct($data){
$this->data = $data;
}
protected getData($key){
return $this->data[$key];
}
class Hoge extend Data{}
$hoge = new Hoge($data);
echo $hoge->getData('hoge');
呼び出せませんが。。
覚えたてのクラスを使いたかっただけ
他人に説明できるだけの知識もスキルもないのに自己顕示欲を満たすためだけに書き込むからそういうことになる
え、説明が必要な質問だったの?
163 :
nobodyさん:2014/05/01(木) 14:59:09.46 ID:rJxa+dp0
>>163 馬鹿は引っ込んでろよ
「早い」かどうかの質問なんだから文字数が少なく、
つまり、タイピングコストの低い後者だろ
貶すためには文脈無視した詭弁も厭わない、その意気や良し
プログラマーのくせにベンチの取り方も知らないって恥ずかしいよ
こんな質問できるのは幼稚園児までだね
____
// \\
/( ●) (●)\ ねえ、ゆうにいちゃんちょっと聞きたいんだけど
/::::::⌒(__人__)⌒::::: \ 長い連想配列から、何回もデータを取り出す時、
| |r┬-| | echo $data['hoge'];を繰り返すのと、
\ `ー'´ / $Hoge = $data['hoge'];
/` ‐- __ - ‐‐ ´ \ echo $Hoge;を繰り返すのでは
/ .l _,,ヽ ___ 〉、 ではどっちが効率がよく早いの?
| l / ,' 3 `ヽーっ
ヒト- _ l ⊃ ⌒_つ おじさん達に聞いてもさっぱりわからないって言われてさ
. !__  ̄, ̄ `'ー-┬‐'''''" 「ゆうにいちゃんならパソコンの大先生だから聞いてこい」って。
L  ̄7┘l-─┬┘ ごめんね、こんな初歩的なこと聞いて。
ノ  ̄/ .! ̄ ヽ
└‐ '´ ` -┘
$n = 1000000;
$start = microtime(true);
for ($i = 0; $i < $n; $i++) {
//do something
}
$end = microtime(true);
echo $end - $start;
文脈無視も何も書いてある通りに解釈しただけだと思うが。
ああ、底辺ペチパーはそれができないからまともにコードも読めないのか。
これは納得。
効率 前者
早い 後者
microtimeしかしらないバカ
>>170 書く効率がいいのは後者だろ
効率はどっちの意味とも取れるってんなら明確な後者に合わせる必要がある
効率ってメモリのことじゃないのか
効率重視ならそもそもPHPなんか使わなくね
効率重視ならRubyだろjk
華麗にスルー
>>174 プログラミングで、前置きなしに「効率」と言ったら
明確な定義があるよ。
>>177 どんな定義?
とりあえず書く効率とか言う人ははじめて見たわ
181 :
nobodyさん:2014/05/01(木) 22:01:27.22 ID:IVC8nsmp
半角括弧の「[」、これだけを置換しようとすると
長音の「ー」、これまで変に置換されます。
文字コードはSJIS。文字コードをUTF-8にすれば大丈夫だと思うのですが、
SJISのまま対応することできますか?
182 :
nobodyさん:2014/05/01(木) 22:04:06.59 ID:IVC8nsmp
追記、使用したコードです
$value = str_replace('[', "", $value);
mb_str_replace試した?
184 :
nobodyさん:2014/05/02(金) 00:08:13.50 ID:ur7avpqc
>>183 試していないのですが、
mb_strstr($value, "[")
で長音「ー」にヒットするので
mb対応でもだめみたいです
ーを「cho-on」に置換してまた戻せばいいんじゃね
SJISじゃなくてUTF-8にすればいいじゃん
そもそもファイルをSJISにしとくのがおかしい
UTF-8保存してSJISで出力するようにしろ
187 :
nobodyさん:2014/05/02(金) 00:28:34.64 ID:ur7avpqc
>>185 >>186 レスありがとうございます。
とりあえず置換で対応して
UTF-8保存してSJIS出力にしてみます
>>187 mb_internal_encodingでSJIS(SJIS-winのほうが好ましい)指定してる?
指定してなくてmb関数系を使用する場合は、引数にencodingを指定しないと正しい結果は得られない。
そもそもこういう現象が起きてる理由分かってるかな?
[の文字コードがーに使われているからなんだけど。
だから
>>185の回答は、[とー以外にもそういった現象が起きる可能性があるから意味が無い。
というかこの件に限らず、こういう時は他の文字列に変換するとか普通はやったらダメ。
絶対に使用されない文字列に変換するとかなら考えないことはないけど、「cho-on」って絶対に入力されない文字なの?
また
>>186も意味が無い。
理由としては上に書いたのと同じで、[とー以外の文字でこういった事が起きる場合があるから。
というか個人的に言わせてもらうと、UTF-8が好ましいって言うだけならまだしも、SJISにしとくのがおかしいっていうのは単なる偏見。
内容によってはSJISでも良いよ。
知ったか乙
偏見もクソあるか
デメリットだらけのSJISを使う必要はない
190 :
nobodyさん:2014/05/02(金) 03:24:42.72 ID:ur7avpqc
>>188 mb_internal_encodingはよく理解していませんでした
mb_strstrにencoding設定もしていなかったので正しく処理できていなかったと思います
参考になりました。ありがとうございます
>>188 mb_internal_encodingを設定することで
mb_strstr、mb_ereg_replaceで希望する処理になりました
ありがとうございます
>>189 5C問題で何度かエラーが出たことがあるので
UTF-8保存してSJISで出力に対応しようと思います
ありがとうございます
192 :
nobodyさん:2014/05/02(金) 04:29:58.32 ID:qs7JG5q/
ひんがら目気色悪すぎこっち見んな死ね。ひんがら目気色悪すぎこっち見んな死ね。ひんがら目気色悪すぎこっち見んな死ね。
ひんがら目気色悪すぎこっち見んな死ね。ひんがら目気色悪すぎこっち見んな死ね。ひんがら目気色悪すぎこっち見んな死ね。
ひんがら目気色悪すぎこっち見んな死ね。ひんがら目気色悪すぎこっち見んな死ね。ひんがら目気色悪すぎこっち見んな死ね。
ひんがら目気色悪すぎこっち見んな死ね。ひんがら目気色悪すぎこっち見んな死ね。ひんがら目気色悪すぎこっち見んな死ね。
ひんがら目気色悪すぎこっち見んな死ね。ひんがら目気色悪すぎこっち見んな死ね。ひんがら目気色悪すぎこっち見んな死ね。
ひんがら目気色悪すぎこっち見んな死ね。ひんがら目気色悪すぎこっち見んな死ね。ひんがら目気色悪すぎこっち見んな死ね。
SJISを使ってはいけないのは5C問題だけじゃないんだけどな
>>188 >理由としては上に書いたのと同じで、[とー以外の文字でこういった事が起きる場合があるから。
具体的にどの文字を指しているのかkwsk
2バイト目がprintableなコード全てだろw
つか、質問ならid出してくれ
それはsjisの話でしょ
utf-8のについてなんだけど
188はSJISの話だね
utf-8にすれば解決するってことだな
なんでutf-8にしても意味がないって
>>188は言ってるの?
200 :
188:2014/05/02(金) 20:08:58.05 ID:???
調べたらUTF-8は問題なかった。
>>186は本当にすまんかった。
以前UTF-16扱ってる時にでバグが出てたから勘違いしてた。
ファイル名がS-JISなのはどうにかならんのか
windows使うのがいかんのだろあが
で、UTF-8は何も問題なし?
>>189 なんでSJISだけそんなに食い付くの?
このスレで出てる回答の9割は嘘やいい加減な内容なのに。
基本的に質問者を騙して楽しむって暗黙の了解があるんだから水をさすなよ。
何こいつきっしょー
>>202 多分
>>186は普段いないGW厨だろwたまたま来て覗いたけどそういう了解を知らないから間違った内容が目に入って思わず突っ込んだんだろw
205 :
nobodyさん:2014/05/03(土) 13:22:28.77 ID:dwgODfUZ
<?php
$stmt = $dbh->prepare("SELECT * FROM REGISTRY where name LIKE '%?%'");
$stmt->execute(array($_GET['name']));
// プレースホルダは、値全体に対して使用しなければなりません
$stmt = $dbh->prepare("SELECT * FROM REGISTRY where name LIKE ?");
$stmt->execute(array("%$_GET[name]%"));
?>
↑これプリペアドステートメントの間違った使い方なんですが、
どっちが間違ってるんですか?
206 :
nobodyさん:2014/05/03(土) 13:34:58.30 ID:dwgODfUZ
すいません↑は解決しました。
追加で質問なんですが、
PDOのexecuteで配列で値を渡すのと、
bindParamで値を渡すのは何が違うんでしょうか?
あと静的プレースホルダと動的プレースホルダの違いを教えて下さい。
>>206 lmgtfy . com/?q=php+%E9%9D%99%E7%9A%84+%E5%8B%95%E7%9A%84+%E3%83%97%E3%83%AC%E3%83%BC%E3%82%B9%E3%83%9B%E3%83%AB%E3%83%80+%E9%81%95%E3%81%84
209 :
nobodyさん:2014/05/03(土) 16:56:02.72 ID:dwgODfUZ
なるほど
たぶんなんとなくわかりました
ありがとうございました
executeで渡すと全部PDO::PARAM_STRになるんじゃなかったっけ
そんな記憶がある
明示しなければ、デフォルトの PARAM_STR になるだけの話
212 :
nobodyさん:2014/05/03(土) 20:30:18.66 ID:SAeP1+WO
>167あたり
echo $data['hoge'];
でここまで白熱してくれるとは思わんかったぉ。
今は会員データをすべて一度変数にいれてるんだけど、
連想配列にすれば、一行で終わって簡単だから、
そっちにしようか迷ったわけですが、
後者今のままのほうがよさそうなので、今のままでいきやす。
どもでしたのでした。
「一致します」と表示されてしまう理由わかりますか?
<?php
$a = "10円";
$b = 10;
if ($a == $b) {
echo "一致します";
}else{
echo "一致しません";
}
?>
<?php
$a = "10円";
$b = 10;
if ($a === $b) {
echo "一致します";
}else{
echo "一致しません";
}
?>
215 :
nobodyさん:2014/05/03(土) 22:43:41.22 ID:qufEmRhb
>>151、
>>153 ありがとうございます
>>151のものはユーザーが入力した値を使えないし、
>>152だと1以上の値は使えない、だと痛いです…
とりあえず今すぐ作らなければいけないプログラムではないので、
時間があれば
>>152のものを改造するなりどうしても分からなければ再度質問することにします。
それと、また聞きたい事がが出来てしまったのでまとまれば質問します、いつもすみません…
216 :
nobodyさん:2014/05/03(土) 22:54:12.96 ID:qufEmRhb
217 :
nobodyさん:2014/05/04(日) 12:51:19.54 ID:SSVjx9p2
>215
乱数は基本のmd5とかshなんとかとかを適当にやって、
後はネットで検索するとランダムで英数字を作れる
サンプルが山ほどあるので、多くは桁数を指定できるので、
んで、基本の乱数にプラスでつければけっこう使える。
少数以下はなんに使うかわからないけど、
過激な重複がなければ、マイクロ秒をちびちびと
応用すれば、だいたい現場で使えるかと。
>>217 md5とかはハッシュ値を作るものであって乱数を決めるものじゃない。
ハッシュ値を出力するにしろ0-9a-fの範囲しか文字が存在しないから質問の回答としては不適切じゃね?
219 :
nobodyさん:2014/05/04(日) 17:25:16.70 ID:i3JfacAa
添付ファイルの維持について質問したいです。
下の流れで処理するフォームを作りました。
1.送信フォーム
↓
2.確認画面
↓
3.送信完了
確認画面のエラー処理などで送信フォームに戻る処理をすると
参照したファイルがリセットされ「ファイルが選択されていません。」の状態に戻るのですが、
添付したファイルを維持するにはどうすればいいのでしょうか?
>>219 ようゴミ
スレタイすら読めないゴミには無理
>>219 添付ファイルのみを別フォームで送信する
222 :
nobodyさん:2014/05/04(日) 18:44:10.10 ID:i3JfacAa
>>217 現場で使わないでください。というか、現場に来ないでください。
というレベルなんですけど。
まあ工事現場の話なんだけどな
226 :
nobodyさん:2014/05/04(日) 21:32:48.44 ID:SSVjx9p2
>223
たしかに、会員サイトは長くやってるけど、
全部辞書とか見たりした独学でやってるんで、
プロっていうか企業のレベルは
わかりません。資格もないので。
現場っていうのは、まあ。そういうレベルではないけど
あるいみ実践なレベルです。
見方かえればごみかもしれません。はい。
俺も同じだがmd5で乱数っていう発想は無かった
>227
乱数は基本のmd5とかを適用にやって現場で使えるかと。
ネットで検索するとサンプルが山ほどあるのでけっこう使える。
∩___∩ |
| ノ\ ヽ |
/ ●゛ ● | |
| ∪ ( _●_) ミ j
彡、 |∪| | J
/ ∩ノ ⊃ ヽ
( \ / _ノ | |
.\ “ /__| |
\ /___ /
>>225 ネットで検索すると(略)サンプルが山ほどある
↑PHPでこれをやるとどうなるか分かってるならいいんだけど。
PHPをけなすいつもの人と勘違いしないで欲しいんだけど、ネットのサンプルのひどさは有名だろ
>>229 md5が乱数には適さないという
論理的な反論があるならどうぞ。
>>231 MD5は衝突を無視すると、与えた入力と一意に対応するので、
解析用の辞書が出回っており、入力が文字列や数列になっていると、
わりと簡単にクラックされるので、用途に注意。
とかかな。
>>231 229じゃないけどハッシュ関数と乱数生成器の違いが判らないので教えて欲しいの?
236 :
nobodyさん:2014/05/05(月) 15:47:10.22 ID:CeNcO2Ei
list($a,$b)=
みたいな感じで連想配列に突っ込みたいんだけどできる?
237 :
229:2014/05/05(月) 17:32:37.81 ID:???
>>237 下らないAA貼らずに最初からそう答えればよかったのに
ガキかよ
239 :
237:2014/05/05(月) 19:51:12.62 ID:???
>>236 list($arr['a'], $arr['b']) = explode()
こういうこと?
241 :
nobodyさん:2014/05/05(月) 20:15:40.42 ID:eyH3xZ+U
俺は乱数「意味不明で一意の数字」ときいたら、
それで対処しちゃうけどね。
何年もおkだし、ユーザーに迷惑かけたこともない。
大手のセキュリティーなんて、どこも似たレベルで
小学生が考えるくらいの工夫もない。
だから毎日ニュースに大手の不正アクセスが乗る。
どれがプロレベルかは難しい。
ま、運用が目的で、中身はどうでもいっかくらいだからから、
間違いの手法でも気にならないんだろう。
飲酒運転しているやつの言い訳にありそうなやつだなって思った(小並感)
243 :
nobodyさん:2014/05/06(火) 10:03:03.23 ID:Nk4oF//+
PHPとMySQLの質問です
mysqliを使って
___________________
|giftcode .|←※カラム名「giftcode」
|0000-0000|←※ここから下は値
|0000-0001|
|1516-9247|
・
・
・
のようなテーブルから1つ(上からでもランダムでも良いです)値を取りだしてからその行を消したいのですが、その場合
アクセスが集中した際に、SELECT文を実行して値を取得するときからDELETE文を実行するときまでの時間に
他のアクセスが来て、同じ値を取得してしまうことは無いのでしょうか?
入っている値はgiftcodeのように1人にしか教えてはいけないものなので、
上記のようなことが起こりうるなら解決策を教えてほしいのです…よろしくお願いします
>>243 そういうロック処理をしてもらうのがデータベース。
トランザクションと排他ロックを使うことで同じ値をつかむのを防止できる。
必要なSQL文一式を START TRANSACTION と COMMIT 文で挟んでひとまとまりにし
FOR UPDATE でロックをかける。こうすることで、SELECT で取得したレコードは
COMMIT (またはROLLBACK)するまで、ほかのクライアントから一切読めなくなる。
START TRANSACTION;
SELECT 〜〜〜〜 FOR UPDATE;
DELETE 〜〜〜;
COMMIT;
245 :
nobodyさん:2014/05/06(火) 11:21:59.78 ID:Nk4oF//+
>>244 ありがとうございます。
ですが、ランダムに選ぶ場合は偶然あたった場合、
上から順の場合は他が使っていた場合のエラー処理はどうすれば良いのでしょうか?
できればmysqliで説明してくれると助かるのですが…
246 :
nobodyさん:2014/05/06(火) 11:23:40.40 ID:xK4xRkfj
【OS名】CentOS
【PHPのバージョン】6.5
【連携ソフトウェア】MySQL
【質問内容】
小さいというか小規模向けのフレームワークというのはないのでしょうか?
現在Codeigniterを使ったりしているのですが、MVCとして分けるほどのものでもないので
小規模向けのそういったフレームワークを探しています。
検索しても大きなものしか出てこないのですが無いので出てこないということでしょうか。
247 :
nobodyさん:2014/05/06(火) 11:35:39.86 ID:Nk4oF//+
>>245の続きです
流石に排他ロックされていないものを自動でSELECTできればいいなと思ったんですが、
giftcodeカラムの他にlockedカラムを作り、排他ロックする前にその行lockedをtrueにする、とプログラムを作れば
WHERE文で「lockedカラムがtrueでないもの」で探せば良いのではないかと考えました。
この考えはセキュリティ的に大丈夫でしょうか?
248 :
nobodyさん:2014/05/06(火) 11:37:03.97 ID:Nk4oF//+
>>247の「流石に」は無視でお願いします
流石に「排他ロックされていないものを自動でSELECT」は無理ですよね?
の書きかけです…
250 :
nobodyさん:2014/05/06(火) 11:46:47.89 ID:Nk4oF//+
>>249 データベース関係のですが、PHPで操作しているので
PHPの質問として質問してました…
次からはデータベースに近い質問はそちらでします…ありがとうございました
>>240 そう
でもそれだと書く量多いので工夫したい
252 :
244:2014/05/06(火) 12:45:16.85 ID:???
>>245 詳しく言うと、
>>244 の処理は、データベースから値を取りだして消すまで
ほかのアクセスを待たせます。そのため順序付けやランダムに関係なく、同時アクセスで
偶然同じ値を取得してしまうことは起こりえないわけです。
mysqli で書くとこんな感じ(手続き型で書いている場合は適宜書き換えてね)
$mysqli->begin_transaction();
$mysqli->query('SELECT giftcode FROM table_name WHERE 〜〜 FOR UPDATE;');
$mysqli->query('DELETE FROM table_name WHERE diftcode=○○');
$mysqli->commit();
>>247 のような "locked" フラグをいけると思いますが、
結局はそのフラグにも排他ロックが必要なのは同じなので、だったら無駄なことはせず、
上記のようなコードでいいと思います。
>>252 コードまでありがとうございます!
でも(SELECT文などの)待機中にDELETEされたら待機してる処理が実行不可能になってしまうのでは…
それとWHERE文で排他ロックされていない行を探すことは出来ないのでしょうか?
そのためにlockedフラグを作ろうとしているのですが…
お願いします
254 :
nobodyさん:2014/05/06(火) 14:12:51.72 ID:Nk4oF//+
>>253 lockedフラグの考え方でいいよ。
排他ロックの話は、ロック解除時に使用済みのギフトカードを取得することになるんじゃないのという懸念のとおり。
update tname set locked = true where giftcode = (select giftcode from tname where locked = false order by random() limit 1);
の結果が、1件になるまで繰り返して、1件になったときのレコードを処理すればいいよ。
繰り返す必要もないか。まぁ、そういうこと。
連投スマソ。
mysqlならこうかけるようだ
update tname set locked = true where locked = false order by random() limit 1;
便利ね。ただ、postgresqlのreturning相当のものがないと、結果を取得しないといけないので、
update tname set owner = ユーザIDかなにか where owner is null order by random() limit 1;
select giftcode from tname where owner = ユーザIDかなにか
giftcodeを使った処理
delete from tname where owner = ユーザIDかなにか
という流れでいいと思う。
>>253 テーブルにgiftcodeを取得したユーザーIDを格納するカラムに追加(仮にgetid)、初期値は0としておく
最初の取得で
begin transaction;
select 〜 for update where getid=0;
recordがあったら
update 〜 set getid=userid where (取得したgiftcode)
commit
recordがないときは、giftcodeは全部使い切ってる
後続の取得処理は、先行する処理がcommitするまで待たされる。
先行の処理のcommit後は、getidが0でないので、このgiftcodeは除外される
こんな感じかな
だれが取得したか記録しておく必要があるなら、giftcodeの削除は出来ないと思う
ロックのことはよくわからんけど、ギフトコードが連番って不正取得される危険高くならない?
チェックデジットとかを付与してバルクアクセスを防止したほうが良さそうだけどどうだろう
ここに書く都合でじゃない?
262 :
nobodyさん:2014/05/06(火) 22:07:14.15 ID:Nk4oF//+
>>256-261 ありがとうございます!
ここで質問するまで、誰かが取得したギフトコードは個別の何かに移動するとか考えてましたが、
>>260の方法を使うことにします、ありがとうございました!
それと、実際に使う場面ではAmazonギフト券のコードを使うのですが、他にセキュリティなどで気をつけることがあればご教授お願いします…
263 :
nobodyさん:2014/05/07(水) 01:04:31.53 ID:q/xRq63h
【OS名】CentOS
【PHPのバージョン】5.5
【連携ソフトウェア】なし
【質問内容】
標準「入出力」のストリームがほしいのですが
どうしたら作れますか?
>>265 264じゃないけど
標準入出力 というものがあると思って言っている?
それともそういう便利に抽象化する何かを期待している?
r+のようなイメージで、読むときは標準入力、書くときは標準出力へと振り分けてくれる
便利なストリームはないのか、ということだと思うけど、ないと思う
ってあれ、どうしたら作れますか、か。
streamWrapperを使えば作れそうに見えるけど、試してみた?
270 :
nobodyさん:2014/05/09(金) 03:22:37.99 ID:f3K0xu9L
mail関数でBccを使って複数の人にメール送りたいのですが
toは省略できないのでしょうか? できないとしたら自分のアドレスを使うのでしょうか
271 :
270:2014/05/09(金) 03:34:27.28 ID:f3K0xu9L
すみません。null にしても送信できました。
受け取った側が undisclosed-recipients; になるから
何か設定した方がいいと思うけどね。
>>246 とりあえず本当に検索したのか疑問なんだけど
「php micro framework」とか「php フレームワーク 軽量」で検索して好きなものを見つけろ
>>231 そういう記事を書くと次の日にはてぶコメントで炎上しますよ
記事に書いて反響コメントを見てみればいい
>>213 がんばってネタ書いたけどスルーされてる気持ち教えて?
279 :
270:2014/05/09(金) 15:16:53.21 ID:???
>>272 初めて知りました
ありがとうございます
===じゃなくて==での比較の話だろ
283 :
nobodyさん:2014/05/09(金) 18:40:35.27 ID:RDgDN0Q7
【OS名】CentOS5
【PHPのバージョン】php5.2.8
【連携ソフトウェア】Pear HTTP_Request2
【質問内容】
・知りたいこと
お気に入りの巡回・更新バッチを作っているのですが、HTTP_Request2 で、
最大受信バイト数を指定する方法はあるでしょうか。調べたけど、バッファの
サイズは指定できるのに、最大バイト数の指定については、リファレンスにも
見当たりません。
もしくは、他に簡単に、URL指定、タイムアウト指定、最大バイト数指定をして
HTTPでコンテンツを取得できる方法はないでしょうか。
最大バイト数を指定したいのは、php 側ではそれほどメモリを使いたくない為、
Allowed memory size of 〜 bytes exhausted エラーで落ちちゃうのをやめたい
ためです。
・他にやってみたこと
代替案として、file_get_contents のバイト数制約を使ってみたのですが、こち
らは、バイト数の制約はできるのですが、条件によっては、http の取得中に、
フリーズする不具合があるので、使えませんでした。(再現URLは、友人の
個人サイトのrssなのですが、不思議と、HTTP_Response2 ではフリーズは
発生しませんでした。調べてみると、response 待機中に無限ループになる
可能性があって改善策はないそうで)
Waitかけつつ、常駐で動かしていきたいので、堅牢なライブラリはない
ものかと考えてます。(そもそもphpは常駐には向いてないのかもしれませんが)
すみませんが、ご存じの方いたら、ご教示くださいませ。
無限ループになる方がおかしい
>>282 echo (int)"10円";
これで分からないならあきらめて。
>>283 プロトコル的に考えれば、HEADでContent-Lengthを取得、制限したいバイト数と比較して、
Rangeヘッダを付加したGETを送信すればいいだけだと思うよ。
session_startのオン状態を判別して
オフならsession_startする方法ありますか
session_status()
PHP使ってる時点でこだわるところが違うよ
pythonみたいにa,b=[1,2]みたいなことはできないから
それで妥協できないならphpにこだわる必要はないかなと
>>290 array_combineあたりで妥協してくれ
初心者に限ってコード量が少ないのが良コードだと思い込んでるものなんだよな
理想系を挙げなければならない
>>236の場面でああいうコードを書いてしまうのがダメなんじゃないかなぁ。
たとえば、$arr['a', 'b'] = explode(' ', 'a_val b_val'); みたいに書くことはできないのかって質問なら、
気持ちは分からんでもないと思うわけで。
>>295 そういう書き方を例としてあげられるのは、前提として
>>236の質問があったからこそだと思うよ。
PHPの構文でエラーが出るような書き方で質問するのは難しいだろうね。
「pythonではこういう書き方できるけどPHPではこういう書き方できないのか」みたいな一文があれば良いかもしれない。
ただそれもpythonとか他の言語を知っていれば入れられる文章だけど。
なぜまともなレスが1つもつかないのか
298 :
nobodyさん:2014/05/10(土) 05:58:28.59 ID:9ae9/7cJ
299 :
nobodyさん:2014/05/10(土) 06:07:03.28 ID:kBl9fngz
質問させてください。
【OS名】 Windows 7 64bit版
【PHPのバージョン】 5.5 64bit版
【連携ソフトウェア】 SQL Server 2008
【質問内容】
Windows(64ビット機)上で、Apache(64ビット版)+PHP(64ビット版)を動作させています。
この動作環境で、PDOで SQL Server に接続する要件が発生しました。
PHP(64ビット版)でPDOでSQLServerに接続する方法を教えてください。
なお、Microsoft Drivers 3.0 for PHP for SQL Server では上記環境をサポート
していませんでした。
宜しくお願いします。
>>299 起きがけで寝ぼけてるかもしれんがODBCは?
クライアントで動かす程度の要件なら、
PHPを32bit版にするのが手っ取り早い。
気もする。
$_REQUESTってあまり使わない方がいいの?
$_GETか$_POST使った方がエラー出にくい?
ぐぐれば理由でてきますよ
>>302 $_REQUEST
のほうが汎用性高いだろ
$_GETとか下位互換だろwww
<?php
sum = (a, b) -> a + b
みたいな感じで関数書きたいんだけどできる?
何が書きたい関数なんそれ
$sum = function($a, $b) {
return $a + $b;
};
echo $sum(5, 8);
じゃあそう書けば
MySQLでテーブルを表示させる関数って廃止されたのね
あれ便利だったのに
何がタイプ量だ
おまいみたいなカスのタイプ量なんざたかが知れとるわw
ちょっと毛の生えた程度の
>>236みたいなのってどこにでもいるんだな
>>314 あっいつもの人ですよね。おつかれさまです。
いつもの人ですよねって、お前がいつもいるって自己紹介してるんだね^^;
立場は違えど、お互い様ですね。
319 :
nobodyさん:2014/05/11(日) 15:03:10.57 ID:3BaeSEEW
MySQLでデータベースを選んでその中からレコードを取り出すのはわかるのですが
テーブル自体を取得するにはどうすればいいのでしょうか?
特定の関数を使うのかそれともクエリを実行して配列に入れるのでしょうか?
>>319 テーブルのリストがほしいってこと?
それなら MySQL に INFORMATION_SCHEMA っていうデータベースがあってそこに入ってる。
SQLの質問はDB板でやったら良いと思うよ
他の人間にも参考になるし、雰囲気は悪くない板だ
多分、回答者はここのメンバーと重なるけどね
テーブル名だけならSHOW TABLES
323 :
nobodyさん:2014/05/11(日) 16:30:06.75 ID:3BaeSEEW
>>320 テーブルのリストがほしいです。
具体的にはテーブルのリストを取得してそれをドロップダウンに反映させたいんです。
ありがとうございました。
なんでPHPスレで質問したんだろう・・・
何でやるにせよ、行き着くところ「どういうSQLのクエリーを書けばいいか」になるよね?
まさか、DBのファイルを直接アクセスして自分で解析したいわけじゃないよね?
>>326 PHP側で動かすならそう単純でもないんじゃない
テーブル一覧を引っ張ってきても表示でつまずきそうだけどな
そういう関数があれば別だが
ORMのソース読めば書いてあるよ
>テーブル自体を取得するにはどうすればいいのでしょうか?
聞きたいことはこれなんでそ?
素のテーブル名引っ張ってきてプルダウンって、かなり危ないアプリ作っているようにも見えるが・・・
>>329 それならDBのスレでいいなw
>>330 危ないか?
業務でそういうの作ってるわけじゃないからよくわからんが
推測するに、特定のdatabaseに年月日か何かでテーブル名を持っていて
順次テーブルが増えるシステムなんじゃないかな。例えばアクセスログだとか
>>332 ゴミの推理ごっこなんか誰も読まねーんだから壁に向かって喋ってろ
…ひとり?
MySQLのautoincrimentって無くなった?
自動採番で便利だったのに
なくなるわけねーだろdb板で死ねや
PHPってバージョン変わると使えなくなる関数とかあるし
HTMLとかと組み合わせないとまともに使えないからぶっちゃけ欠陥言語だろ
>>335 sqliteと記法が違うから、気を付けろ。
PostgreSQLで最新10件の奇数のレコードだけ取得する方法を教えてください
340 :
nobodyさん:2014/05/12(月) 12:13:52.73 ID:YZItTa1A
そうなるとPHPではなくSQL命令やデータベース固有命令とかだろ。
>>339 SQLだけでやるならwindow関数のrow_numberを使って奇数行だけ取り出す方法
普通は偶数行も共に取ってきて、奇数行だけにphp側で減らす方法かと
普通か?
どう考えても、SQLでやるだろ。
「10件取ってくる」ってだけでも、DBMS依存なのに。
10件程度だからいいけど
何万件とかになっても無駄な奇数行をphp側に持ってくるの?
>>337 仕様変更とバグフィクスは分けられてるから
最新バージョンを使わなくちゃいけないって考えは大間違い
>>344 環境や状況に応じて手法は最適化するものでしょ。
まず10件と万単位を比べている時点でダメだね
ただの揚げ足取りがしたいってだけの無能なレス
>>345 未だ4.x系で動いてるシステムぎょーさんあるで
しかも規模が規模だから置き換えも難しいし
顧客も今問題が起きてなきゃどーでもイイネスタイル
ってゆう
>>349 4から5はメリット大きいから依頼がよく来るけど、大体は5.2か5.3で落ち着いてるな
問題が起きてなくて不便でもなければ据え置きは正しい選択だよ
351 :
nobodyさん:2014/05/13(火) 07:49:36.23 ID:n97WlEcd
無駄に技術力のあるキチガイサイトだな
>>351 PHP関係ない
lightboxでぐぐるよろし
大した事やってなかった
おじちゃんおともだちいないの?
358 :
nobodyさん:2014/05/21(水) 00:09:07.61 ID:cY0Url6N
PHP 5.3系がサポート終了するって言うんで5.5への移行考えてるんだけどやっぱ大変?
ちなみにフレームワークは、Cake1.3使ってる。こっちも一緒に上げないとだめ?
359 :
nobodyさん:2014/05/21(水) 01:15:39.27 ID:p5gLXcKW
【OS名】Linux
【PHPのバージョン】5.3
【質問内容】
SJISでmb_convert_caseをMB_CASE_UPPER使おうとしたら
'd'が文字化けしてしまいます。'c'が入ってると勘違いされてるようですが
マルチバイト専用関数なのになんでこんなにアホなんでしょうか?
mb_ereg_replace_callbackはバージョンが合わず使えませんでした
一種類ずつ置換しようと思いましたが遅くて使えなかったので
どうしたらいいか教えてください
361 :
nobodyさん:2014/05/21(水) 01:36:57.31 ID:p5gLXcKW
>>360 ありがとうございます!ずばり解決しました!
全ての文字をUTFに統一して欲しい
糞みたいな文字コード開発したクズどもは全員死刑にしろ
363 :
nobodyさん:2014/05/21(水) 02:21:43.06 ID:YqBasNtt
レンタルサーバーで練習中です
【質問内容】
phpでプロキシを経由してサイトを閲覧し、
閲覧してるサイトのフォームに自動入力するプログラムを作りたいのですが、
どうしたらいいのかわかりません アドバイスもらえませんか
364 :
363:2014/05/21(水) 02:25:46.61 ID:YqBasNtt
フレームで分割して、フレーム1から入力した値(プロキシのip,portなど)を、
フレーム2のphpファイルに渡すところまではできました。
ですがそこから詰まりっぱなしです
365 :
nobodyさん:2014/05/21(水) 05:32:07.00 ID:L2j3cLUW
クラスの機能を一部変更した時やプロジェクト内を全置換などをした時など
変更によってphpエラーが出力されているページの一覧を簡単に調べたいです。
調べる方法やツールはありますか?
>>362 今だからそういう事言えるけど昔はいかに少ないバイト数で表現出来るかが重要だったわけで
>>363 ( ^ω^)
>>365 拡張子phpを持つファイルをコンソールで実行して結果を返すようなバッチ処理を仕込んでみたらいかがか
>>365 find -exec で php -l すればいいんじゃないの。
もしくは、バージョン管理サーバーのコミットバッチに何か仕込むとか。
>>366 >>367 レスありがとうございます
まったく理解できてませんが、レスをヒントに調べて頑張ります
369 :
nobodyさん:2014/05/21(水) 09:29:18.80 ID:vX6qhClk
>>362 過去は過去だよ
今SJISを使ってる奴がアホであり
SJISに変換できない文字が何かを知らない奴がアホであるのだよ
メールも統一されないかね
>>370 入出力やらファイル名やら
全部SJISなのに捨てきれるの?
zend.multibyteとzend.script_encodingを設定すればSJISでも使えるんじゃないの?
>>371 Windowsも内部はUnicodeだよ
保存ファイル名utfで渡したら化けね?
>>374 化けるよ
WindowsのカーネルがUnicodeをShift_JIS(Windows-31J)に変換してアプリに渡してるからな
FAT32はShift_JISな
>>375 ファイルシステムによってコードを変えるのか?
面倒だな
utfの後ろに数字入れてないからどれのこと言ってるのかわからんし適当にいっときゃいいよな
Windowsは全部UTF16LEじゃなかったか
382 :
nobodyさん:2014/05/21(水) 14:50:26.72 ID:kJPXkf8b
Windowsは内部はUTF16LEだが。
SJISでもアクセスできるようになっている。
おまえら14年も前の話をしてるのか
時代についていけなさ過ぎだろ
文字コードなんてどうでもいい
対策しきれないやつが吠えてるだけだろ
あとは専スレでやってくれ
JISのマップがマニュアルに載ってなくてハマった事あるなあ…
ついてこれない()
場違いな阿呆がよく使う言葉だな
上級者様に「専スレでやってくれ」って言われずにすむ話題ってなんなんだろうなぁ
>>390 windowsのphpで
FATにもNTFSにも対応できる漢字ファイル名の扱い方ね
Windowsに限らず、全角文字のファイル名で保存しようと思うのがそもそも微妙だしな〜。
あ、自分
>>383じゃないんで。
全宇宙統一ウニコードを作れはよ
標準化団体とかいううさんくせえ利権団体のカスどもは仕事しろクズが
>>393は経緯を知らないからそんなこというんだわ。
符号化方式とごっちゃになってる可能性まである。
>>393 お前が世界統一団体を作ったとしても
大韓民族の大移動を防ぐことはできないだろう
ロンゴロンゴはいつごろ割り当てがもらえるのかな
windowsのPHPはファイル名を
SJISにしなくてもUTF16で扱えるよ
入出力は入力、出力側依存でなんでも扱える。
cmdとかはunicode対応してるしな
外部はSJISというのも、
ファイル名がSJISというのも、
入出力がSJISというのもあってない
398 :
nobodyさん:2014/05/22(木) 07:57:26.09 ID:TVKVAMsH
PHP本体がUTF16LE不対応なので、ファイルアクセスにUTF16LEは使えず
PHPでファイルリスト取得しようとしても、UTF16LEを含むファイル、ディレクトリは無視される。
これがwindowsで使う際の昔からの弱点と思ってる。
未対応って
弱点にするほど致命的か?
>>398 対応してないとは思えないけど?
いつのバージョンですか?
思うだけかよw
404 :
nobodyさん:2014/05/22(木) 08:57:43.32 ID:TVKVAMsH
6未満のすべての実装でUTF-16は不対応だろ。
PHP6開発 UTF-16化を断念、5.3へロールバック | マイナビニュース
PHPの次期メジャーバージョンはPHP6になるとみられてきたが、問題を打破するために開発ブランチを5.3ベースへ巻き戻すという対処が実施された。
Rasmus Lerdorf氏がphp.internals: PHP 6においてPHP6 Unicodeの実装が失敗したことを伝えている。
PHP6ではエンジン内部の処理がUTF-16に統一される計画になっていたものの、関係者からはこの方針は間違っているのではないかという指摘もあった。
これまでの取り組み
PHP6で取り組む基本的な内容として、PHPエンジン内部におけるエンコーディングをすべてUTF-16で実施するという方針が決定した。
しかし実際に取り組んでみるとCPU負荷が高い上にメモリも食うことが判明。
しかもどのエンコーディングが使われているか判断する実装が難しく、さらに後方互換性も失われるという問題がでてきた。
mbstringといった程度の対応でいいユーザにとって不利益が多すぎるうえ、開発者が開発版を使いたがらないという状況に陥った。
http://news.mynavi.jp/news/2010/03/17/053/ Windows API - Wikipedia
Unicode対応
Windows NT系では当初からUnicodeが用いられている一方、Unicodeに対応していないWin16と互換性を取るために、
Win32 APIから同じAPIに対してマルチバイト文字版とUnicode版の2つを用意し、C/C++のマクロを駆使してコンパイル時にどちらを使うか選択できる仕組みが採用されている。
その場合、マルチバイト文字列を与えるべき関数・構造体は末尾に「A」を付け、ワイド文字列を与えるべき関数・構造体は末尾に「W」を付けて区別している。
>>404 内部エンコーディングを統一する話と
特定エンコーディングへの対応の話を勘違いするなよ
406 :
nobodyさん:2014/05/22(木) 09:31:09.45 ID:TVKVAMsH
同じではないが関係はある。
PHP開発は、主にPOSIX準拠(UNIX、LINUX)で行われていて
開発者が意図して、Windows(UTF-16)の対応を進めない限りは対応しないはずだ。
POSIX準拠のC言語関数をそのまま使えば、Windows(S-JIS)にしか対応してない。
下らねえことでageるな質問だと思うだろ
PHPの公式Windows版はANSIのAPIを使うようにコンパイルされてるよ
だからUnicode対応ではないよ
自分でコンパイルしたらわからんけど
windowsでPHPのWebシステム作るなら
どこが出してるPHPとApache使うのがお勧め?
>>409 >>1 言いたいことはわかるけど、質問の意味に
勘違いがあってどうしたものかってのもあるが。
411 :
質問者己:2014/05/23(金) 12:40:05.00 ID:LR3HrDkX
文字列 $haystack に、文字列 $needle があるかの判定。
if (strpos($haystack, $needle) !== false) {
//ある場合の処理
}
ある場合が false とか !== とかスマートと思えない。
一番普通の書き方は?
または一番読みやすくコスト安い良い書き方は?
他の言語で言うところの != -1 ならスマートだと思うのかな?
>>411 それがスマートに見えないなら関数自前すれば?
主観のスマートさを例を提示しないで出されても困るだけだよ
>>411 Cを経験してない人には分かりにくいという話に過ぎないので、
気になるなら好きな名前でラッパー書くなり関数足せばいいと思う
スマートかどうかはさておいて、十分読みやすいよ
if 文の中はbool値判定なのに、それをさらにbool値と比較するのはアホくさいだろw
>>416 アホ臭いと思う奴はアホ臭い
どうせ、手順数は変わらん
だったら、位置を返す関数なんて使わずに、あるなしをboolで返す関数かぶせれば?
420 :
nobodyさん:2014/05/23(金) 15:06:25.77 ID:DKlNZ22O
・変数がセットされている
・変数の中身がNULLである
という条件だとします。
if (isset($data)) {
// 変数が存在する場合の処理
}
これだとissetはFALSEになるので、処理が実行されません。
変数がNULLでも変数がセットされているので処理を実行させたい場合、
どういう書き方が適切でしょうか?以下のような書き方で良いのでしょうか?
isset($data) || !is_null($data)
>>417 じゃあ、 (((何とか === false) === true) !== false)
ここまでやってくれよ、手順変わらんのだろ。
423 :
質問者己:2014/05/23(金) 15:45:22.93 ID:LR3HrDkX
>>419 おぉ、ありがとう。
if (substr_count($haystack, $needle)) {
//ある場合の処理
}
これの方が好みだ。
(countだから、文字列最後までみる無駄は承知)
p.s.
if (!is_bool(strpos($haystack, $needle))) {
書けることに気付いた。
他の返信者もThankyou!
PHP初心者なので、普通の書き方?があるのかな、と思っていた。
自前関数つくれば?、というのはごもっとも。
(boolean isExist($haystack, $needle); とか)
でも、大抵のこと、やりたいことだけを書けばよいPHP。
その生産効率の高さに感激していたのに、ここはこれ?ってのに違和感あった。
>>420 http://www.php.net/manual/ja/language.types.null.php > 変数は、以下の場合に NULL とみなされます。
> ・定数 NULL が代入されている場合。
> ・まだ値が何も代入されていない場合。
> ・unset() されている場合。
変数がセットされてないはNULLがセットされてると同じなので
変数に参照する方法だと無理です
グローバル変数であれば、$GLOBALSにarray_key_existsを利用する方法があります
ローカル変数だと、compactを利用する方法があります。
どちらにしろあまり推奨できる方法ではありません
>>424 変数名を文字列にしなくちゃいけないしね。
426 :
質問者己:2014/05/23(金) 17:12:17.62 ID:LR3HrDkX
if (is_int(strpos($haystack, $needle))) {
//ある場合の処理
}
最終的にこうした。
他あればご教授よろしく。
427 :
nobodyさん:2014/05/23(金) 17:19:10.52 ID:/68HgEjX
>>426 「一番普通の書き方」は最初のやつなので、それを外れるなら何でもいいと思うよ。
>>427 動的に変更したい部分だけコードを書けばいいって考えに基づくなら。
>>427 <?phpの後 改行スペースなしでファイルが終わってると駄目なんだなー
431 :
420:2014/05/23(金) 17:38:40.05 ID:DKlNZ22O
>>424-425 「変数が呼び出されている」「しかし変数はNULLである」
という条件をTRUEとするため、何か良い書き方はないでしょうか?
issetだと駄目なので、どうやって書けばいいか悩んでいます・・・
PHP null 未定義 区別 で検索すればやり方はあるけど、
そもそも なんで未定義をチェックしないといけないの?
nullが入ってくるかもしれない変数をnullかチェックしたければ、あらかじめなんかnullじゃない値
入れとけばいいじゃん。
433 :
420:2014/05/23(金) 18:12:13.36 ID:???
分かりました。もうちょっと勉強します。ありがとうございました。
変数が動的に作られる状況がよくない
そういうのは連想配列でやるべき
動的に変数宣言できるのがピュアエッチピュアのウリなんだろ?
勘違いしすぎ
forの中で動的に生成した変数を躍動的に活用するのが真のピュアエッチボーイだからな
>>430 最後が改行で終わってないと、気持ち悪くてしょうがない。
俺だけ?
>>438 正しいよ。
しかし無理解から最後の改行を消してしまう人が居るのも事実。
1byteでもファイル容量は削るべきだろう
空改行なんかしてるやついたらモニタでしばき倒すわ
ファイルサイズが1byte以上であるなら、最後のコードは改行であるべき
これ守ってないと動かないツールがたまにある
それはゴミツールが悪い
たった1バイトのために汎用性度外視とか
そういえばPHP 5.4をビルドするときに
最後が改行で終わっていないというウォーニングが
延々と出るよねw
>>445 はい、君4K50型モニタでしばきまーす
447 :
nobodyさん:2014/05/24(土) 09:27:13.22 ID:bHZkuXrt
【OS名】Apache/2.4.3 (Win32)
【PHPのバージョン】5.4.7
【連携ソフトウェア】xamppでテスト中
【質問内容】
あるhtml要素を取得後、body要素内のテキストを配列に取得、そのテキストをforeachで処理したいと思っています。
(最終的にはふりがなを付けたいと思っています)
ですが各要素内のテキストがうまく取得できません。正規表現が間違ってると思うのですが、どのように直せばよいでしょうか?
コードは以下です。
<?php
$a ="disuse<html>disuse<head>disuse</head>disuse<body style='background-color:#550'>need1<ul><li>need2</li>need3
<li>need4</li></ul>need5</body>disuse</html>disuse";
$pattern = "#<body[\s\S]*?>[\s\S]*?>[\s\S]*?<[\s\S]*?</body>#u";
preg_match_all ($pattern, $a ,$b);
/* 配列の処理 */
foreach($b[0] as $c){
echo $c;
echo"<br>";
};
?>
echoの結果は以下になります。
<body style='background-color:#550'>need1<ul><li>need2</li>need3
<li>need4</li></ul>need5</body><br>
>>440 じゃあコメントも書けないな
コメントも一応メモリを使うから
>>440 変数名とかは全て$aとか$bとかにしてるのかすげーな。
>>440 なぜPHPが終了タグ直後の一つの改行のみは許す仕様になっているのか考えたことはないのか。
ついでに、インデントはタブじゃなくて4スペースでお願いします
4スペースの文化消えて無くなってくれねえかな
なんなんアレ
TABだとフォントによって崩れる(キッ
じゃねえよ
んな糞フォント使うなって話だよ
ついでにMSゴシック縛りはなんなんだよ
メイリョKEもしらんのかハゲと言いたい
いくら大企業で給料良くても、糞みてえな規約には従いたくないわ
> TABだとフォントによって崩れる(キッ
こんなこと誰も言ってないと思われます
TABはフォントに関係ないからね
問題は、TABは環境によって幅が変わるということ
8スペース1TABは普遍的文化ではないんだよ
なのでスペースインデントが基本であるべき
インデントが4か8かは好きにしてくれ
フォントによって崩れるなんて意見初めてだな。
別に俺はタブで統一するならするでいいけど、
気づかずに混ぜる人が現れるのが問題だと思うわ。
1BackSpaceで削除できるTABの方が良い
TABの長さなんぞIDEに任せればよい
旧時代の老害だけだよ、スペースインデントにこだわってるハゲなんて
>>454 TABの長さは君の環境とそれ以外の環境とでは違う可能性があるんだよ
自分の環境さえよければそれでよし、なんてのは老害以前の自己中発想だから
IDEに任せればよい?
君の使っているIDEはインデントをワンアクションで増減することすらできないのか。
世界には貧しい環境があるものだな。
インデントがタブかスペースのどちらが良いかなんて宗教戦争みたいなもんだろ。
解決するもんじゃないからコーディング規約に従っとけ。
ちなみにgoogleは2スペースだ。
>>457 2スペースのほうが見やすいんだよな
ただ一般的には4やらタブやらが入り混じってて結局4スペースに落ち着く
自分は、phpとかのC系だと、2スペースは結構見づらく感じる(慣れの問題かもしれんが)。
460 :
nobodyさん:2014/05/25(日) 10:52:44.62 ID:lpo1VNoB
require_onceについて質問です。
ファイルを読み込んだ先で、再度、同一のファイルを重複して読み込む場合、
何か処理をする必要がありますか?
マニュアルを読むと、読込は最初の一度だけらしいので、大丈夫そうなのですが、
セッションの有無などで、読込許可・読込不可を分けられたら、明示的にif文などで
場合わけした方がよいのでしょうか?
<?php
//読込元ファイルabc.php
require_once(.'/def.php');
require_once(.'/xyz.php');
//以下処理
?>
<?php
//読込先ファイルxyz.php
require_once(.'/def.php'); //def.phpを重複読込
//以下処理
?>
最初に読み込んだものだけが有効とはいえ、重複読込に関して、
何か処理が必要なのか心配です。
よろしくお願いします。
http://jp1.php.net/manual/ja/function.require-once.php
require(及びinclude)は、その場所への「差し込み」と捉える。
つまり、読み込んだファイルを自分の一部として扱うということ。
だから、変数名や関数名の重複には気を付けないといけない、とか
session_start()のような関数をあちこちで書く意味がない、とか
いろいろ理解できると思う。
462 :
460:2014/05/25(日) 12:02:33.92 ID:lpo1VNoB
>>461 レスありがとうございます。
>だから、変数名や関数名の重複には気を付けないといけない、とか
require_onceを使った読込でもやはり重複に気をつけないといけないのですね。
そうなると、場合により、セッションの有無などで読込をするかしないか
決めた方が安全といえそうですね。
<?php
//読込先ファイルxyz.php
//ログインフラグが有る場合、既にdef.phpを読込済み
if (empty($_SESSION['login_flag'])) {
require_once(.'/def.php'); //def.phpを読込
}
//以下処理
?>
またはファイルを読込済みか判定する関数などあるのでしょうか?
>>460 requireとrequire_onceの二個がある
require_onceは読み込み前に
前に読み込んだことがあるかを確認して
ない場合のみの読み込みが保証されている
から大丈夫
464 :
460:2014/05/25(日) 12:16:49.41 ID:lpo1VNoB
俺もタブ派だけど、PSRでスペースと規定されてるからなぁ。
個人で作ってるからタブ使い続けてるけどさ。
規約のために利便性を損ねるキチガイ軍団
末端プログラマーだとそう思っちゃうよね
タブ幅が環境によって違うからスペースでなくてはいけないって言う奴いるけど
それはコーディングルールがタブではダメなことしてるだけ
例えば、行の先頭でないのに縦方向を揃えようとしてるとかな
タブでもスペースでもいいが、きちんと決めることが全て
PSR-1とPSR-2を分けたのはえらいよな〜
4スペどうしても見づらいんだよなあ…スペ2が好み
個人的には if()の後ろのスペースも苦手
if( $a )
{
echo('こう書きたい');
}
なんか明確なルールかなんかあるんかね
俺はDOSの頃から書いてるから4オンリー
タブは段組として扱ってるからスペース型はカーソル移動が面倒で嫌
スペースインデントはreadシステムコール数回分地味に遅いということが起こり得るw
パンチカードか何か読ませているんですか?
>>464 include_onceとrequire_onceは使う
読み込まれたかどうかよくわからないような仕組みが一番の原因だ
>>464 なんとか_onceなんてPHPだけだから
そんなくだらんものを使う前にソースコードを見なおして込みこむべき場所と読み込まない場所を明確にしておけ
えー、Cなんかincludeされるファイルはほぼすべて宣言が1回だけになるようにガードされてるじゃんw
>>475おじいちゃん、ここphpスレだからお家に帰りましょうね〜。
478 :
460:2014/05/25(日) 18:59:18.80 ID:h238CVXt
>>474 確かに仰るとおりです。設計がまずいのが原因かもしれません。
HTMLの特定部分を、ある共通PHPファイルを読み込んで
1. ログイン中はPHPの流れで直接出力、
2. ログアウト中はJavaScriptから呼び出して出力
するよう変更したところ、2.の場合は問題にならないのですが、
1.の場合に、再度、初期設定ファイルの読込も共通ファイル内でしてしまい
上記の疑問が生じた次第です。
こういう設計はまずいでしょうか?
479 :
nobodyさん:2014/05/25(日) 19:10:04.35 ID:H1WvTlSM
ちょっと煮詰まってしまったので、質問させてください。mbstringが、どうしても利用できないので困っています
OS:CentOS6.5 PHP5.5.12 apche2.4 で利用中
以下の行に対し
$msg = mb_convert_encoding($msg, 'SJIS');
↓このエラーがでます(mbstring入ってないんじゃないの?エラーだと思うのですが
PHP Fatal error: Call to undefined function mb_convert_encoding()
mbstringは以下のように設定中で、apacheの再起動もOSの再起動も行い、includeも走っていることは確認済みです
# rpm -qa |grep php
php55u-cli-5.5.12-1.ius.el6.x86_64 php55u-mysqlnd-5.5.12-1.ius.el6.x86_64 php55u-common-5.5.12-1.ius.el6.x86_64
php55u-5.5.12-1.ius.el6.x86_64 php55u-pdo-5.5.12-1.ius.el6.x86_64 php55u-mbstring-5.5.12-1.ius.el6.x86_64
php.iniの設定値(コメントアウトしていないもの)
[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = UTF-8
mbstring.http_output = pass
mbstring.encoding_translation = On
mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII
mbstring.substitute_character = none
ls -la /usr/lib64/php/modules/mbstring.so
-rwxr-xr-x 1 root root 1408328 May 21 19:14 /usr/lib64/php/modules/mbstring.so
ls -la /etc/php.d/mbstring.ini
-rw-r--r-- 1 root root 57 May 21 19:14 /etc/php.d/mbstring.ini
php_info() の 「Additional .ini files parsed」の項目には、/etc/php.d/mbstring.ini とありますが、
php_info()では、それ以外にmbstringの記述は無いようです
各サイトを見て回っても、CentOS(linux)の場合は、インストールでOKとしか見当たらず、
誤字も色々見まわしたんですが、見つけられずちょっと煮詰まっています
なにか心当たりある方居ますか?
>>478 どういう設計家はよく分からないけど、設定部分、HTML、プログラムの処理部分はきっちりファイルで分けておいたほうが良い。
HTMLに関してはフレームワークやテンプレートエンジンとかで出力。
根本的なところで、1で問題が起きたから後先考えずとりあえず2のようにしましたって感じがする。
設計がまずいというより設計を寝られていないのがまずいんじゃないのかと。
>>478 だからそういう設計はクズだっつってんだろ
どこで何回インクルードされるか制御できてないのが問題
_onceは使うな
>>479 includeが何を意味しているのかよくわからないが
mbstringが有効になってない
mbstringのモジュールをロードしろ
>>481おじいちゃんもうご飯ですよ〜。
>>479 コマンドラインでphp -vとか実行したらwarningが出てる可能性があるから確認して下さい。
>>483 よくわからいからそういう煽りをいれるんですね、さすが低能
485 :
nobodyさん:2014/05/25(日) 19:21:40.26 ID:H1WvTlSM
mbstringのモジュールのロードは、
/etc/php.d/mbstring.ini
で行われていて、php_info()の結果にmbstring.iniがあるかどうか確認
と各サイトには説明がなされているのですが、
どこかで明示的にロードを行う必要があるということでしょうか?
↓/etc/php.d/mbstring.iniの中身です
cat /etc/php.d/mbstring.ini
; Enable mbstring extension module
extension=mbstring.so
>>485 extension_loadedでロードされてるか調べろ
>>483 php -v の結果です
/var/logの下も確認しましたが、特にwarningは出ていなさそうです
php -v
PHP 5.5.12 (cli) (built: May 21 2014 18:57:47)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
php -v関係ないし
>>488 2重に定義されてたりするとwarningがでるんよ。
ただそれならphp -mのほうが良かったと思った。
というわけで試してください。
>>487
490 :
nobodyさん:2014/05/25(日) 19:34:55.41 ID:H1WvTlSM
>>486 php -m では、mbstringは存在していました
# php -m |grep mbstring
mbstring
extension_loaded('mbstring') では、ロードされていないようです
何かこの違いがとっかかりになりそうな気はします
Webから見た場合の「Loaded Configuration File」 は、/etc/php.ini
コンソールから出した場合の「Loaded Configuration File」 も、/etc/php.ini
両方同じですが、webからとコンソールからで違う部分というのは他にありますか?
>>490 実は古いphpが残っているとか、ディレクトリの階層によって読み込んでいるiniファイルが
違ってた(htaccessとかでPHPIniDirの設定など)とか、そのくらいしか今思い浮かばない。
PHPIniDirで新しいiniファイル設定して、mbstringだけ読み込めるか確認してみればどうだろ?
492 :
nobodyさん:2014/05/25(日) 19:58:58.93 ID:QcLwHWKl
index.phpに
header.php
main.php
hooter.php
を読み込んで表示させているんですが
読み込まれる側(header.phpやmain.php)の書き方にルールはあるのでしょうか?
<HTML></HTML>タグなんかは省略してもindex.phpでは表示はされますが
書かなきゃいけない、もしくは書いてはいけないというルールありますか?
また、header.phpやmain.phpのページに直接アクセスさせない方法ありますか?
色々ググってみてはいるんですが、ググる単語が合ってないのかヒットしません
ググれば分かるようであれば、ふさわしい名称(?)を教えて下さい
>>492 iframeみたいに複数のHTMLを呼び出して表示するのとはちがって
index.phpでの出力が最終的な1枚のHTMLになる、ってことを考えれば分かるかと
header.phpとかにアクセスさせないにはサーバーの.accessで設定したり
header.php自体に呼び出す際パラメータを指定しないと内容を返さないようにするといいのでは
まちがえた .htaccess
>>492 > 読み込まれる側(header.phpやmain.php)の書き方にルールはあるのでしょうか?
> <HTML></HTML>タグなんかは省略してもindex.phpでは表示はされますが
> 書かなきゃいけない、もしくは書いてはいけないというルールありますか?
極論を書くと要件通りに動けばなんでもアリ。
だからルールとかは気にせず、phpの仕様と規約とかそういうのを除けば書きたいように書けば良い。
ただその中で可読性とかがあるわけで、そういうのは意識しないとだめかなと。。
もっと言うと、今流行っているやり方っていうのがあるわけなんだから、そういうのに合わせたほうが本当は良いよ。
> また、header.phpやmain.phpのページに直接アクセスさせない方法ありますか?
仮に、apacheでアクセスしているのがpublichtmlディレクトリだったとする。
publichtmlの下にheader.phpとかが存在していると思うけど、それをpublichtmlの下に置かないようにすれば良い。
あとは
>>494のように.htaccess使うとか。
497 :
nobodyさん:2014/05/25(日) 20:36:55.59 ID:QcLwHWKl
>>493 仰るとおりずっとiframe使っていたので同じ感覚でタグ書いていましたが
理解できてすっきりしました
.htaccessのほうも設定してみます
助かりました、ありがとうございました
>>495 参考になります
public_htmlディレクトリの存在すら知らなかったのですが
どうやら今使っているサーバーにはないようなので、.htaccessでやってみようと思います
ありがとうございました
タブの幅を半角スペース4にするってコーディング規約作ればいいのに
究極マヌケ集団だよな規約とか作ってるチンカスw
完全にクラスに閉じ籠っている場合は、once付けなくてもロジックを乱すような問題は起きないないよね?
redeclareのFatal?は除外(=>この場合そもそもプログラムが止まるから)。
>>498 そうだな、googleは究極マヌケ集団だよな!!
>>499 問題起きるんじゃないかな。
requireされたものは、そのクラスの中でだけで処理されるものじゃない。
上の方で「差し込み」って表現があったけど、実際は実行されているファイルに対しての「継ぎ足し」みたいなものだよ。
phpではrequireのみ使用を許可する
「このファイルはあそこから読み込まれる」ことをはっきりわかっている時のみファイルを読み込むべきである
どこで読み込まれるのかわからないからとりあえずinclude_onceやrequire_onceを使って保険を書けとけみたいな考えは切り捨てるべき
そしてrequireする場合は必ずファイルの先頭で読み込ませること
コードの途中でrequireしたり条件判断でrequireするようなコードは書かないこと
一人でやってろ
>>502おじいちゃんそろそろ寝る時間ですよ。
いやマジレスすると、サードパーティの外部ライブラリを使う関係でrequireとか使ってられないし。
つかrequire_onceどころかautoloaderが目立ってきた昨今何を言ってるの?
505 :
nobodyさん:2014/05/25(日) 22:10:03.24 ID:H1WvTlSM
とりあえず、途中経過を報告します
コンソールからのphpinfo()では、Zend Multibyte Support がenable
Zend Multibyte Support => provided by mbstring
webからだと、Zend Multibyte Support が disable
多分、ここに原因がありそう
ただ呼んでいるphp.iniは同じの「/etc/php.ini」でPHPIniDirで別のiniを作成して
指定してもdisableは変わらず
/etc/php.iniも、zend.multibyte = On としてある
php5.5なので、make時のconfigureのオプションという線も無し
phpがcli版だからとかあるんだろうか…?
もしくは、apache2.4は、httpd.confのloadmoduleが基本コメントなので
なにかOnにしないといけないmoduleがあるとか?
しばらくかかりそうです
requireとautoloadの話は別で一緒にされてもね
>>505 パッケージから入れないでphpenvでいれれば
508 :
nobodyさん:2014/05/25(日) 22:17:32.10 ID:ApxNBx8k
PHP Version5.3
PHP Version5.5
質問です。
テーブルAにあるカラム1とカラム2の値(XXXXX)を更新しようとしています。
内容は
1. カラム1の値をカラム2に更新
2. カラム1の値をNULLにする
このような動きです。
結果として
カラム1:null
カラム2:XXXXX(元々カラム1に格納されていたデータ)
このようにしたいです。
(あ)UPDATE文1つで実行→カラム1、カラム2共にXXXXXの値
(い)上記項番1のUPDATE文の後、項番2のUPDATE文を実行→前述(あ)と同じ結果
(う)上記交番1のUPDATE文の後、別の処理を挟んでから項番2のUPDATE文を実行→前述(あ)と同じ結果
MySQLWorkBenchで実行すると、期待している結果が返ってくるのですが、
PHP上ですと何故か上手くいきません。
トランザクションは該当処理の前から始まっており、全ての処理が環境した後にコミットをかけています。
UPDATEの順番等も関係あるようなので試したのですが上手くいきません。
このような処理を満たすために注意しなければならない点などありますでしょうか?
普通includeとrequire_onceしか使わんよ
ほとんどのrequire_onceはautoloaderに代用されてる
>>508 ソース出さないとわからんよ。
普通にちゃんとSQLが発行されてれば問題はない。ログは見たのかい?
>>505 最終手段は一回全部yumで消して、ファイルが一切残っていないのを確認(webで動かないことも確認)してから再度インストールかな。
それでもダメならiusを使うのではなくてremiのを使う。
>>511 最終手段として考えてます
今日明日中に片付かなかったら、それしかないですね
リポジトリもremiを使うことにします
>>468 func(param1,
param2,
この手の書き方はありだと思うんだけど、タブを使うと環境次第で崩れてしまうね。
インデントはタブを使おうってとこは、こういう記述を禁止するの?
クロージャとか死滅しちゃうね。
一方、こういう芸術的なコードはいらないと思うよ。
$foo = 'foo'; // foo
$hoge = 'hoge'; // hoge
>>505 apacheが32bit版で動いてるんじゃない?cli試したときは64bit版で。
環境次第で崩れるからこそインデント幅も規約で決めると思うんだが。
ああ、それもそうだね。おさわがせしました
>>505 /path/to/php.ini
[mbstring]
zend.multibyte = On
は?
>>513 タブ使うときにはインデント幅まで規約で縛らない限り(普通はやらんと思う)は
その記述は禁止だね
func(
param1,
param2
)
って書くルールになると思うよ。
PSR-2ではこの書き方なのが謎。
やった!やったよ!
解決しました
>>517 さんがヒントになりました
includeするタイミングかも?と思い、httpd.confの
Include /etc/httpd/conf.d/php.conf
の位置を前のほうに持ってきたところ、
Zend Multibyte Support provided by mbstring
となり、extension_loaded('mbstring')もtrue
mb_convert_encoding()も無事使えました
includeするタイミングは、最初に考えるべきでしたね
どのサイトでも、includeするとは書いてあっても、そのタイミングには
言及しているサイトは本家含めてなかったので失念していました
みなさん、ありがとうございました
>>519 > httpd.confの
> Include /etc/httpd/conf.d/php.conf
> の位置
通常、httpd/conf.d の中身は自動的に読み込まれるようにするので、
わざわざ記載しているところを含め、環境の見直しをしたほうがよいと思うよ。
>>518 可読性のための規約が
規約のための規約になってしまったか
やはり規約厨はアホしかいないようだな
RPMからapache2.4をインストールすると、conf.d以下をインクルードという
その記載がなかったんですよね
コメントアウトされているわけでもなく、何も無かったので
apache2.2のときはこのあたりに記載されてたなという記憶を頼りに記載しました
インストール時に主に参考にしたサイトさんでも、apache2.4のインストール後の設定として
これ 「Include /etc/httpd/conf.d/*.conf」をhttpd.confへ記述とあったので、
apache2.4からは、余計なconfは読み込まないようになっているっぽいので、
多分、自動で最初から読みこむ設定も削られているんじゃないかと思います
conf.dに設定ファイル置くときは、ファイル名に注意する必要がある。
一見便利そうに見えるが、かなりの罠だ。
拡張子統一してほしいわ
ィヌッカスはマジで糞
>>522 へぇぇ、そうなんだ。スレチだけど勉強になった。2.4系使うときは気をつけるー
野良パッケージ作った人の好みなんじゃね?
元々のソースパッケージには、conf.dなんて読み込む設定はないし、ディストロの余計なお節介。
>>504 知識がなくて悔しいのか涙ふいていいんだよ
へんなの湧いてるな
同じことに固執するのが特徴
Perlのrequireがファイルの最後の式の結果を返す仕様から離れられないとかw
Perlの話をしてるのってお前だけじゃん
PHPerはキモい奴が多いからはどっちも引かない
日本人って一度覚えた古い書き方に固執する傾向あるよね
Perlの会社にいるけど老害きつい
Rubyにも老害いるみたいだし、日本人ってくくりだな
プログラマーに偏屈な奴多すぎ
まともに対話できる人の割合が異常
>>535 能力が平凡なのに偏屈な奴が多いのなら
会社のレベルが低いだけだよ
>>535 誰しも何かが必ず欠けている、もちろん君にもね
皆が皆、同じ能力を有してると思ったら大間違い
phpでググったら公式のトップが出てこなくてワロタw
公式トップが出ないのに、どこかの総選挙速報のページの
拡張子が引っ掛かってさらにワロタw
googleにログインしてるなら検索結果は過去の検索内容によって変わる
お前がAKBオタだから出てきたんだろ
俺にはマニュアルが出てくる
恥ずかしい
え、pws=0ってもう効果が無いの?
これはひどい
ブログにコピペしたいレベル
こっちも公式1位だな。その後、wiki,wikiと続く。
>>538みたいのがAKBオタなんか?気持ち悪いな。
AKBとはっきり言えばいいのに「どこか」とか濁してるあたりがわろえる
オタは自分がオタとは認めないっていうけど本当のようだな
wikipediaのことwikiって言う奴も気持ち悪い
うちも公式マニュアル、wikipedia、wikipedia、そしてPHP研究所
まずは自分の設定がおかしいのではないかと考えるのが一般的なプログラマタイプ
適性もないようで
>>547 意味無いってことは無いだろ
公式マニュアルの一番上クリックで公式に飛べるし
というか、これって公式のトップよりマニュアルの方を要求する
恥ずかしいユーザとAKBオタが多いってことの現れということだよなw
公式トップよりマニュアルのほうが被アクセス数が多いからだろ
トップのリリース情報なんて見るために訪問するやつなんて少数だし
php5.6がもうすぐで出るのか
日本 PHP ユーザ会 (Japan PHP Users Group) :: メイン
これも上位にくるけど、もう活動してなさそうだよね。
スマホだけど雑誌屋のphp研がトップで、
次いでgoogleによるwikipeの要約、
プログラミング言語のphpのwikipedia、
php(曖昧さ回避)のwikipedia、マニュアル、公式の順
php研の創設者がパナソニック創設者と知って衝撃を受けた。
AKBがトップに来る?
あっ…(察し)
>>552 5.6はいまいち目玉にかけるな。
5.3 namespace
5.4 ビルトインWebサーバ(おまけ:trait)
5.5 generator
>>538 スパイウェアにでもやられてんじゃないの
その腐った頭一度ノコギリで正してもらえおw
アパーチェあるのにビルトインWebサーバなんか使うハゲいるの?
559 :
nobodyさん:2014/05/28(水) 01:15:07.47 ID:7OOVnvqn
1: www.php.net/manual/ja/
2: ja.wikipedia.org/wiki/PHP:_Hypertext_Preprocessor
3: co.jp
4: gr.jp
:
:
ここまで公式トップ
http://www.php.net/ 無し
43: sokuhou.php ←拡張子が一致するだけで引っ掛かってくるとか馬鹿なの?
何この延びかた
公式トップは英語サイト
公式マニュアルは日本語サイト
マニュアルがトップに来てもおかしくない
www.google.co.jpで検索条件を英語にすれば公式トップが一番上に出てくる
Googleは余程でないと同じドメインは検索結果に出ない
AKBがキモイって話だったか
PHPやってるくせに検索エンジンがなんたるかをあまり理解してない人が多いようだな
phpで検索したとき
一番上にくるフレームワークがあれだ
AKBなんて犯罪の温床早く根絶されればいい
握手券商法 投票権商法
AKBヲタどもを犯罪(強盗・詐欺etc)に走らせる搾取商法
AKBヲタのコンビニ店員が客のクレカ情報メモってCD購入費用にあてたとか記憶に新しい
怪我をさせたのと殺意があった無差別殺傷はよくないが
秋元の行為に一石を投じるには有意義なものであった
恥ずかしくなって自演してんだろ
アケブーとかいう日本の恥部
PHP48のメンバーが必死w
569 :
nobodyさん:2014/05/29(木) 22:43:50.41 ID:CZVnVXGK
すいません、初歩的な質問なのですが教えて下さい
<?php
class Car {
public $fuell = 100;
function forward() { echo "前身"; }
function showInfo() { echo "燃料= $fuell "; }
}
$mycar = new Car();
$mycar->forward();
$mycar->showInfo();
?>
↑forward()は実行されるのですが、showInfo()がUndefined variableになります。
記述方法間違えているでしょうか?
function showInfo() { echo "燃料= $fuell "; }
↓
function showInfo() { echo "燃料= $this->fuell "; }
571 :
nobodyさん:2014/05/29(木) 22:53:40.99 ID:CZVnVXGK
>>570 おお回答が凄く早い、ありがとうございます。
そこで「->」を入れるんですね…どうもありがとうございました。
phpのめんどくさいところやな。
燃料はfuelね。fullと混ざった?
あと前進ね。
アローはマジで死ねって思う
.にしろ
別にドットだろうがアローだろうが言語差ぐらい軽く吸収できなきゃだめだろ
糞なものはハッキリ糞と言わねばいけない
PHPの開発者は糞
ほめ言葉
ただのPerlの流れだろ
PHPもPerlもドットは連結を意味するもんなんだから
連結こそ+にすべきだわアホ
Perlはともかく、PHPで+を連結にするとすごく面白いことになるなw
言語仕様に文句言うなら使わなきゃいいだけ
大好きなJavaでもやっとけ
連結演算子の前後はスペースをいれる
アローの前後はスペースをいれない
どの言語もほぼ統一されてる
コーディング規約を守ってくれたら
どっちでもよいな
バーロー
バーロー演算子の後ろはあれれぇでペロッこれはデバッガー
586 :
nobodyさん:2014/05/31(土) 00:33:09.13 ID:aiyqvIAr
何度もすいません、質問があります。
PHPを使って住所を入力すると郵便番号が出てくるプログラムを作ろうとしているのですが
データベース(MYSQL)に住所一覧を入れようと思っても出来ず「BLOB/TEXT column 'code' used in key specification without a key length」
というエラーが出ます。
$create_query = <<< END_OF_MYSQL
CREATE TABLE zipcode (
zip_id INTEGER PRIMARY KEY AUTO_INCREMENT,
code TEXT,
ken TEXT,
ken_kana TEXT,
shi TEXT,
shi_kana TEXT,
cho TEXT,
cho_kana TEXT,
UNIQUE(code, ken, shi, cho)
);
END_OF_MYSQL;
↑恐らく該当部分はここだと思います。
申し訳ありませんが、詳しい方ご教授下さい。
超かなってどのくらいすごいかな文字なんですか?
588 :
nobodyさん:2014/05/31(土) 00:50:51.26 ID:fiD2oiMg
589 :
nobodyさん:2014/05/31(土) 00:55:47.28 ID:fiD2oiMg
MYSQL使うPHPerが一番レベルひくい
わかりやすくていいけどな
591 :
nobodyさん:2014/05/31(土) 00:57:57.99 ID:fiD2oiMg
で、
>>586さんは申し訳ないけどmysqlとphpの根本が
わかっていないと思われるので、ドットインストールで基礎を
あと本よんでみそ。
ほとんどのDBがmysqlで動いてますがな
UNIQUE(code, ken, shi, cho)
↑codeを外す
>>591 すいません、お手数かけます。
リンク先読ませて頂きます。
これ実はとある教則本のソースでして…何回やっても動かないので泣きついた次第でして。
>>593 ありがとうございます。
「code」を外しても後ろの「ken」で引っかかるので、これ根本的にダメっぽいですね…
595 :
593:2014/05/31(土) 01:35:47.37 ID:???
>>594 UNIQUE(ken, shi, cho)
↑kenを外す
597 :
nobodyさん:2014/05/31(土) 02:31:35.71 ID:fiD2oiMg
教則本すごいな
一瞬ネタかと思ったよ
というかこのtableを作るのにtextは
いらんと思うのだが
598 :
nobodyさん:2014/05/31(土) 02:33:10.48 ID:fiD2oiMg
まずはtextをはずそうか
599 :
nobodyさん:2014/05/31(土) 02:39:01.67 ID:fiD2oiMg
UNIQUEいるか?これ?
END_OF_MYSQL はちょっとしたギャグだな
601 :
nobodyさん:2014/05/31(土) 02:42:45.22 ID:fiD2oiMg
この教則本に胸あついぜ。
今夜は眠れそうにない
ちなみに
>>569もこの本のソースです
「fuell」「前身」は自分の入力ミスですけど、他の記述はこれですね
>>592 Web全体のシェアがMyとMariaで70%超だっけ?
>>602 本の良し悪しは別にしても5年前の本だったら脆弱性対策とか怪しそう
未だ mysql拡張モジュールを使わせてたり、
PHPの教本は落とし穴だらけだよね。
初心者用なんてそんなもんだ
読破していきなり業務用アプリケーション作るわけじゃないしね
自分が初心者だったころは赤マンモス本なんてのがバイブル扱いされてたけど
あれを今読むとどんな気分になるんだろうな
608 :
nobodyさん:2014/05/31(土) 19:43:16.21 ID:ORFACm36
Parse error: syntax error, unexpected '2' (T_LNUMBER), expecting variable (T_VARIABLE) or '$'
これなにがまずいの?
$の後は数字使用禁止とかってルールあるの?
610 :
nobodyさん:2014/05/31(土) 20:37:33.00 ID:ORFACm36
変数名の最初に数字使える言語ってあんの?
>>612 これ見ると、つくづく糞言語だよなぁ、って思ってしまうw
こういうミスを誘発させやすいという時点でゴミ言語といえる
Perlの流れ継いでるんだから仕方ないだろ
>>614 どうしようもない。
糞なのは覚悟して使うだけ。
>>617 そういう意味でなくてさ、どうしたいの?
JSとかPerlとかも一緒でしょ
これさぁ。
不具合だとか、直さないといけない問題じゃなくて、
理解度の問題だから「直す力」ってタイトルにしてる時点で知れてるよね。
これクリックしたら===にしましょうって書いてるだけなん?
JavaScriptは一致しなかった。
つまり、俺たちも印税もらえんの?
まあキャッチーな話題ではあるけど
「A. 比較演算子を間違えています」っていうオチだもんな。
俺が大学の授業で初めてプログラム書いたとき
if ( stock = 0 ) {
printf("在庫がありません!!");
} else {
printf("ただいまの在庫は %d 個です", stock);
}
って書いて、常時在庫なしと出力されて困惑したってのと同レベル。
違うだろ。
件の例は、リテラルだから混同しないけど、
変数同士の比較になると、文脈を追っていかないと間違っているかどうかもわからない。
=と==の取り違えは、文脈を追う以前の問題。
暗黙の変換を理解してないと理解できない問題だな
何故真になるかの理解度の問題
問題自体は間違ってるかどうかの問題ではないだろ
JavaScriptやPerlも同様の問題を抱えてるが
わからないやつは理解が足りてなさそうだ
型を厳密にしてる言語だと
そのエラーの処理でゴミ言語が生まれてるみたいだな
前方一致で数値に変換するのはPerlからの流れ
JSは数値でない文字が入っているとNaN
'' == 0
はJSもtrueだっけ
突き詰めりゃ、なんでも理解度の問題だわなw
高尚で高度かつ高貴なるピュアハートピューを理解できない愚民どもが悪い
また湧いたのか
言語仕様に文句あるなら使わなきゃいいってナイスなアドバイスしてあげたのに
なんだかんだいってPHP好きなんだね
生命、宇宙、そして万物についての究極の疑問の答え
それがPureHeartPhyo
632 :
nobodyさん:2014/06/01(日) 21:26:34.17 ID:w5lcrynH
<input type="hidden" name="testdata" value="<?=$test?>">
隠し属性を使用するときにvalueには変数か値をセットしますが
<?= ?>はなぜつけなければいけないのでしょうか?
何言ってんだコイツ
>>632 phpでhtmlを出力してるんじゃなくて
htmlにphpを埋め込んでるからだろ
基礎中の基礎
「下らねぇ質問はID出して書き込みやがれ」スレですw
PHPは嫌いだけどPHPの仕事なんだもの
>>634 ありがとうございます
埋め込むだけなら<?php ?>ではダメなのでしょうか?
<?php?>
<??>
<?
<?php echo $hoge; ?>と
<?=$hoge ?>は同じ結果が得られる。
(php.iniのショートオープンタグの設定とかphpのバージョン次第だけど)
客先に納入するプログラムとかなら環境によって動かない可能性のあるショートオープンタグよりも正規の書き方のほうがおすすめできるかな
正規の反対は不正規
5.4以降を全否定しないでくれよ
<?=$hoge ?>
この書き方好きだけどな。
ついでに、htmlentitiesも勝手に付けてくれるとよかったんだが。
>>625 > =と==の取り違えは、文脈を追う以前の問題。
というのと同じように、===を使わないのは文脈以前の問題なんですよ。
比較は==、型も含めて比較する特殊な比較が===だという認識がおかしくて。
比較は===、暗黙のキャストを含むゆるい比較が==だという認識が正しいんだっていつになったら気づくの。
>>642 後半2行は同意だけど前半2行はちょっとおかしいな
>>643 全部===にしてるコードは多いよ。JavaScriptもな
switch文が===なのはRubyだけなのでswitch文は使えないけどねぇ
型にとらわれたくないからインタプリタ使ってんのに
===使えってのはな
そうじゃないコードの方が圧倒的に多いだろ。
書いた時点では、==で大丈夫だったのが、後のちょっとした変更が回り回って、嵌ったりする。
empty()なんかも同じ。
>>649 うん。欠陥を欠陥として理解しているだけだ。
何でも言語のせいにするやつは(ry
型宣言も '文字列' . 13 で連結できるのも便利だけど比較は === だろ
654 :
nobodyさん:2014/06/02(月) 06:20:01.41 ID:t/kOLeT3
【PHPのバージョン】5.5
【質問内容】
$a = array(1,2,3);
foreach($a as $key => &$value) {
$value *= 2;
}
print_r($a); // Array ( [0] => 2 [1] => 4 [2] => 6 )
foreach($a as $key => $value) {
}
print_r($a); // Array ( [0] => 2 [1] => 4 [2] => 4 )
どうしてこうなるの?
>>654 $valueと$a[2]が同じところを参照してるから
有名なphpのとんでも仕様なんで
>>655 3度読み返してようやく理解しました
色々言われる所以が少し分かった気がします
>比較は === だろ
case by case
>>658 マジですよ
参照の仕様と、foreachの変数を破棄しない仕様からの
とんでも仕様です
PHPのすごいところは
とんでも仕様がきちんと公式マニュアルに解説されていること
いや、解説されないほうがおかしいだろ
仕様なんだし
アホはどこにでもいるなっていう消火作業でしかないな。
foreachもああならないなら、逆に変だろ。
>>663 うーん…この燃料は微妙じゃないかな。
もうちょと文章の全体的な論理の組み立てがしっかりしてれば燃えそうだけど。
perlのforeachは参照だし、 javaだのC#は型次第だし、 foreachで値変更できない言語もある。
本物のプログラマレベルのネタに仕上げられないものか
>>654 これは仕様じゃなくて、バグと言うべきなのでは?
頭おかC
俺には理解できないが使いようによっては利点となると考えたんだろ
仕様だとわからないやつは論外じゃないか?
スコープを知らないアホが参照渡しを使うと
不具合だのトンデモ仕様だの言い出すんだな
人間側に余計な負荷掛けてる時点でゴミ確定
PoopHugePoopは本当にゴミだね
作った奴死ねよ
こんなゴミで仕事させられる方の身にもなれや
brainf*ck並のゴミっぷり
まともな風を装ってるから
さらにタチが悪い
>>669 PHPにはブロックスコープがないってことです。
ブロックスコープがないならば、自然な挙動ですよね。
ブロックスコープがないことの是非は、また別のお話。
ブロックスコープが無いことのメリットって何なの
知れば知るほどキチガイみたいな言語だな
作った奴のツラ見てみてえわ
叩いてるやつの頭が悪いだけでイマイチだな
もうちょっと賢いやつが叩いてくれないとPHPの箔が付かない
頭がいい奴はそもそも使わない・・・
>>663 Webだけしか使えないってか
もう時代はWebしか必要ないんだな
もちろん基盤技術を支えてるのは低級言語だけど
その辺は一介の量産プログラマには関係ないことよ
qiitaでasahina_devとmpywをブロックする方法を教えてくれ
気に入らない言語の質問スレに、質問も回答もせず入り浸る奴らの頭なら、こんなもんだろ。
686 :
nobodyさん:2014/06/04(水) 23:54:24.09 ID:zBLyCd13
>>687 ありがとうございます!
直接xmlファイルを覗いてみたらopenSearch:totalResultsという項目があって総投稿数が見つかったんですが、
このファイルをsimplexml_load_file関数で配列にすると、それに相当するものが見つかりませんでした
simplexml_load_fileでは漏らしちゃうんでしょうか?
689 :
nobodyさん:2014/06/05(木) 00:26:01.83 ID:A8ksRNcQ
レスポンスを返した後に処理を継続したいのですが
execやContent-Length:0を設定するやり方はレンタルサーバー側の仕様により上手くいきませんでした
他に何か手段はありませんか?
理由はPHPがゴミだからだよ!バーカ!
ようPHPに振り回されてるゴミ
FBはphp製
Fuckin Bullshitのことか?
>>689 泥臭い方法も含めるならいくつかあると思うんだけど、
質問で、意図している作業内容とか制限とかがわからないからなんとも言えない。
onloadなajaxでブラウザにスクリプト叩かせるとかあるじゃん。
そもそも、そういうことしないでも片付いちゃう案件かもせんし。
>>690 ありがとうございます
$xml->children('openSearch', true)は総投稿数、start値、マックスがはいっているようなので、
これをforeachで配列にいれて、$foo[0]を参照したらいけました
助かりました
次のように、
フォームの空欄に任意の文字を入れて送信すると、テンプレートを介してHTMLが作成されるようなプログラムを作成したいと思いますが、
サンプルとかフリーで配ってるオススメのコードはありますか?
---------------------------------------------
フォーム
------------------------------
タイトル[ ]
ニックネーム[ ]
記事[ ]
[送信]
---------------------------------------------
テンプレート
------------------------------
<HTML>
<HEAD>
<TITLE>{{title}}</TITLE>
</HEAD>
<BODY>
<H1>{{title}}</H1>
<B>{{nickname}}</B>
<HR>
{{article}}
</BODY>
</HTML>
---------------------------------------------
$html=file_get_contents('page.tpl');
$keys=['title','nickname','article'];
foreach($keys as $key){
$value= isset($_POST[$key])?$_POST[$key]:"";
$html = str_replace('{{'.$key.'}}',htmlspecialchars($value,ENT_QUOTES,'UTF-8'),$html);
}
echo $html;
699 :
nobodyさん:2014/06/06(金) 20:52:43.20 ID:WQWxIvlk
どうやってID出すの?
教えてケロ
出てるじゃん
書いた瞬間に解決か
コングラッチュレーション
,―==7 Congratulation! コングラッチュレーション
|く ___ _> Congratulation!
fll`ーU+'
703 :
nobodyさん:2014/06/09(月) 14:15:25.05 ID:jvKQR3gI
正規表現を、ほぼ一発でサクっと書ける人になりたいです。
どうすればいいですか?
数こなすしか、、、
でもしばらく触ってないとすぐ忘れるw
そんなに覚えることないよね正規表現
^$+.*?[]{}()の意味覚えればだいたい対応出来るでしょ
複雑度によってはどうしたって一発サクッとは無理でしょ
Perlのキモい機能まで覚えようとすると無理ゲーになってくる。
708 :
nobodyさん:2014/06/09(月) 22:10:54.83 ID:OEDMPWiv
phpでデーモン作りたいのですが
起動の時はphp daemon.phpで
終了時はpskillするのではなく
apacheみたいに
daemon.php start
みたいにしたら起動
daemon,php stop
みたいにしたら停止(終了)にしたいのですが
どうやったら出来ますか?
php ダエモン.php start
なら出来ると思うが
直でピュアエイチピュアを実行するのはムリポな気がするですます
>>709 shやperlとかと同じように、一行目にphpのパスを書いて実行権限与えれば動くよ。
712 :
708:2014/06/09(月) 22:30:55.66 ID:OEDMPWiv
713 :
nobodyさん:2014/06/10(火) 01:20:37.47 ID:qon4WkJp
{"query":{"url":"example.com"},"type":"B",
"syutoken":{
"saitama":{"capital":"さいたま市","city":"熊谷、所沢","tourist":"秩父、長瀞、川越"}
"chiba":{"capital":"千葉市","city":"船橋、柏","tourist":"房総、TDR、成田"}
"tokyo":{"capital":"東京都","city":"立川、八王子","tourist":"浅草、奥多摩、高尾山"}
"kanagawa":{"capital":"横浜市","city":"川崎、相模原","tourist":"鎌倉、箱根、小田原"}
}}
※見やすくする為に、改行してありますが、実際には改行はありません。
上記のようなファイル(hoge.txt) があります。
これをPHPで読み込んで、syutokenの中身を配列にし、最終的に次のような結果が出るようにしたいのですが、
具体的にどのようなコードにしたらよいでしょうか?
echo $list[saitama][tourist];
echo $list[kanagawa][capital];
-----------------------------
秩父、長瀞、川越
横浜市
特に分からないのは、入れ子になっている{}からどのようにsyutokenの中を配列化するかです。
,が一部ないのは何とかしてね
>>708 stopで何かしらの終了処理をさせたいという意味なら、
daemon.phpをシェルスクリプト(など)で包んで、daemon.phpはシグナルを処理するようにする。
daemonctl.sh stop
↓ pkill -15 daemon.php
daemon.php
pcntl_signal(15, $callback)
な感じがよろしいのでは?
データベースからphpに値を呼び出すのってどうやるの?
おーいって呼ぶ
やりたいように処理を書く。
あとマルチおつ。
尊称付けて謙譲語でお願いしないと答えてくれないよ。
なんか行くとこ行くとこに同じ質問があって邪魔くさいな
【OS名】CentOS
【PHPのバージョン】5.3.3
【質問内容】さっきインストールしたばっかの超初心者です
test.php
---
<? phpinfo(); ?>
は動きますが、
test.html
---
<html>
<body>
<?php phpinfo() ?>
</body>
</html>
は動きません。何が原因でしょうか?
(;_;)
test.html -> test.php
(;;)
729 :
nobodyさん:2014/06/18(水) 23:54:47.17 ID:ekb+OAaC
httpdかなんかのログ見ろ
for (;;)
>>729 普通に200返して終わりだろ。見なくてもわかる。
まほうのじゅもんう゛ぁrづmp
スレタイ(質問はID出して書き込みやがれ)
たぶんhttpdのconfのAddHandlerにhtmlを追加だな。
735 :
nobodyさん:2014/06/19(木) 13:21:13.22 ID:2VhA+HW6
スーパーグローバル変数を作成する方法を教えて。
ぐぐってわかることを聞かないで
>>736 難しいですけど、あなたにはわかるのですか?
$SUPER_GLOBALS['xxx'] = だろ
741 :
nobodyさん:2014/06/19(木) 16:14:32.69 ID:KXRJbj9g
なんでfopenとかってファイルが無い場合警告が出るんですか?
戻り値で判別できるのに警告を出す歴史的な理由が知りたいです
assertと同じようにデバッグ用じゃないかな
>>741 歴史的な理由とか知ってる奴がこんなところにいるとは思わんが。
警告が必要ないなら抑制すればいいじゃん。
スーパーウルトラハイパーメガギガテラスペシャルファンタスティックナイスグレートワールドグローバル変数を作成する方法を教えて。
ページングに関しての質問です。
今は以下の方法を使っているのですが、
「PHPでPEARを使わないPager(ページャー)その2」
http://blog.quall.net/program/302/ simplepagenation.jsを使うと簡単に設置出来てbootstrapにも対応しているという事を知りました。
https://codeiq.jp/magazine/2014/02/6155/ ここで疑問がわきました。
1ページに表示したい画像と文章が10セットあったとして、
それが300ページになるような場合、
表示速度はどうなるのでしょうか?
このjsは全ての項目を1ページに表示するように作成して指定箇所以外を隠す事でページングを実現する仕様のようなので、実際は全てを表示するだけの負荷がかかって表示速度が遅くなるのではないかと考えました。
この考えで間違いないでしょうか?
だとしたら使えないなぁと…。
>>746 失礼しました。
IDの出し方がわからないのですが、
どうすれば出ますか?
>>747 名前欄にfusianasan(フュージャネイザン)って入れて書き込めばおk
ページネーションの件は自己解決出来ました。
ページングにbootstrapを対応させたくてググってもsimplepagenation.jsしか見つけられなかったので前述のような質問をしたのですが、
pear pager を修正したらbootstrapに対応させる事が出来ました。
ご迷惑をおかけしました。
752 :
質問者己:2014/06/20(金) 11:00:03.81 ID:nxvJXQ2c
サーバー側のPHPで、setcookieって?
返したページに、
<meta http-equiv="Set-Cookie" content="〜">
やJSでのdocument.cookie = "〜";
と書かれてあるのかと思ったがHTMLソースになかった。
このsetcookieはどういう仕組みですか?
ヘッダにあるんだろ
ヘッダも表示できる環境でやってみ
ブラウザであるサイトを見るとheaderとbodyという大まかに分けて2つの情報が送られてくる
headerはサーバの設定によるものがいくつか送られてくる(例えばServer:Apacheとか)
bodyってのはようはhtmlの部分のこと
そんでブラウザは送られてきたheaderを解釈したあとに
body(html)内のheader情報(head要素の中身)を解釈して表示するって流れ
重複していた場合の優先順位は
サーバの設定によるheader情報>html内のheadに書かれてるheader情報
phpのsetcookie関数やheader関数は
このサーバの設定によって送られてくるheader情報のとこに割り込む形になる
ようは別にhtmlにheader情報を書く必要はないってことだ
>>753の指摘通りソースの表示で見えるものではない
今はわからなくてもそのうち分かるよ
同じContent-Typeヘッダを送信した場合の例
Shift_JISが優先されるのでUTF-8では文字化けするはず
<?php
header('Content-Type:text/html;charset=Shift_JIS');
?>
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"></head>
<body><pre>あいうえおかきくけこ</pre></body></html>
Content-Type: text/html
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
だとUTF-8を補う感じな
良レスキター。
>>754 乙
横から補足すると、今はブラウザに開発者ツールが付属してるので、
それを使えばHTTPヘッダを容易に見られるようになったね。
パケットキャプチャを起動する機会がずいぶん減ってしまった。
教えてください。
$tweet = 'ホゲホゲ';
これを100回繰り返して配列に入れて1個持ってきたいんですがどうしたらいいんでしょうか。
$tweet
$tweet.'あああああ';
$tweet.'ああああ';
$tweet.'あああ';
$tweet.'ああ';
$tweet.'あ';
>>757 > これを100回繰り返して配列に入れて1個持ってきたいんですがどうしたらいいんでしょうか。
・「これを100回繰り返して」の「これ」って何を指してるの?
・「繰り返して配列」の「配列」って新規で作成するってこと?
・「1個持ってきたいんですが」の「1個」っていうのは何を指してるの?
$tweet = 'ホゲホゲ';
$tweet_ary = [$tweet];
$tweet_ary = array($tweet);
for($i=1; $i<=100; $i++){
$tweet_ary[] = $tweet.str_repeat('あ', $i);
}
こういうことやりたいの?
>>758 失礼いたしました。
「これ」というのは
$tweet に「あ」を5個加算して
一個ずつ消したものを指します。
そして、これを100個配列に入れたいのです。
配列は新規です。失礼しました。
1個持ってきたいというのは、配列の中から1個ランダムで持ってきたいということです。
こういう顧客いるけどこれで伝わらないと「は?おまえ頭大丈夫?」みたいな顔される
ぶん殴りたくなる
あかん、全然意味がわかんないわ
762 :
nobodyさん:2014/06/21(土) 23:23:13.69 ID:PhGC0drH
日本語でおk
どういう結果を期待しているのかがさっぱりわからない。
[0] => ホゲホゲ
[1] => ホゲホゲあ
みたいな感じで、欲しい結果を書いてみて。
"ホゲホゲ". str_repeat('あ', rand(1, 100));
つまりこうじゃね?
欲しいデータってこんな感じ?
$tweet = array('ほげほげあああああ', 'ほげほげああああ', 'ほげほげあああ', 'ほげほげああ', 'ほげほげあ');
$new_array[0] = $tweet;
$new_array[1] = $tweet;
:
$new_array[98] = $tweet;
$new_array[99] = $tweet;
クエスチョンマーク浮かべてる可愛い猫のAAもってくんぞ!
わかんねえ、ますますわかんねえ
弄れば弄るほどバグが沸いてくるみてえでわくわくするぜ
よくわからないけど配列に入れる必要性は無いと思う
おれもギブアップ(笑)
771 :
nobodyさん:2014/06/22(日) 18:41:33.76 ID:xExtlOnF
772 :
nobodyさん:2014/06/22(日) 18:45:02.17 ID:3tHGIVi0
最新版でもいいだろ。基本拡張してるだけ。
ダメだったらネットでググって対応。
773 :
nobodyさん:2014/06/22(日) 18:55:05.45 ID:xExtlOnF
下の関数をphp5.2のeuc環境、sjis環境で
$str=htmlspecialchars($str);
このように使っている関数と置き換えて
ちゃんとデグレードせず動くのか調べたいんで
php5.2系のドキュメントが見れたらうれしいんですけどね
function euc_htmlspecialchars($string, $flags=NULL)
{
if($flags===NULL) {
$flags = (ENT_COMPAT|ENT_HTML401);
}
return htmlspecialchars ($string , $flags, $encoding = "eucJP-win" );
}
function sjis_htmlspecialchars($string, $flags=NULL)
{
if($flags===NULL) {
$flags = (ENT_COMPAT|ENT_HTML401);
}
return htmlspecialchars ($string , $flags, $encoding = "SJIS-win" );
}
774 :
nobodyさん:2014/06/22(日) 18:57:20.05 ID:uqj6Sjog
最新版でもいいだろ。基本拡張してるだけ。
ダメだったらネットでググって対応。
引数とかフラグはphp5.3から追加とか使用可能なバージョンは書いてるだろ
>>764 これで出来てますかね・・・。
やりたいことは、Twitterにツイートしたいのですが
同じ文章を連続で投稿することが出来ないんです。
それを回避するために指定された文章の末尾にああああああをつけて回避しようと思ったんです。
ツイートA
ツイートAあああああ
ツイートA
というのは出来なくて5回異なる文章をツイートすることで
もう一回ツイートAが出来るんです。
なので
ツイートA
ツイートAあああああ
ツイートAああああ
ツイートAあああ
ツイートAああ
ツイートAあ
ツイートA
となります。
ユーザーが入力した回数分、上記を繰り返して一個順番ずつ持って行きたいんです。
(さっきはランダムと言いましたが間違いました。すいません)
スパムBOT作成につきあえと
なんだキチガイか
スパムBOTとかじゃなくて、PHPの勉強をやってて・・・
ツイッタに自動連続投稿がスパムBOTじゃなかったら、何なのよ
IDどうやって出すんですかこれ・・・
勉強のためにしかやってないですよ....
>>773 php5.2系のドキュメント というものは存在しない。
該当環境で、テストすべき。
>>773 その関数さ、フラグとか変数使わないほうが使いやすいと思う。
例えば
f($flags===NULL)
のところを、
f(mb_detect_encoding("eucJP-win"))
に変更するとか。
各文字コードに対応させたい場合でも簡単にできるし。
>>782 投稿の処理が出来ているのであれば、あとは
>>758.の処理をちょっと変更するだけでいい。
IDの出し方は分かるまで
>>1を繰り返し音読しろ。
785 :
nobodyさん:2014/06/22(日) 22:18:44.38 ID:Eyyl2/9O
>>784 音読しました。
投稿の処理は出来ているので
>>758さんの処理を弄ってみたいと思います。
ありがとうございます。
犯罪助長すんなよ
788 :
nobodyさん:2014/06/23(月) 02:52:08.06 ID:161+35T7
5.2とか主流4系時代の人柱だろ
>>788 サポート終了しても4が主流だと思ってた人ですか
>>789 ごめんなさい。サポート終了してもRHEL頼みで5.3が主流だと思っています。
RHEL7きたら、ようやく5.4かと思っています。
791 :
nobodyさん:2014/06/23(月) 13:34:09.26 ID:161+35T7
4系最終の11か月後に5.3出てるじゃん
この状況で5.2なんか使うような奴なかなかおらんよ
Version 4.4.4
17 Aug 2006
Version 5.2.0
02 Nov 2006
Version 5.2.6
01 May 2008
Version 4.4.9
07 Aug 2008
Version 5.2.7
04 Dec 2008
Version 5.3.0
30 Jun 2009
Version 5.4.0
01 Mar 2012
>>790 >>791 継続案件ならいいんじゃないか
新規はどうするんだい?
それに5.3.0が出てすぐ使うとか人柱もいいとこだな
793 :
790:2014/06/23(月) 15:43:50.70 ID:???
んなもん、要求仕様と運用体制次第だべ。
5,6年でリニューアルないし終わるシステムなら、大概はRHEL6でいいだろうし。
がっちり面倒見れる奴がずっと運用サポートし続けるなら、別にこのあたり縛られず
適当なものを選択すればいいだろうしで。
795 :
nobodyさん:2014/06/23(月) 16:59:55.59 ID:161+35T7
まあ俺はぺちぱーじゃねえからどれも使ってないがな
ぺちぱーでググってみた。
なんでこのスレにw
まー俺もほとんど使ってはいないが
797 :
nobodyさん:2014/06/23(月) 18:38:14.88 ID:161+35T7
剥いたあたりにこっち向けの馬鹿湧くだろ
誘導先がどんなところなのか知っておかないと誘導しにくいだろ
そーゆーことよ
ペチピーはIDE周りが糞過ぎるわ
IDEはsublime text一択ですわ。
有料かテキストエディタの二択を強いられているルバーの人たちだっているんですよ!!
動的型付けってクソだよな
何が返ってくるかわからないから、みんな必死にvardumpしてる
そして「返ってくる型が厳密になるように書きましょう」なんて言い出す始末
ほんとゴミ
必死にvardumpすることなんてそうそうないと思うんだけど。
素直なデータ構造を作ることができないから混乱するだけじゃないかな。
プログラム書く人の能力が低いだけだろw
なんで803はIDが出ているのだろう
あれ、ほんとだ。どういうことだ
空白混ざってるとか?
808 :
nobodyさん:2014/06/24(火) 17:22:18.13 ID:t72UFUKQ
require_onceを記述する場所はどこでもいいのですか?
何かを表示するわけではないのでどこに書いても想定通りに動いていますが
気になったので聞いてみました。
それとブラウザからソースを見た時require_onceを記述している部分が
空白行になるのは使用ですか?
>>808 > require_onceを記述する場所はどこでもいいのですか?
呼び出してる内容次第。require_onceは、それが宣言されたタイミングで呼び出す。
内容が順番に問題ないもんなら問題なし。
> 空白行になるのは使用ですか?
呼び出している内容に改行を出力する内容があるからでしょ。
810 :
nobodyさん:2014/06/24(火) 18:09:16.94 ID:t72UFUKQ
>>809 すっきりと解決しました
ありがとうございました
811 :
nobodyさん:2014/06/24(火) 19:30:52.95 ID:iOLvIS9i
812 :
771:2014/06/24(火) 21:00:45.98 ID:jStZWHLZ
今更5.2なんか使うなハゲカスってことだよ
5.2の2番目のパラメータのデフォルトは書いてないけども最新のマニュアルと同じように処理されてる
つまり変更されてないので変更履歴として書く必要がないということだ
(そしてPHPerの中にはENT_QUOTESにするという常識がある)
3番目のパラメータに関しては懇切丁寧にバージョン別でどうだったか説明してあるだろ
815 :
マッチ棒:2014/06/25(水) 00:59:07.03 ID:???
こんにちはいつもお世話になります。
mySQLとPHPで会社の案件管理をつくっています。
日付で抽出し、たとえば6月の案件一覧を見ているとします。
そこであるレコードを修正して戻ってくると、抽出が解除され全件表示になります。
こういうときに前の抽出状態を維持するいい方法はありませんけ
よろしくお願いします
私は君をお世話した覚えはないが
>>815 パラメータ引き継ぐか、セッションに格納したら?
これ以上は自分で調べるか、コードだしな
あるかないかと言う質問なら、ありますが答
booleanで問われたらbooleanで答えろよ!それでもプログラマかよ!!
820 :
マッチ棒:2014/06/25(水) 01:16:57.90 ID:???
こんばんは
遅い時間ですみませんが、朝また来ますので
それまでで結構です
よろしくお願いします
ふざけた質問投げつけておいて、期限は明朝まで
こんな簡単な質問、今晩の内に解決しとけや、ってことか
こりゃブラックな案件管理の才能あるで君
823 :
マッチ棒:2014/06/25(水) 01:30:41.49 ID:???
人間社会はギブアンドテイクですよ
mySQLとPHPで会社の案件管理て・・・
新卒1年目のド新人に案件管理任せてるのか?
すげえレベルの低い会社があるもんだな
>>823 きみはテイクアンドテイクやんか。
答えは出てるからもういいでしょ。
>>805 出てるというか、出してるだけっす。
827 :
マッチ棒:2014/06/25(水) 07:38:15.76 ID:???
おはよございます
では、お願いします
828 :
マッチ棒:2014/06/25(水) 08:04:23.48 ID:???
SELECTで抽出した結果は$recordSetに入ってるとして
その中身はhtmlページを読み直すと消えてしまうのかな
829 :
マッチ棒:2014/06/25(水) 08:14:55.01 ID:???
>>817君の言っている、セッション変数に$recordSetをほうりこんでおけばよいのかな
ひきつづきアドバイスお待ちしてます
830 :
マッチ棒:2014/06/25(水) 10:39:33.07 ID:???
>>824 ド新人じゃありませんよ
ITパスポートと基本情報技術者をもっているプロですから
基本技術者持ってるならITパスポートを言う必要なくね?
ドヤ顔でそんな恥ずかしいこと言わないでくれwww
基本とかなんも知らん状態からPHP独学で始めて2年ぐらい経った時に
ふと取ろうと思ったアマだけ余裕で受かったぞ
Java選択したけどJavaなんか触れたこともなかった
わりとすんなり入れたのはPHPのオブジェクト指向がそこそこ役に立った感じだな
ていうか今の新試験って旧試験に比べてだいぶ簡単なんだろ?
834 :
マッチ棒:2014/06/25(水) 12:06:40.16 ID:???
もちろん応用情報技術者も受ければ合格しますよ
ヒマがないんですよ
自分の書き込んだレスを印刷して客に見せると
そのお客の為になるから今日からやったほうがいい。
無駄な資格持っててもな
すごいねー!周りの皆に自慢できるよ!
応用情報とかレベル低い
ていうか情報書試験とかゴミカスだから
CCNAとかオラクルマスターみたいな専門資格じゃないと認めてもらえない
基本情報技術者ってこの程度のことも考えられん奴が取れる資格だったのか…。
半年でもプログラムに触ってる奴なら
2,3日で対策できるレベルの資格
応用は流石にもっと時間かかるけどね
841 :
マッチ棒:2014/06/25(水) 13:58:33.61 ID:???
こんにちは
セッション情報にクエリー文を保管することで、目的の動作が得られました。
結局、自力でしたね(笑)
ちみらはほんっとに使えないインターネッツやな
そうですね
もう来ないでね
基本情報技術者、Wikipediaによると設計も入ってるらしいけど、
その結果がSQL文をセッションに保管かよ。
笑われる意味がよーわかった。
845 :
マッチ棒:2014/06/25(水) 15:07:59.62 ID:???
>>844 もっといいやり方があるなら教えてくださいよ
さっさと
お、いつのまにかクエリーになおってるな
突っ込みどころありすぎ。
自分が何をできないのかを理解できていないで自力とかいうし。
放っとけよ
どうせ自分に手の負えない案件をできます!
っていって請け負った馬鹿なんだから
助けて欲しいなら金よこせ
NGにしない時点で同じレベル もしくは自演。
>>845 mod_rewriteとか。
解決したならいいけど。
どうでもいい話だが、
昔、リレーショナルDBが何なのかすらわからないのにソフ開にうかった。
852 :
マッチ棒:2014/06/25(水) 21:17:28.84 ID:???
>>850 クエリ抽出結果をページ遷移しても保持したい件ですか?
mod_rewriteをいったいどのように応用すればやれるので?
くわしく
>>852 そも。GETでやってんなら保存しなくても戻れば復帰するでしょ。
詳しく情報を出さずに詳しくというから面倒なんだ。半年ROMれという懐かしい言葉を使うことにする。
基本というか基礎というか、その辺が分かってないから、説明しても理解できないのでは
マッチ棒
この痛い子は何なの
PHP触りたての高校生か何か?
856 :
マッチ棒:2014/06/26(木) 00:10:33.60 ID:???
さっから何をグダグダいっとるの?
>>815ではなから書いてるように、抽出が解除されて全件表示になるといっとろうが。
戻れば復帰するでしょとか、寝ぼけとるのか?
さっさとアドバイスお待ちしてます
あんたが社員証うpしたら答えてやるよ
従業員数2桁すら行ってなさそう
まず従業員ですら無さそう
いやホント僕達馬鹿なんでそんな難しい質問無理!勘弁してくださいよw
でも基本情報技術者持ってる君みたいなプロなら本当はこんな質問一瞬で解決してるんだろうなー
派遣ヴォーイ mySQLとPHPで会社の案件管理 〜セッション情報にクエリー文を保管するの巻〜
861 :
マッチ棒:2014/06/26(木) 01:38:09.13 ID:???
結局、だれも答えれないのな
基本情報技術者をばかにするけど、取ってから言いたまえ
ちみらはほんとあてにならんインターネッツやな
セッションにSQLのクエリー保管とか革命的発想だな
さすが基本情報ホルダー様ですわ
これが日本のイット最先端テクノロギーだ
えっ。クエリって、GETのquery stringのことを指してるんじゃないの?
SQLだといわれて否定してないってことは、他の人がいうようにSQLなんだろうか。
>クエリ抽出結果をページ遷移しても保持したい
触るなっての
悪い対応だ。タブを複数開くと困ったことになるだろ。
よく観察すれば戻る用ではないが、それに応用できる方法が実装されているサイトはよくある。
よくwebサービスを観察するか、観察力がないなら知恵袋で聞いてろ。
>>861 この中で一番頭良いのは基本情報技術者持ちのお前だよ
自力で頑張れ!
恥ずかしくて基本情報持ってるからプロだなんて口が裂けても言えない
869 :
マッチ棒:2014/06/26(木) 11:06:12.51 ID:???
HTMLのヒドンinputにパラメータを隠し持てばいいってのがちみらの意見なのかな
もうちょっとまともに会話できる人はおらんのけ!
お前以上に頭の良い奴は居ないから聞いても無駄だよ
626 マッチ棒[sage] 2014/06/18(水) 18:27:40.01 ID:???
こんばんは。
表示するときに動的にクリエーするのが一般的なんでしょうか
ご意見ありがとうございます
639 マッチ棒[sage] 2014/06/21(土) 16:31:34.80 ID:???
こんにちはいつもありがとうございます。
案件一覧テーブルと、仕入一覧テーブルがあって
案件IDと引当IDをヒモヅケして集計しようとしています
一つの案件に、複数の仕入があります
さて、どうしたらいいんでしょうか
追伸
>>633の件は、レコード編集時にそのつどクリエーすることで解決しました
おいやめろ
あまりマッチ棒さんいじるとスレのレベルがあがっちまうだろ!
hiddenがヒドンか
さすが天才マッチヘッドさんだ
クリエーwwwww
ヒドンwwwwwwww
マッチ棒は1週間でだいぶ成長したな。がんばれよ。
876 :
nobodyさん:2014/06/26(木) 14:05:20.58 ID:Olfo0EOK
ハイドンの方がいくね?
ヒデンじゃなくてヒドンにしているところが憎い
でもまあ、ヒドゥンだから近いだろ
うわ…このスレレベル、高すぎ…?
神隠しかよ
ネイティブな読みをすると馬鹿にするやつがいるのかw
ヒヅン
NGにしてる意味がねー
/hídoŋ/がネイティブとな
正しくは/hídən/だそうだ
IPA発音記号かな。
カタカナにした時点でネイティブかどうかはもう分からんよね。
クリエーテブでヒデンな天才マッチ棒氏
887 :
nobodyさん:2014/06/27(金) 10:11:36.39 ID:lw4X5FFL
サーバー1台でWordPress同時接続200ぐらいさばきたいんだけど無理かな?
やってみたら重いんだが、チューニングで乗り切れないかな
>>887 WordPressスレいったほうがいいんじゃないかね。
特定のアプリケーションに関して、特にチューニングのように掘り下げるのに言語スレは向かないと思うんだ。
そして、最低限、どういう構築したかとか現在どれくらい出てるとかマシンの仕様とか、表示物の定義だとかは必要と思われ。
WordPressってPHPだっけ?
ググれば一瞬で分かるようなこと聞くのは意味不明だけど
そうだよ
ほとんどperlでしょ
そんな大規模なサイトでCMS使って手抜きすんなよ
ID出してない奴に質問してるクズ=
>>893がスレッドを荒らしてるんだろうな
まさにネットヤクザ
900 :
nobodyさん:2014/06/29(日) 16:51:56.23 ID:A8r2mqHw
PHPからPHPのオプションであるシンタックスチェックの
--syntax-check を実行することはできないでしょうか?
例えば、あるclassをincludeやuseする前に、シンタックスチェックをして
シンタックスエラーが見つかったらエラーコードの返値を返す
みたいなfunctionを作りたいのです
php_check_syntax
注意:
技術的な理由により、この関数は廃止され、PHP から削除されました。 かわりに、コマンドライン から php -l somefile.php を利用してください。
諦めました>_<
>>901 > かわりに、コマンドライン から php -l somefile.php を利用してください。
だめなの?
よく分からないんだけど、
シンタックスエラーが出るかも知れないようなphpソースを、拾い食いか何かするの?
904 :
nobodyさん:2014/06/29(日) 18:32:32.93 ID:A8r2mqHw
905 :
1/2:2014/06/29(日) 22:12:26.36 ID:gqLkNaIH
【OS名】WinVista
【PHPのバージョン】5.3(ロリポップ)
【連携ソフトウェア】なし
【質問内容】
複数のサイト(ブログ)のRSSを取得し、特定のキーワードがタイトルに入った記事が更新された時に記事タイトルとURLをtwitterに投稿したいです。
RSSの取得は試しましたが、
・複数のサイト(ブログ)のRSSを取得
・キーワードを抽出
・twitterに投稿
をどう組み合わせたらよいのか悩んでいます。
RSSの取得は、1サイトのみですが
$RSSpath = "アドレス";
$XML = simplexml_load_file ( $RSSpath );
foreach ( $XML->entry as $entry ) {
$title = $entry->title;
$published = $entry->published;
$link = $entry->link->attributes ()->href;
echo "$title $link";
}
でブラウザ上での動作は確認しました。
906 :
2/2:2014/06/29(日) 22:13:20.66 ID:gqLkNaIH
twitterへの投稿は
require_once("./twitteroauth.php");
$consumer_key = "***********";
$consumer_secret = "******************";
$access_token = "***********";
$access_token_secret = "******************";
$to = new TwitterOAuth(
$consumer_key,
$consumer_secret,
$access_token,
$access_token_secret);
$req = $to->OAuthRequest(
"
http://api.twitter.com/1/statuses/update.xml",
"POST",
array("status"=>"※ここに投稿したい内容を記述。")
);
あたりを使えばよいのでしょうか。
アドバイスよろしくお願いいたします。
いいんじゃね?
あと定期的に実行することを考えるならロリポップだとcronが使えるみたいだから、その辺見ておけばなお良い気はする。
908 :
nobodyさん:2014/06/30(月) 02:02:17.28 ID:sHnB1p84
辺見
マリ
910 :
905:2014/06/30(月) 02:37:30.58 ID:/9iQ3j22
>>907 ありがとうございます。
とりあえず以下で「RSSを取得してtwitterに投稿」はクリアしました。
require_once("../twitteroauth.php");
$ck = "**********";
$cs = "**********";
$at = "**********";
$ats = "**********";
$to = new TwitterOAuth($ck,$cs,$at,$ats);
$RSSpath = "**********";
$XML = simplexml_load_file ( $RSSpath );
foreach ( $XML->entry as $entry ) {
$title = $entry->title;
$link = $entry->link->attributes ()->href;
$alldata = $title.' '.$link;
$req = $to->OAuthRequest("
https://api.twitter.com/1.1/statuses/update.json","POST",array("status"=>$alldata));
}
ただ、これだとbotを叩くたびに最新の10件が新しいものから投稿されてしまいます。 あと自分がやりたいのは
・投稿済みのものは除外する
・複数のサイト(ブログ)のRSSを取得
・キーワード抽出
です。
hebita164.hatenablog.jp/entry/20101121/1290354930
を参考にしたのですが、foreach ($oItems as $Item) { で Invalid argument supplied for foreach() in となります。
アドバイスよろしくお願いいたします(_ _)
最後に取得した日付を保存でもすれば?
なんで基礎からやらないんだろう。
あとそもそもなんだけど、おしらせbotは邪魔。
ツイパクと同じくらい邪魔。
914 :
マッチ棒:2014/06/30(月) 11:28:45.24 ID:???
こんにちはいつもお世話になります。
くだんの案件管理システムなんですけど
検索条件を指定するプルダウンやチェックボックスがあります
そしてサブミットで案件一覧が抽出されます
案件のリンクをクリックで、別のPHPファイルに処理がうつり編集画面になります。
UPDATE処理のあとまた案件一覧に戻ります。
さてこの時、検索条件のプルダウンやチェックボックスを、さっきの選択状態を維持したいのである
なおかつ案件一覧も、抽出された状態を維持したい
cookieやajax使えボケ
916 :
マッチ棒:2014/06/30(月) 13:25:09.65 ID:???
こんにちは
具体的にどうしたらよいのけ
まずID出さないと
初心者が請け負った結果ww
マッチ棒さん、ご自慢の基本情報持ってるプロなんだから少しは自分で考えなさいよ。
921 :
マッチ棒:2014/06/30(月) 14:58:31.10 ID:???
こんにちは
ちなみにこのシステムは請け負ったんじゃなくて社内のシステムなんすよ。
先週末に役員まじえてベータ版をレビュープレゼンしました。
結果は大成功で好評でした。
ちまいらのおかげですありがとう。
引き続きサポートおねがいします
基本情報Σ(´∀`;)
ベンチャーだろうが、そのレベルのプレゼンで納得しちゃう頭の弱い役員とか不安すぎるw
おれも多分同じようなレベルだけど、社内でEXCELでばらばらにやってたようなものを
イントラ内で一元化して便利にするとほんと喜ばれるよね
基本情報2回落ちたよ・・・
勉強した上で落ちるなら
もう諦めた方が良い・・
午後で落ちたならペチパーの素質がない
午前で落ちたならちゃんと勉強していけ
928 :
マッチ棒:2014/06/30(月) 19:33:47.68 ID:???
>>923 月々の売上の締めがグダグダだったのが、これでかなりスッキリするはず
>>925 あきらめずに勉学に励みたまえ
役員にこのスレ見せて、サポートも完璧だって言っておきな。
くそわろた
こいつがシステム仕切ってる会社見てみたいw
仕事相手とかにはしたくないが
>>929 月間ユニークユーザー数1000万とも言われる巨大掲示板による
超手厚いサポートだからな
彼らの優秀かつ膨大な知恵がマッチ棒(基本情報)さんを支えている
なんて素晴らしいんだろう
933 :
マッチ棒:2014/06/30(月) 21:10:34.01 ID:???
結局、
>>914については誰もわからないのけ?
セッション変数に保存するとまたバカにするけど、代案はだせんのな?
なおクッキーはブラウザ環境によって禁止されてるからダメでしょ
このレベルでも会社でやっていけるというのは学生にとって自信がつくな
そこらの学生の方がスキルあるだろw
まあ金になるかは営業力だったり居場所の確保だったりするからな
こ こ は お ま え の サ ポ セ ン じ ゃ ね ー の よ ?
そもそもID出してない質問なのに答える馬鹿がいるからダメなんだよ
最低限のルールは守らないと
俺は答えてないよ ルール違反者だから
みんなマッチ棒さんになればいいんだよ
941 :
マッチ棒:2014/06/30(月) 21:45:39.69 ID:???
うーん、君たち脳タリンの愚民どもに聞いたのが
そもそもの間違いだったようだね
基本情報にすら噛みつく真性底辺の塵ばかり
おまえらチンカスどもは犬の糞でも喰って死ぬといいよ
933のレス1つでこいつのダメさがよくわかっちまうな
943 :
マッチ棒:2014/06/30(月) 22:00:51.84 ID:???
君たちのダメさはよくわかったから、そういう恥ずかしいレスはいらないよ
944 :
905:2014/06/30(月) 22:04:24.45 ID:/9iQ3j22
>>911-912 邪魔と言われると困ってしまうのですが、飽くまで自分用として作りたいと思っています。
学ぶ順番がおかしいという指摘はごもっともです…。
できないことをやろうとしているのは事実ですが、
その都度調べ学びながらなんとか頑張りたいのでお力貸していただけるとありがたいです。
一番理想に近いのは
>>910であげた所のものなのですが、
所々古い仕様のものとなっているのでこのままでは動きません。
ヒントだけでもいただけないでしょうか。何度もすみません。
自分用なら尚更取得するだけでええやん
この前のBOT作成手伝っての人か
ていうか最近質問というより作って下さい系ばかりだな
勉強する気はないのかね
これ釣りなんだよね?
948 :
905:2014/06/30(月) 22:09:46.62 ID:???
RSSを釣りたいんです!!
949 :
905:2014/06/30(月) 22:18:02.39 ID:/9iQ3j22
すみません。
もう少し勉強して形になってからまた来ます。
>>910だけは自分で理解して書けたものなので、そこにひとつずつ足していけるよう頑張ります。
失礼しました。
950 :
マッチ棒:2014/06/30(月) 22:32:55.27 ID:qCm9+yal
IDってどうやって出すのだ?
951 :
マッチ棒:2014/06/30(月) 22:35:07.60 ID:qCm9+yal
そろそろ寝ますんで
よろしくお願いします
952 :
nobodyさん:2014/06/30(月) 22:45:51.82 ID:sHnB1p84
きゅうせんち
答え全部書いてあるやん。
読めばわかる人はわかる。
955 :
マッチ棒:2014/07/01(火) 01:36:58.15 ID:FjxF4MUL
>>953 具体的にどの手法のことか教えてよ
さっさと
>>955 キミも僕と同じ、基本情報ホルダーならわかるはず・・・
957 :
マッチ棒:2014/07/01(火) 02:51:05.72 ID:FjxF4MUL
・クッキー
・セッション変数
・mod_rewrite
・ヒドンフィールド
いま出てる案はこの4つでしょ
このうちセッション変数はバカにされたけど一応目的の動作にはなった。
どの手段が定石なのか教えるのだ
959 :
nobodyさん:2014/07/01(火) 03:38:13.13 ID:8bGHcu8L
セッションIDとそれに紐づけしたデータだろjk
>>957 セッション変数を使うことは何も間違いじゃない。
クエリを放り込んだのが不思議だっただけだよ。
指定された検索条件を無害化してセッションに保持、セッション情報を元に画面を復元すればよいよ。
基本情報ホルダーの最新テクニックでクリエーをセッションに保持する天才的発想
$_SESSION['job'] = '案件名';
$query = "SELECT * FROM `anken` WHERE `job`= " . サニタイズ関数($_SESSION['job']);
多分こういうのならOKかと。
向こうのスレ見てないけど、これを
$_SESSION['query'] = "SELECT * FROM `anken` WHERE `job`= '案件名'";
こうしてたって事だよね?
バカに餌やると居座るからやめろ
セッションの管理にクッキー使ってるのは知らないんだな
966 :
マッチ棒:2014/07/01(火) 12:44:53.92 ID:sll8EgQp
>>963 こんにちはいつもお世話になります。
たしかに後者のに近いけど、なにがいくないのか
わからんのである
>>966 今後もこうやってくのかよ
場合によって同じパラメタでSQL替えたいときどうすんだよ
まーたサブドメイン変えやがったわ・・・
リダイレクトするか、告知ぐらいしろや糞運営w
PHPスレに住み着いてるゴミには告知しなくてもよい
2chブラウザ使ってりゃ別に困りもしないな
基本情報ホルダー様の最先端セッションクリエー方式に文句付けるとかお前ら低脳なの?
マッチ棒さんは常人には理解し難い発想をお持ちの基本情報持ちのスーパーハカー
>>966 >>963だけど世話した覚えはない
てかDB扱うのに勉強目的ならともかく、実用性重視のアプリ開発でフルスクラッチはセキュリティ面でも怖いし学習コストが高い気がする
MDB2とかの出来合いのライブラリの方がいいかと。
MDB2使う利点が見えないのだけど
セキュリティ面でも学習コストでも
976 :
マッチ棒:2014/07/02(水) 19:25:55.45 ID:???
こんにちは。
セキュリティて具体的にどんな被害が想定できますか?
会社の請負案件やその金額については、隠す必要は普通はないですよね?
役所の公共事業とかも全部公表でしょ?
何をこわがっているのだ?
今ならPDO使いますよね
公共事業と一緒にするとかさすがマッチ棒さんだな
公共事業さえも視野に入れているなんてさすがマッチ棒さんや
PHPをGUIで表現するって変な話でしょうか?
PHPでプログラムを書いていてなんか地味だと感じてしまいました
982 :
マッチ棒:2014/07/02(水) 23:52:15.44 ID:???
ケツ毛をうまく処理できる電気バリカンおすすめある?
>>981 PHPを扱うならHTMLは当たり前ではないでしょうか
せやで
>>980 GUIベースなプログラミング言語っていうアイディアは昔いろいろあったけどもう廃れた
テキストベースのプログラミング言語を高性能テキストエディタやIDEで扱えば十分だっていう結論
987 :
nobodyさん:2014/07/03(木) 13:09:20.34 ID:Hh19PEE/
限らないのは例外
988 :
nobodyさん:2014/07/03(木) 13:10:10.37 ID:Hh19PEE/
岡本玲ちんのおしっこ直飲みしたい
>>988 本文とIDが見事にリンクしてる
HなPee(おしっこ)か
(php:pee hentai peep(おしっこ変態覗き)としてphpにこじつけよう)
990 :
マッチ棒:2014/07/03(木) 16:16:37.86 ID:xbBDAXRQ
会社の本サーバに移したらさっそくエラー出まくるんだが!
フェチアソックやめてPDOのメソッドに全部書き換えたり、非推奨のを直していったらやっと動いた。
こういう大事なことは最初から言わないとだめやろ?
991 :
マッチ棒:2014/07/03(木) 17:28:57.61 ID:xbBDAXRQ
次すれたてよろしくお願いします
さっさと
fetch(フェチ)assoc[iate](アソック)
非推奨の関数が入ったスクリプトを会社の本サーバに突っ込むとな。
基本情報ホルダー()だからわざわざ言うまでもなく最初から知ってると思ったわ。
しかも次スレ立てのお願いが「さっさと」とかお願いする態度じゃないというね…
993 :
マッチ棒:2014/07/03(木) 17:45:25.74 ID:xbBDAXRQ
まあそう言わんと
限らないのは例外とは限らないのは例外とは限らない
とりあえずキャッチしたらええねん
997 :
マッチ棒:2014/07/04(金) 01:22:16.66 ID:HdsloSl+
ここ2週間のイライラで、彼女に食ってかかって喧嘩し、泣かせてしまった。
おれはくそ野郎です
このクソ野郎が