【PHP】下らねぇ質問はここに書き込みやがれ 8 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/03/15(水) 00:41:22.79ID:ko4BTSP20
PHPに関する下らない質問用避難スレです。
まず読むこと【PHPマニュアル】
http://www.php.net/manual/ja/

前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 7
http://echo.2ch.net/test/read.cgi/tech/1478657006/

次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
198デフォルトの名無しさん (ワッチョイ 76e2-kKGB)
垢版 |
2017/05/09(火) 00:09:30.62ID:DXl/dI3b0
159ですがもう一つ質問があります。

【OS名】Win7-Pro
【PHPのバージョン】5.6.28 (XAMPP v.3.2.2)
【連携ソフトウェア】ブラウザはFirefoxかChrome

【質問内容】
JavaScriptでPHPを起動し、サーバー内の同一ディレクトリ内にある abc.txt (最初はカラ)
に文字列を書き込みたい。

本を見てローカルでは上手くいったので、159のhttp://wpcos.com/?p=13945 のコードの下に
$handle = fopen("abc.txt", "w");
flock($handle, LOCK_EX);
fwrite($handle, "テスト文章です");// abc.txtにデータを書き込む
flock($handle, LOCK_UN);
fclose($handle);

を追加したのですが、abc.txt は何も変化しません。 どうしたら良いでしょうか?


>>194-195
後で試してみます。 PowerShell って初めて聞きましたのでこっちも調べてみます
2017/05/09(火) 00:26:37.79ID:DXl/dI3b0
上記の「本を見てローカルでは上手くいったので」は
書き込みコード($handle〜fclose($handle); )限定の話です
2017/05/09(火) 00:54:54.81ID:aLfyMh4W0
先の質問は解決してんのか?
してないんなら何やったって無駄
201デフォルトの名無しさん (ワッチョイ 636e-Ogwz)
垢版 |
2017/05/09(火) 01:00:42.46ID:bmQioI1H0
>>197
しなくていいと思います
2017/05/09(火) 01:08:19.06ID:DXl/dI3b0
>>200
はい、解決しています>>164。 >>186〜195は>>170-171 で提案して頂いた別案の検証です。
2017/05/09(火) 01:13:51.44ID:aLfyMh4W0
>>202
ならとりあえずエラー(Warning等)出てないかチェック
2017/05/09(火) 01:33:02.97ID:DXl/dI3b0
>>203
どうも。 下記のようにしたところ、 20 kakikomi と表示され、コード自体は実行されたようです。
※20は解消済みの掛け算。 コンソールログには何も表示されません。

try {
$handle = fopen("abc.txt", "w");// abc.txtを書き込みモードで開く
flock($handle, LOCK_EX);// abc.txtをロックする
fwrite($handle, "テスト文章です");// abc.txtにデータを書き込む
flock($handle, LOCK_UN);// abc.txtのロックを解除する
fclose($handle);// abc.txtを閉じる
print " kakikomi";

} catch (Exception $e) {
print " error";
}
2017/05/09(火) 01:37:20.86ID:aLfyMh4W0
コード先頭でerror_reporting(E_ALL);
2017/05/09(火) 17:01:44.91ID:oUHmrZCO0
>>204
その try catch に何を期待していたのか分からないが、
エラー処理は正確にね。
2017/05/09(火) 18:20:53.53ID:D8dw9aKcH
>>204
abc.txtを全ディスクで検索してみたら?
それか、fopen("C:\\abc.txt", "w")として、フルパスで指定するか。
208デフォルトの名無しさん (ブーイモ MM4b-u5gs)
垢版 |
2017/05/09(火) 18:36:53.05ID:me68cFh4M
教えてください。
PDOでSQLからデータ取ってきてそのまま配列に入れたら、
Array (
[0] => Array ( [title1] => hoge [0] => hoge [title2] => fuga [1] => fuga [title3] => piyo [2] => piyo )

てな感じで1つのRowに同じ値が2つな状態になるんですけど、
これ配列入れる前か後に、どっちか1つにできる方法ないですかね。

このあとforreachの処理に投げたんすけど、データがダブっておかしなことになったので…。
よろしくお願いします。
209デフォルトの名無しさん (ワッチョイ df1f-VjVX)
垢版 |
2017/05/09(火) 18:50:53.71ID:1JEWBzos0
>>208
ロードのオプションで、数字かキーか両方(指定なし)がえらべる
2017/05/09(火) 23:18:52.77ID:DXl/dI3b0
皆さん、有難うございます。

>>205
何も表示されませんでした


>>206
すいません気を付けます
print "例外キャッチ:", $e->getMessage(), "\n";
とかで書いておきます。


>>207
Cross origin requests でエラーが出たのでローカルでなくサーバー上でやっています。
2017/05/10(水) 00:26:12.62ID:KrmbBI200
>>210
ini_set('display_errors', 1);
も追加しとけ
2017/05/10(水) 00:37:08.48ID:KrmbBI200
>>210
あと勘違いしているようだから言っておくと, fopenは例外を投げない
というファイル操作関数は例外を投げない
ファイル操作で例外処理をしたければSplFileObjectを使うかset_error_handlerでエラーハンドラを書き換える
2017/05/10(水) 01:14:47.13ID:hTeNJ02Z0
>>211-212
有難うございます
214デフォルトの名無しさん (ブーイモ MM4b-u5gs)
垢版 |
2017/05/10(水) 11:18:19.10ID:fvTwvO+tM
>>209
公式に同じような配列の処理例がありますね…fetch使えばいいのか。
よく調べます、ありがとうございます。
2017/05/10(水) 12:07:27.61ID:kZ1vOxdN0
ImageCreateFromJPEG($imgfile);

$imgfileにjpg画像以外のpng画像やgif画像を入れるとエラーになるのはわかったのだけど
png画像やgif画像をjpg画像に変換する方法がわかりません。
やり方が分かる人がいらっしゃいましたら教えてください。
2017/05/10(水) 12:15:15.94ID:kZ1vOxdN0
すいません。
できました。

imagecreatefromstring(file_get_contents($imgfile));

こうすればpng画像でもできるようです。
ありがとうございました。
2017/05/10(水) 14:02:06.75ID:DOCc0Zf4H
>>210
> ローカルでなくサーバー上でやっています。
なら、そのサーバ上のディレクトリに対して書き込み不可なんじゃないの?

やることその1: fopen()の戻り値$handleを調べて、成功しているかどうか確認する(falseなら失敗)
やることその2: サーバのエラーログを見る
2017/05/10(水) 22:09:56.39ID:auOc2utQM
とにかく不具合あればアクセスログ、エラーログを見ろ
それで8割は原因分かる
2017/05/11(木) 00:26:19.85ID:WqhQ6yh90
>>217-218
有難うございます。 昨日から体調が悪いので検証できません
220デフォルトの名無しさん (ワッチョイ 7fdb-qxJP)
垢版 |
2017/05/11(木) 17:04:44.60ID:jqKKP1Mj0
【OS名】Windows 10 Home
【PHPのバージョン】5.6.30
【連携ソフトウェア】OpenWeatherMap(API)
【質問内容】
http://ryus.co.jp/blog/openweathermap/ を参考にして、ウェブサイトに東京都の天気情報を表示したいです。
ただ、OpenWeatherMapからの天気情報をJSON形式で取得すると方角の値が0〜360で返ってきます。
この値を方角に置き換えて風向きのテーブルに表示したいです。
まだ、PHPを始めたばかりでswitch分しかわからず、それを使用しています。
switch分を変数に代入したり、sprintf関数に組み込んでみたりと色々試しているのですが上手くできないです。
風向きのテーブルに方角を表示するためのアドバイスをください。
よろしくお願いします。

$url='http://api.openweathermap.org/data/2.5/weather?q=tokyo&;units=metric&appid=********';
$json=json_decode(file_get_contents($url),true);

$format='
<tr><td>気温</td><td>%s°C</td></tr>
<tr><td>風向</td><td>【ここに方角を表示したいです】</td></tr>
<tr><td>風速</td><td>%sm/s</td></tr>
<tr><td>湿度</td><td>%s%%</td></tr>
';
echo sprintf($format,$json['main']['temp'],$json['wind']['speed'],$json['main']['humidity']);

$degree=$json['wind']['deg'];
switch($degree){
case $degree > 348.75 && $degree < 11.25:
echo'北';
break;
(同じような感じで方角が16分割されています)
}
221デフォルトの名無しさん (ワッチョイ cf8e-jIBa)
垢版 |
2017/05/11(木) 17:06:00.89ID:qQCmyvYW0
GPLのダウンロード方法教えて下さい。
2017/05/11(木) 17:33:13.49ID:auiRJU69M
>>220
上手くできないって何が上手くできないのか?
エラーログが出てるならエラーログの内容をそのまま書いてほしい
エラーログが出ないなら、エラーログを出すようしにして、エラーログの内容を書いてほしい
そうすれば答えてくれる人がいると思う
2017/05/11(木) 18:28:19.55ID:g90U9udHa
array_reduceは常にインデックス通りの順番で動くことが保証されてますか?
例えば配列の全ての数字を引き算するときに使っても問題ありませんか?
224220 (ワッチョイ 7fdb-qxJP)
垢版 |
2017/05/11(木) 18:35:43.44ID:jqKKP1Mj0
>>222
エラーが出ないというか出せないというかうまく言葉で説明できないです。
申し訳ないです。
もう少し試行錯誤します。
ありがとうございました。
2017/05/11(木) 19:23:37.16ID:SE/IN+7B0
>>220
$degree > 348.75 && $degree < 11.25:

348.75 より大きくて、かつ 11.25 よりも小さい数字ってあるかな?
226デフォルトの名無しさん (ワッチョイ d36e-SU9n)
垢版 |
2017/05/11(木) 19:30:24.73ID:5AwxqDXW0
jsonの中身を貼ればいいんじゃない?
227デフォルトの名無しさん (ワッチョイ ff87-y58w)
垢版 |
2017/05/11(木) 20:28:10.01ID:bHhk+rd90
PHP5.6なのですが、php.iniのoutput_bufferingをOnにしないと
CookieやSessionが使えなくなったのですが、関係あります?
Cookieが使えない原因が分からず、output_bufferingをOnにしたら使えました
ググっても関連があるようには思えないのですが、もしあるなら教えてください
2017/05/11(木) 20:50:12.91ID:auiRJU69M
関係あるよ
http://php.net/manual/ja/function.setcookie.php

バッファオフにした場合は
出力した後にsetcookieしたらダメ
2017/05/11(木) 20:53:36.93ID:bHhk+rd90
>>228
マニュアルに書いてましたか・・・
勉強不足でした。ありがとうございました
230デフォルトの名無しさん (ワッチョイ ff87-y58w)
垢版 |
2017/05/13(土) 14:56:11.69ID:DB8bCe2a0
みなさん、画像ファイルのアップロード先フォルダはどのようにしていますか?
単純に/uploadsみたいなところに入れますか?
それともWordpressみたいに
/uploads/2017/05というように日付でフォルダ分けして管理しますか?
2017/05/13(土) 15:15:34.69ID:EKwOhdT+0
状況に応じて変わるとしか言えん
どういう使い方するか考えればおのずと決まるはず
2017/05/13(土) 16:37:08.01ID:DB8bCe2a0
確かにそうなんですが、
ある程度のスタンダードな考え方・分け方は知りたいと思いまして。
他のサイトを調べると日付で分けることが多いみたいなんで、
大量に画像をアップロードする可能性があるなら、そうしてたほうが無難なんですかねぇ
2017/05/13(土) 19:20:12.73ID:bYeLo1gSa
imageフォルダでいいじゃん。
2017/05/15(月) 00:06:32.69ID:TcVKQbFq0
>>230
何故フォルダに分けてるのかは、お前は分かっていないということだな? 231、233も含めて
235デフォルトの名無しさん (ワッチョイ ff87-y58w)
垢版 |
2017/05/15(月) 11:21:27.48ID:1833Pji90
Configure::read()

という書き方って専門用語でなんて言うのでしたっけ?
PHPのバージョンによってもこの書き方が使える場合とエラーになる場合があり、
それを調べようと思ったのですが、用語をど忘れしてしまいました
2017/05/15(月) 11:48:48.70ID:1833Pji90
疑似変数ですかね。
色々と質問させていただきましたが、
マニュアルを見逃すことが多いので、注意したいと思います。
2017/05/15(月) 12:28:14.73ID:Nyf5aX+Ca
スコープ定義演算子
2017/05/15(月) 17:52:15.38ID:dvw/ajfi0
(続き)今日はシフトの非番なのでやってみました

------------------
>>211の ini_set('display_errors', 1);  は
failed to open stream: Permission denied in ・・・ test01.php
となりました。 ※長々と文章が続きますのでここだけ抜粋

------------------
>>212
例外処理でSplFileObjectを使ってみました。
try {
$obj = new SplFileObject("abc.txt", "w");
} catch (Exception $e) {
//エラー処理
echo $e->getMessage();
}

これだと 500 (Internal Server Error) が出ます。

set_error_handler は未だです

------------------
>>217の「fopen()の戻り値$handleを調べて」で
$handle = fopen("abc.txt", "w");// abc.txtを書き込みモードで開く
print $handle;
をやってみましたが、何も表示されません。

------------------
現時点での結論は「原因が全く分からない」です。
2017/05/15(月) 18:17:58.64ID:Jjv98UEoH
>>238
> >>217の「fopen()の戻り値$handleを調べて」で
> $handle = fopen("abc.txt", "w");// abc.txtを書き込みモードで開く
> print $handle;
> をやってみましたが、何も表示されません。
>
> ------------------
> 現時点での結論は「原因が全く分からない」です。

いやいや、何も表示されないというのは、fopen()が失敗してるってことだよ。
falseをprintしても何も表示されないから。
成功してたら、"Resouce id #5"みたいに表示されるはずだから。
2017/05/15(月) 18:24:42.83ID:Jjv98UEoH
つか、

>>238
> >>211の ini_set('display_errors', 1);  は
> failed to open stream: Permission denied in ・・・ test01.php
> となりました。 ※長々と文章が続きますのでここだけ抜粋
エラーの原因出力されてるじゃん・・・
2017/05/15(月) 19:55:48.98ID:Vb5ZKsqrM
とにかくエラーログがてるところまで何とかしろ
そこにたどり着く前に色々やっても何も分からんだけ
先に進まず、まずはここだけやれ

そしてエラーログが出るようになったら必ずログを確認しろ
500エラーなら必ず理由がログに出る
2017/05/15(月) 20:17:22.18ID:nSGL9egfa
>>238
せめてさ, エラーメッセージでググるくらいのことはしてくれよ
2017/05/15(月) 21:04:15.00ID:fnDHHxZB0
ローカルで使用する時に別ドライブから画像参照したい
htmlだと
<img src="file:///I:/img/0000.jpg">
こう書けば別ドライブから画像を参照して表示できるのだけど
PHPではこう書いてもできない。
どうすればいいでしょうか?
2017/05/15(月) 21:15:35.34ID:nSGL9egfa
>>243
http://php.net/manual/wrappers.file.php
2017/05/15(月) 22:19:38.89ID:dvw/ajfi0
>>239-242
FFFTPでサーバー上の目的テキストのパーミッションを開き、権限者「その他」で「書き込み」
にチェックマークを入れたところ、print $handle; は Resource id #3 が出ました。
※Chromeで実行しましたがエラーは出ていません

文字化けしていますが曲りなりに成功しました。 有難うございます。
2017/05/15(月) 22:44:25.11ID:dvw/ajfi0
(追記)
文字化けは、目的テキストの文字コードを UTF-8 にするため
$str = "テスト文章です";
$str = mb_convert_encoding($str, "UTF-8", "EUC-JP");

でOKでした。
何故か "EUC-JP" でなくファイルの元コード "sjis" や "Shift_JIS" から
変換すると文字化けのままです。
2017/05/16(火) 00:20:46.81ID:P5MMw6+60
>>244
お返事ありがとうございます。
ローカルだとうまくいきませんでした。
何か別の方法を考えてみます。
2017/05/16(火) 00:55:45.12ID:hc9PncuC0
>>247もそうだけど、上手くいかないならまずはアクセスログ、エラーログを見よ
ログがでてないならまずはログを出すところから始めろ
PHP ログ 出力 でググって調べろ
上手くいかない場合、ここで聞くよりログを見た方が確実だし早い
2017/05/16(火) 01:19:07.84ID:T1OkV7Tma
>>235
staticメソッド
2017/05/16(火) 11:16:48.66ID:3A9hLCJa0
冷たいようだが手遅れになる前にハッキリと言っとく

プログラムが意図した通りに動かない時
自分でエラーメッセージを確認してググるなり本なりで調べて解決しようとして
私はこう思ってこうしたのだけど動きません

という質問の仕方なら分かるし将来性はある

動きません
分かりません

という質問の仕方しかできないなら、ハッキリ言うがプログラミングには向いてない
手遅れになる前に他の業界にいきましょう
2017/05/16(火) 12:22:29.62ID:CV++bHOB0
>>250
でもそれはアナタが慣れているから。
初心者はエラーメッセージの出し方も分からないないし、長々としたメッセージの
どこを見れば良いかも分からない。

優越感の視点で書いちゃダメだよ。それに

> ハッキリ言うがプログラミングには向いてない

オマエ、FPGAのプログラミングもやったことあるの?
プログラミングなんてPC上でカタカタやって終わりのモノだけだと思ってないか?

それに資料の殆どが英語という言語もあるんだぜ
2017/05/16(火) 12:29:18.04ID:EpHNLcPNa
プログラミングやってたら知りたい情報が英語で書かれてることなんて珍しくもないし、そんなとこで優越感持たれても困る
業界どうこうの話じゃなくて、自助努力の痕跡が見つけられるかどうかでしょ
2017/05/16(火) 13:01:25.46ID:3A9hLCJa0
>>251
日進月歩の世界だから自分の力で調べて解決する能力のない人は向いてないってだけの話
長ったらしいエラーが出たら出たで、今度はそのエラーをググればいいじゃないか
昔はググる事すらできなかったのにさw

別にプログラミングに限った話でもない
20半ばぐらいまでならまだ間に合うから、さっさと業種を変えた方がいい
手遅れになった人を何人も見てきてるし30過ぎまで引きずるとほんと悲惨だよ
お前そんなんじゃ結婚もできないだろって奴ばっか

FPGAなんて言葉を出して優越感()に浸ってるお方には理解できないのかもしれないけどさw
2017/05/16(火) 13:04:24.73ID:UWwVfOAn0
というか物凄く親切丁寧なPHPのエラーですら読んで理解できないのはプログラム云々以前の問題だと思う
中学レベルの英語力すらないのか?
2017/05/16(火) 13:05:13.59ID:CV++bHOB0
>>253
要はエラーが出ない場合は、「エラーメッセージの出し方を教えて下さい」で、
あと「どの個所を見れば良いのですか?」 という2行を追加ということでOK?

あとFPGAの存在は知っておいて損は無いよ。
専用ツールをライセンス購入すると100万円超えるけど
2017/05/16(火) 13:10:06.47ID:7x0iPo/hM
優越感に浸ってる痛い255がいると聞いて
2017/05/16(火) 13:17:27.07ID:CV++bHOB0
このスレのキーワードは『優越感』になりそうだなw
2017/05/16(火) 13:25:03.78ID:Ilchk1CoH
>>251
オマエ、今年の痛い奴No1を更新したぞ
2017/05/16(火) 13:49:00.36ID:6VEQJAMtM
検証の手順と質問の仕方は考えてほしい
超能力者じゃないと答えられん質問投げられてもだれも得しない

エラーログを出す(まったく出てないなら出す方法から調べる)
エラーログを見る
エラーログをコピペしてググって調べる
再度ソースを確認する

それでも分からなければソースとエラーログを
他人に見られてはいけないところ(パスワードどか)以外全部ここにコピペで書け
そうすれば答えてくれる人も多くいると思う
ソースだけとかでも分からない場合が多いので
2017/05/16(火) 14:13:25.93ID:Ilchk1CoH
>>243
> ローカルで使用する時に別ドライブから画像参照したい
> htmlだと
> <img src="file:///I:/img/0000.jpg">
> こう書けば別ドライブから画像を参照して表示できるのだけど
「ローカル」というのがローカルPCで動作するHTTPサーバを指すなら、HTMLでも表示できないと思うが。
単にHTMLファイルをダブルクリックして表示することを指しているのなら、それに変わるPHPの使い方はできない。
2017/05/16(火) 14:34:15.08ID:l7Nmuuc60
テンプレに追記が必要か?

[プログラムが動かない場合]
* エラーは出ているか?
出ている→コードと内容をそのままコピペ
出ていない→error_reporting(E_ALL); ini_set('display_errors', true); をコード先頭に追記して実行して表示されるエラーをコピペ
262デフォルトの名無しさん (ワッチョイ 4367-r1sh)
垢版 |
2017/05/16(火) 16:49:20.37ID:WEDWU0250
すいません、以下質問させてください。
SQLで取得したデータを多次元配列に入れてHTMLのテーブルでリスト表示してます。
そのテーブルヘッダにドロップダウンリストを付けて、
複数条件の絞り込み機能を付けたいのですが、
配列をフィルタリングするにあたり、どのような関数またはロジックを使えばいいでしょうか。

キー(フィールド):
10列ほど。検索値の指定は全キー必須ではなく、指定したりしなかったりされる。
なお1列だけ数値データがあり、それについては範囲検索する。(0-3, 4-6, 7-9…)

配列形式:
Array (
[0] => Array ( [titile1] => hoge [titile2] => fuga [〜 [title10] => 2 )
[1] => Array ( [titile1] => piyo [titile2] => fuga [〜 [title10] => 7 )
[2] => Array ( [titile1] => hoge [titile2] => hogera [〜 [title10] => 5 )


例えば、title1をhogeでドロップダウン選択したら、
Array0と2のレコードを抽出して表示

よろしくお願いします。
2017/05/16(火) 17:06:54.87ID:dXmAFpYY0
>>262
配列をフィルタリングするんじゃなくて sql の where 句を変えるようにするんだよ
264デフォルトの名無しさん (ワッチョイ 4367-r1sh)
垢版 |
2017/05/16(火) 17:36:29.81ID:WEDWU0250
>>263
ありがとうございます。
1ユーザー単位の検索回数が多いであろうと想定して必要以上のDBアクセスを避けるために、
最初のページ読込で全データとったらあとは配列でなんとかしたかったのですが無理そうですかね…。
2017/05/16(火) 17:48:51.64ID:Ilchk1CoH
>>264
Javascriptで実装する範疇ですね。
Web制作板に適切なスレがあるかも・・・。

まぁ簡単に言えば、条件に適合する行は描画して、そうでない行はスキップすればいい。
それを全部自前で実装するか、何かのライブラリを使うか、フレームワークを使うか。
ライブラリは、https://datatables.net/とか。

これ以上は、Web制作板かな。(Javascriptの質問を重ねないように)
2017/05/16(火) 17:53:29.44ID:ekUh1gbRa
普通にarray_filterじゃダメなの?
2017/05/16(火) 17:58:06.48ID:Ilchk1CoH
>>266
クライアントでやりたいんだと思うよ。
268デフォルトの名無しさん (ワッチョイ 4367-r1sh)
垢版 |
2017/05/16(火) 18:08:30.13ID:WEDWU0250
>>265
やはり、いち関数とかでどうこうできないですかね…残念。
検索値のログを取りたくてPHPを選択してみた経緯でした。
JavaScriptではファイル書き込みなどのファイル操作ができないようなので。
ありがとうございます。
2017/05/16(火) 18:13:09.89ID:Ilchk1CoH
>>268
サーバにクエリ投げてPHPで実装すれば?
2017/05/16(火) 18:15:43.77ID:/gdfS9gt0
いや、PHPでもゴリゴリ実装すればできると思うよ
ログも取れるし
SQLで間引くか、表示の直前で間引くかすれば良い
当然、適切なSQLを生成して必要な情報のみ取得して表示した方がサーバには優しい
2017/05/16(火) 18:16:14.25ID:dXmAFpYY0
>>264
まずは普通に作ってみたらいいのにと思うんだけど。

>>265 がいうようにクライアントでフィルタをかけるなら、クライアントに全データを渡すことになるのは問題ないのか
 (配列にフィルタかける方法を知りたがってるんだからクライアントでのフィルタは意図していないと思っていたけど)
・セッションに保持するなら、データが更新されたときの整合性はどう担保していくのか

を考慮しないといけないんじゃない?
2017/05/16(火) 18:23:37.41ID:Ilchk1CoH
もう、全件Excelに読み込んで、Excelの機能でフィルタリングしちゃえ
2017/05/16(火) 18:30:03.35ID:l7Nmuuc60
RESTで必要な分だけJSONで取れるようにすればよいのでは
274デフォルトの名無しさん (ワッチョイ 4367-r1sh)
垢版 |
2017/05/16(火) 18:42:09.76ID:WEDWU0250
みなさん、ありがとうございます。

>>266
あらためて調べなおしてみたら、array_filterでいけるかもですね。
これだと検索キーのぶんだけ、ネストでぶら下げていかなきゃいけない…のかな。
とりあえずベタでやってみます。
数値の範囲指定検索がややこしそう…。

>>267
最初はJqueryとか使って動的にやれたらな〜と軽く考えてましたが、
検索値指定してボタン押したら、セッションで検索値と配列渡して飛び先のphpページで処理して表示する流れにしました。

>>269
クエリでやらないのは>>264に書いた理由でした。

>>270
そうですねー、あまり余計な負荷は避けたいかなと。

>>271
クライアントにはデータは渡したくないので、あくまでサーバー側で処理したいと考えてます。
おっしゃる通り、まずはトライしてみます。array_filterで。
セッションの部分はまだ勉強不足でして…宿題です。
(データ登録は数日に1回10件くらいなのでシビアに見なくても大丈夫…かな?)
2017/05/16(火) 21:08:45.69ID:6VEQJAMtM
アクセス多いならデータベースに負荷をかけない方法として
memcacheやradisなどのキャッシュサーバ使ったり
PHPのAPCキャッシュを使うことも検討するといいよ
いきなりは厳しいけど、徐々に勉強していけばいいと思います
2017/05/16(火) 21:11:58.31ID:6VEQJAMtM
Redisは正式にはキャッシュじゃなかった
キャッシュ的にも使えるよ、という意味です
Sessionよりもより効率的なので将来的にはここまで頑張って進んでほしい
2017/05/16(火) 21:29:08.64ID:9H3961U80
>>261
良いのでは?
スレタイを声に出して100回読んでみろと言いたいところだが>>250は真実だしな
口が臭い奴にお前口が臭いよとはっきり言う方がある意味では親切なのと同じで
向いてない奴には向いてないとはっきり告げるのも必要だ
綺麗事だけじゃ仕事は勤まらん
2017/05/16(火) 21:33:22.36ID:9H3961U80
>>274
既に誰かが書いてたらすまないが、初回のsql発行結果を元に配列ソート用のJavaScriptのコードをPHPで出力してやるなんてやり方もあるよ
もう少し詳しく書きたいんだがスマホからなのですまない
2017/05/16(火) 21:57:02.88ID:P5MMw6+60
>>260
> 単にHTMLファイルをダブルクリックして表示することを指しているのなら、それに変わるPHPの使い方はできない。

ありがとうございます。
それがわかっただけでも対策を立てることができるので助かります。
2017/05/17(水) 07:51:06.10ID:3lPWTVzo0
すいませんapcuみたいな有効期限付けれる kvs ライブラリで有名なの教えてもらえませんか
拡張機能ではなくcomposerで入れられるのがいいです
2017/05/17(水) 09:42:34.81ID:u2bs0BxyM
>>280
https://github.com/chatbox-inc-hoge/SimpleKVS
有名でもないし、有効期限の実装もまだかもしれん
PHPだけでの実装なら都度都度ディスクから読み書きするしかないだろうから色々と厳しそう
SQLite使えるならそこにKVS実装するとか
ぶっちゃけ、どこかにmemcachedプロセス立ち上げるのが一番速いと思う
282デフォルトの名無しさん (ワッチョイ d36e-SU9n)
垢版 |
2017/05/17(水) 11:50:09.98ID:3lPWTVzo0
>>281
ランキング的なものをjsonで書き出して普段は読み込むだけなのでファイルでもいいかなと
レンサバなのでmemcachedは難しそうです
ありがとうございましたm(__)m
283デフォルトの名無しさん (ワッチョイ 4367-r1sh)
垢版 |
2017/05/17(水) 12:56:49.09ID:lSa7TP7B0
>>276
そうなんですよねー。
いずれSQLはコールドデータ的にして、Redisにコピってそっちでやり取りできたらいいなあと。
Dockerとかで環境作れそうですけど、基本的な実装が終わったらトライしてみたいですね。
APCキャッシュは知らなかったので調べてみます。

>>274
そんなやり方があるんですね。
お時間あったらでいいのでもう少し情報いただると助かります、
自分のほうでも調べてみますので。

ありがとうございます。
2017/05/20(土) 12:45:16.74ID:juCOIKkd0
文字列の最後が「Part1」とか「Part23」と感じなってるんだけど
この数値の部分を取り出すにはどうすればいいでしょう?
285デフォルトの名無しさん (ワッチョイ 1b1f-GzPn)
垢版 |
2017/05/20(土) 13:22:04.09ID:+AHq9zzn0
正規表現でいいだろ。とくに高速にこだわなければ。
2017/05/20(土) 14:06:53.01ID:fTSvx8FL0
Partを空文字列に変換する
2017/05/20(土) 14:23:35.28ID:VyG0A5Zf0
Partが固定長ならsubstrが最速だと思う
2017/05/21(日) 00:05:30.55ID:GvMHZSOA0
>>284です。
正規表現でできました。
ありがとうございます。
2017/05/21(日) 12:28:59.50ID:ANSA2OhR0
【OS名】WindowsServer2012R2
【PHPのバージョン】5.4.9
【連携ソフトウェア】Apache2.2
PECL2.0.1.2(PHP5.4ThreadSafe)
Oracle12.1.0.2(x64)
OracleInstantClientBasic12.2.0.1.0(x86)
OracleInstant ClienODBC12.2.0.1.0(x86)
【質問内容】PHPからDB接続が失敗します。
アドバイスください。
そもそもこの組み合わせで動作しない?
【やったこと】
環境変数Path
OracleInstantClientBasicのbinを先頭に追加。
tnsnames.ora、sqlnet.oraの設定
httpd.conf
LoadModule php5_module "c:/php/php5apache2_2.dll"
php.ini
extension_dir = "c:/php5/ext"
※"ext"、"c:\php5\ext"に変えても同じ
extension=php_oci8_12c.dll
(extフォルダにphp_oci8_12c.dllを格納)
apache再起動・OS再起動
参考にしたサイト
http://www.php.net/manual/ja/oci8.installation.php
【判明していること】
apacheのerror.log…oci_connect undefined function
phpinfo…oci8の項目がない。
他の32ビットアプリからOracle接続できています。
2017/05/21(日) 19:05:16.60ID:YAwwHXxQ0
extentionの組み込みに失敗してるようだから、
試しに他のextention組み込んでみれば?
それもダメならそもそもextention動的に追加できない環境とか
2017/05/21(日) 21:24:59.33ID:rRI3ub450
phpまったく分からない初心者で申し訳ないんですが、こちらの(http://www.punyu.net/php/oekaki.php)お絵かき掲示板をサイトに設置したいのですが、設置方法通りにやっても
Parse error: syntax error, unexpected '}' in ""/poti/htmltemplate.inc(312) : eval()'d code on line 147
このようなエラーが出てしまいます…
該当のファイルは全く手を付けていないので原因が全く分かりません。
本来ならば配布サイトで聞くことなんですが、かなり昔に更新停止してしまっているようで…。
ご教示いただけたら幸いです。
2017/05/21(日) 22:10:58.34ID:YAwwHXxQ0
>>291
そのサイト見ても403エラーしか表示されないのでよくわらかんが、
syntaxエラーということはプログラムが正しい記法で記述されてないということ
PHPのバージョン違いで対応してないのかもしれない

そもそも更新が停止されてるプログラムなんかセキュリティホールあるかもしれんし
素人ならなおさら使うべきではないと思う
ちゃんと今もメンテされてるところを探すべき
2017/05/21(日) 22:14:17.37ID:1J6dhIFt0
そのファイル見たらfor PHP4とか書いてあるんだけど
PHP4のEOLから約9年なんですけど
2017/05/21(日) 22:27:21.97ID:rRI3ub450
みなさんアドバイスありがとうございます。やっぱり古いのはだめなんですね…。
今までレンタルサーバーを使っていたのですが、こちらのhttps://github.com/funige/neo
ツールを使いたくて先程のお絵かき掲示板を設置しようとしていたのです…。こちらで普通につかえているようなので大丈夫だと思ったのですが…。
2017/05/21(日) 22:43:45.41ID:ANSA2OhR0
>>290
ありがとうございます。
明日試してみたいと思います。
2017/05/22(月) 11:49:09.51ID:d1deCwH80
訪問者が以前見ていたページからオススメのページを表示させたいのだけど
そういうことはできるのでしょうか?
詳細な情報は自分で調べてくるので大凡な概要を教えてください
2017/05/22(月) 11:58:52.67ID:wBUnNup00
出来るだろうけど、オススメのページを決めるのはあなただよね?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況