PHPに関する質問スレです
前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 9
http://mevius.5ch.net/test/read.cgi/tech/1513760420/
次スレは>>980以降
本文の1行目に以下を追加すること
!extend:on:vvvvv:1000:512
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
【PHP】下らねぇ質問はここに書き込みやがれ 10
レス数が900を超えています。1000を超えると表示できなくなるよ。
1デフォルトの名無しさん (ワッチョイ cfe8-+65u)
2018/11/28(水) 17:08:46.02ID:Nb5yTkdM0839デフォルトの名無しさん (ワッチョイ 9fad-j73r)
2020/03/07(土) 22:30:19.72ID:olnFzWkU0840デフォルトの名無しさん (ワッチョイ 1fdd-BxM+)
2020/03/07(土) 22:38:56.40ID:1MRzagVb0 改行が混ざってるんじゃない?
841デフォルトの名無しさん (ワッチョイ 4f89-x1Qw)
2020/03/07(土) 23:48:46.74ID:0OcB8lvE0 すみません。
解決しました。
原因は、テスト用のフォルダのパスのままになっていたことと
試運転時のデータが一部使われていた事により
一部検出されていないというおかしな状態になっているということでした。
解決しました。
原因は、テスト用のフォルダのパスのままになっていたことと
試運転時のデータが一部使われていた事により
一部検出されていないというおかしな状態になっているということでした。
842デフォルトの名無しさん (ワッチョイ 9f63-yvuU)
2020/03/08(日) 01:24:36.29ID:yy8ndPXN0 原子力発電所じゃなくてよかったw
843デフォルトの名無しさん (ワッチョイ 4bda-R/kF)
2020/03/08(日) 16:38:04.82ID:o6nDRKvt0 die();
exit();
exit は言語構造です。 status を指定しない場合は括弧なしでコールできます。
って今知ったわー
exit();
exit は言語構造です。 status を指定しない場合は括弧なしでコールできます。
って今知ったわー
844デフォルトの名無しさん (ワッチョイ 86da-drwQ)
2020/03/13(金) 02:12:30.03ID:iVXMMcFW0 foreach ($this->_db->query($sql) as $v) {...}
query()やprepare()で準備した文はexecute()必須だと思ってましたが
↑の記述ではexecute()なしでSQL文を実行できているようでした
何故でしょうか?
query()やprepare()で準備した文はexecute()必須だと思ってましたが
↑の記述ではexecute()なしでSQL文を実行できているようでした
何故でしょうか?
845デフォルトの名無しさん (ワッチョイ c263-drwQ)
2020/03/13(金) 02:27:00.67ID:6hF2k6+W0 $sqlの内容が 直接実行可能なSQL文だったらそのままで行けるよ
846デフォルトの名無しさん (ワッチョイ 69f1-ZSAD)
2020/03/13(金) 13:42:16.08ID:3oUhS72l0 ->
=>
がよく混同する。
どれがどの用法かを一発で覚える方法ある?
数ヵ月以上使っていなかったり他言語やってたりすると覚えるのは困難。
=>
がよく混同する。
どれがどの用法かを一発で覚える方法ある?
数ヵ月以上使っていなかったり他言語やってたりすると覚えるのは困難。
847デフォルトの名無しさん (ワッチョイ 86da-drwQ)
2020/03/14(土) 09:55:43.61ID:Vu/3uGwv0 >>845
どうも
$sql のSQL文は下記なのですが、直接実行できるときとできない場合の
見分け方ってありますでしょうか?
$sql = "select answer, count(id) as c from answers group by answer";
bindValue() とかをかましているときに execute() 使っているようなので
プレースホルダの置換しなければおk的な感じなのでしょうか?
どうも
$sql のSQL文は下記なのですが、直接実行できるときとできない場合の
見分け方ってありますでしょうか?
$sql = "select answer, count(id) as c from answers group by answer";
bindValue() とかをかましているときに execute() 使っているようなので
プレースホルダの置換しなければおk的な感じなのでしょうか?
848デフォルトの名無しさん (ワッチョイ 86da-drwQ)
2020/03/14(土) 11:47:05.77ID:Vu/3uGwv0849デフォルトの名無しさん (ブーイモ MM8d-ZSAD)
2020/03/14(土) 12:06:04.05ID:ftz/XzuIM >>846
いまだ自己解決しません
いまだ自己解決しません
850デフォルトの名無しさん (ワッチョイ 068c-WOeG)
2020/03/14(土) 19:01:35.17ID:B3THKCTN0 >>846
->これはアロー演算子だから
オブジェクトとかクラスとか呼び出したときにメソッドを呼び出すときに使うから
クラス名->メソッドとかで
=>これは普通の演算子以下とか以上とかで使うやつだから
->これはアロー演算子だから
オブジェクトとかクラスとか呼び出したときにメソッドを呼び出すときに使うから
クラス名->メソッドとかで
=>これは普通の演算子以下とか以上とかで使うやつだから
851デフォルトの名無しさん (ワッチョイ ed5c-FfQu)
2020/03/14(土) 19:46:32.71ID:DYwfTyBB0 >>=>これは普通の演算子以下とか以上とかで使うやつだから
嘘つき
嘘つき
852デフォルトの名無しさん (ブーイモ MM8d-ZSAD)
2020/03/14(土) 19:58:46.89ID:hEp1GdU0M >>850
このウソつきめ
このウソつきめ
853デフォルトの名無しさん (ワッチョイ 7d02-FfQu)
2020/03/14(土) 20:34:45.23ID:GFwOalat0 >>850
You are a liar!
You are a liar!
854デフォルトの名無しさん (ワッチョイ 068c-WOeG)
2020/03/15(日) 12:42:37.91ID:dxrxQoIU0855デフォルトの名無しさん (ワッチョイ 69a7-R/wk)
2020/03/15(日) 19:54:07.87ID:NaNFV4Bh0 最近はfnとセットでアロー関数使うときにも使うけどね
856デフォルトの名無しさん (ワッチョイ 69d2-WWFo)
2020/03/16(月) 05:40:39.73ID:3OE3knP80857デフォルトの名無しさん (ワッチョイ 69f1-5Ayy)
2020/03/16(月) 10:12:02.17ID:n/UZHZ/90858デフォルトの名無しさん (ワッチョイ f9c4-ZeYt)
2020/03/16(月) 10:41:57.59ID:88XG2BvL0 なんでこうプログラマとかUNIX使いってめんどくさいのが多いかね
859デフォルトの名無しさん (ワッチョイ c263-drwQ)
2020/03/16(月) 14:37:23.52ID:UdSTQWc50 先にめんどくさいことを片付けるか、後からめんどくさいことにぶち当たるかの、違い
860デフォルトの名無しさん (ワッチョイ 1389-xsY/)
2020/03/22(日) 17:15:31.58ID:R2yf6A3f0 質問いいでしょうか?
ローカル環境XAMPPで動かしています。
外付けHDDから画像を表示させようとしたところ見つからないというエラーが出ました。
[an error occurred while processing this directive] 要求された URL は本サーバでは見つかりませんでした。 もし手入力で URL を入力した場合は、綴りを確認して再度お試し下さい。 [an error occurred while processing this directive]
リンクをコピーで確認したところURLの前に「http://localhost」が勝手に追加されていました。
これのせいで上手く表示されていないようです。
なんとかして画像を表示させる方法はないでしょうか?
ローカル環境XAMPPで動かしています。
外付けHDDから画像を表示させようとしたところ見つからないというエラーが出ました。
[an error occurred while processing this directive] 要求された URL は本サーバでは見つかりませんでした。 もし手入力で URL を入力した場合は、綴りを確認して再度お試し下さい。 [an error occurred while processing this directive]
リンクをコピーで確認したところURLの前に「http://localhost」が勝手に追加されていました。
これのせいで上手く表示されていないようです。
なんとかして画像を表示させる方法はないでしょうか?
861デフォルトの名無しさん (オッペケ Sr85-lbMX)
2020/03/22(日) 17:37:50.11ID:95kANOoTr >>860
諸々の知識が足りて無さすぎるのでサーバーとはなんぞやxamppとはなんぞやってとこから勉強してどうぞ
諸々の知識が足りて無さすぎるのでサーバーとはなんぞやxamppとはなんぞやってとこから勉強してどうぞ
862デフォルトの名無しさん (オッペケ Sr85-DLm1)
2020/03/22(日) 17:38:33.08ID:StD3gLg7r urlとファイルのパスは違う
ただそれだけ
ただそれだけ
863デフォルトの名無しさん (ワッチョイ 1389-xsY/)
2020/03/22(日) 18:26:04.76ID:R2yf6A3f0 ウ〜ンやっぱ無理か
一時的にコピーくらいしか思いつかんな
データとして貼り付けるにして多いし重すぎる
一時的にコピーくらいしか思いつかんな
データとして貼り付けるにして多いし重すぎる
864デフォルトの名無しさん (ワッチョイ 8b61-W5ce)
2020/03/22(日) 19:21:51.54ID:uAP5d0yV0 ドキュメントルート内のどこかからジャンクションやシンボリックリンク張るなり、サーバー設定でaliasすればいいんでね?
865デフォルトの名無しさん (ワッチョイ 9363-ED79)
2020/03/22(日) 19:38:15.03ID:sN305W7E0866デフォルトの名無しさん (ワッチョイ 1389-xsY/)
2020/03/22(日) 22:18:36.23ID:R2yf6A3f0867デフォルトの名無しさん (ワッチョイ 9363-ED79)
2020/03/22(日) 22:40:26.52ID:sN305W7E0868デフォルトの名無しさん (ワッチョイ fbda-ED79)
2020/03/22(日) 22:54:04.30ID:D4yHaglA0 相乗りで質問させてください。
>>867 のリンク先に書いてあるような設定を済ませて、chromeでは〇〇〇.localhostといった
URLで開けるようになったのですが、それ以外のブラウザではエラーが出てしまい開けません。
改善方法はありますでしょうか?
PHPと関係ないかもしれませんが、該当スレも見当たらず…
どうかご回答よろしくお願いいたします。
>>867 のリンク先に書いてあるような設定を済ませて、chromeでは〇〇〇.localhostといった
URLで開けるようになったのですが、それ以外のブラウザではエラーが出てしまい開けません。
改善方法はありますでしょうか?
PHPと関係ないかもしれませんが、該当スレも見当たらず…
どうかご回答よろしくお願いいたします。
869デフォルトの名無しさん (ワッチョイ 81da-ED79)
2020/03/22(日) 23:06:53.02ID:UY6UlDJY0870デフォルトの名無しさん (ワッチョイ 29a7-hdmr)
2020/03/22(日) 23:51:04.35ID:z2MML3bn0 virtualhostでもいいけどめんどいしalias追加でいいんじゃねえの
871デフォルトの名無しさん (ワッチョイ 8b2c-cvBQ)
2020/03/23(月) 07:16:27.59ID:jGS2rL5b0 Windows 10, WSL, Ubuntu 18.04 で、Ruby なら、Linux 側で、
1-liner で、Rubyで作られた遅いウェブサーバー、WEBrick が起動する
ruby -run -e httpd . -p 8080
そのフォルダに、index.html があれば、
Windows側から、これでブラウザでアクセスできる
http://localhost:8080
Linux側も、C ドライブ内にあるからかな?
アクセスするサーバーが、どのドライブのどのフォルダ内を、
カレントディレクトリとして起動したか
1-liner で、Rubyで作られた遅いウェブサーバー、WEBrick が起動する
ruby -run -e httpd . -p 8080
そのフォルダに、index.html があれば、
Windows側から、これでブラウザでアクセスできる
http://localhost:8080
Linux側も、C ドライブ内にあるからかな?
アクセスするサーバーが、どのドライブのどのフォルダ内を、
カレントディレクトリとして起動したか
872デフォルトの名無しさん (オイコラミネオ MM55-94HG)
2020/03/23(月) 21:22:44.81ID:w/tA8drNM 2ch風の掲示板を作ってます。
datファイルで一行に名前・メール・メッセージと管理用のIDやらを
記述するやり方で、レスアンカーやurlをループ処理の中で出力時に
aタグで囲む方法が思い付きません。
正規表現でメッセージから有無の判定はできましたが、そこから先で詰まってます。
ヒントをください。
datファイルで一行に名前・メール・メッセージと管理用のIDやらを
記述するやり方で、レスアンカーやurlをループ処理の中で出力時に
aタグで囲む方法が思い付きません。
正規表現でメッセージから有無の判定はできましたが、そこから先で詰まってます。
ヒントをください。
873デフォルトの名無しさん (オイコラミネオ MM55-8l36)
2020/03/23(月) 21:47:23.30ID:QTEdjjlGM874デフォルトの名無しさん (ワッチョイ 29a7-hdmr)
2020/03/23(月) 22:01:36.98ID:4wQQ+VSn0 後方参照がわからんのだろうな
matchじゃなくてreplaceでおk
正規表現でマッチした()の中身を置き換えのとこで$n or \\nで参照できる
例えばこんなん
https://ideone.com/lJv04e
matchじゃなくてreplaceでおk
正規表現でマッチした()の中身を置き換えのとこで$n or \\nで参照できる
例えばこんなん
https://ideone.com/lJv04e
875デフォルトの名無しさん (ワッチョイ fbda-ED79)
2020/03/24(火) 02:26:45.30ID:84LIBSDP0876デフォルトの名無しさん (ワッチョイ b6da-Cd0d)
2020/03/25(水) 23:42:46.36ID:YJCiq0GG0 >>874
下記記述で行けました。
本当にありがとうございました(涙)
preg_replace('/>>([0-9]{1,3})/', '<a href="#$1">>>$1</a>', $message);
ちなみにセキュリティに対して理解が浅すぎるのですが、渡ってくる文字列に対して警戒していればおkで
置換でa要素を使ったり、HTMLエンティティ対象の文字列をそのまま書いても大丈夫なのでしょうか?
下記記述で行けました。
本当にありがとうございました(涙)
preg_replace('/>>([0-9]{1,3})/', '<a href="#$1">>>$1</a>', $message);
ちなみにセキュリティに対して理解が浅すぎるのですが、渡ってくる文字列に対して警戒していればおkで
置換でa要素を使ったり、HTMLエンティティ対象の文字列をそのまま書いても大丈夫なのでしょうか?
877デフォルトの名無しさん (ワッチョイ b1a7-B4Y8)
2020/03/26(木) 08:37:27.85ID:uQPl4pkP0 5chはテキストログで1レス1行が都合が良さそうなのと区切り文字が必要になるので
そのへんの改行(<br>)と区切り(<>)考慮するとエスケープ済みのほうが扱いやすい
ただ欠点としてはログサイズが肥大する
もちろん必要最小限のエスケープでもできるけどめんどくさいので完全再現じゃないが
ログ保存時
$message = preg_replace('/\r?\n/', '<br>', htmlspecialchars($_POST['message'], ENT_QUOTES, 'UTF-8'));
出力時
$message = preg_replace(['/>>([0-9]{1,3})/', '%(https?://[^\s&]+)%'], ['<a href="#$1">>>$1</a>', '<a href="$1">$1</a>'], $message);
とかなんじゃないかなと
リンクつける仕様上一旦エスケープしたのを戻す箇所があるので
そこでXSSを成立させないよう注意してコーディングする必要がある
エスケープ済みの文字は<や"のように&がつくので
[^\s&]のとこのように&でぶったぎるのが簡単
ちなみにurlの複数パラメータでも使われる&の扱いは面倒なので適当だけど
>>835のように&でリンク切れてるの見る限り5chも適当なのでおkってことで
そのへんの改行(<br>)と区切り(<>)考慮するとエスケープ済みのほうが扱いやすい
ただ欠点としてはログサイズが肥大する
もちろん必要最小限のエスケープでもできるけどめんどくさいので完全再現じゃないが
ログ保存時
$message = preg_replace('/\r?\n/', '<br>', htmlspecialchars($_POST['message'], ENT_QUOTES, 'UTF-8'));
出力時
$message = preg_replace(['/>>([0-9]{1,3})/', '%(https?://[^\s&]+)%'], ['<a href="#$1">>>$1</a>', '<a href="$1">$1</a>'], $message);
とかなんじゃないかなと
リンクつける仕様上一旦エスケープしたのを戻す箇所があるので
そこでXSSを成立させないよう注意してコーディングする必要がある
エスケープ済みの文字は<や"のように&がつくので
[^\s&]のとこのように&でぶったぎるのが簡単
ちなみにurlの複数パラメータでも使われる&の扱いは面倒なので適当だけど
>>835のように&でリンク切れてるの見る限り5chも適当なのでおkってことで
878デフォルトの名無しさん (ワッチョイ b6da-Cd0d)
2020/03/26(木) 22:20:23.54ID:pJp2pNNg0 >>877
詳しくありがとうございます。
5chのログの内容は最初にチェックしてたはずなのに、すっかり忘れてました。
再度確認したところ、エスケープ処理済みな上にタグまで付いてました…
てっきり出力前にエスケープするのがPHPのルールだと思ってたのですが、
まさか事前にエスケープしておくとは…
出力時のpreg_replaceも配列にすれば一回で済むのですね…
レスアンカーとリンクで分けてました
>>835のリンクについては、専ブラで見てたので気づきませんでした。
直リン避けも考慮してhttps://まで見て、後は半角英数なら置換対象に
してしまおう!…って感じで雑に考えてました。
preg_replace('/(h?ttps?:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:@&=+$,%#]+)/', '<a href="$1">$1</a>', $replaceMessage);
凄く参考になりました。
どうもです。
詳しくありがとうございます。
5chのログの内容は最初にチェックしてたはずなのに、すっかり忘れてました。
再度確認したところ、エスケープ処理済みな上にタグまで付いてました…
てっきり出力前にエスケープするのがPHPのルールだと思ってたのですが、
まさか事前にエスケープしておくとは…
出力時のpreg_replaceも配列にすれば一回で済むのですね…
レスアンカーとリンクで分けてました
>>835のリンクについては、専ブラで見てたので気づきませんでした。
直リン避けも考慮してhttps://まで見て、後は半角英数なら置換対象に
してしまおう!…って感じで雑に考えてました。
preg_replace('/(h?ttps?:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:@&=+$,%#]+)/', '<a href="$1">$1</a>', $replaceMessage);
凄く参考になりました。
どうもです。
879デフォルトの名無しさん (ワッチョイ 09da-Cd0d)
2020/03/29(日) 10:25:07.65ID:wUzzaaBN0 文字列と多次元配列の値に対して一括で処理できるメソッドで質問です。
下記メソッドで$hogeに多次元配列が渡ってきたと仮定しまして、
値が配列であれば再起処理でメソッドが再度呼び出されるそうです。
私の考えでは、再起処理で多次元配列の中の値が配列ではなかったときは、
Aの文字列の方に流れるのではと思っていたのですが、実際は@に流れるようです。
多次元配列の中の文字列にis_array()を掛けてもfalseなのですが、どういった理由で
@に流れるのでしょうか?
function test($hoge) {
// 配列の場合
if (is_array($hoge)) {
foreach ($hoge as $key => $value) {
// 再起処理
if (is_array($value)) {
test($value);
}
// @配列の中の値が配列でない場合
else {
...
}
}
return;
}
// A文字列の場合
return;
}
下記メソッドで$hogeに多次元配列が渡ってきたと仮定しまして、
値が配列であれば再起処理でメソッドが再度呼び出されるそうです。
私の考えでは、再起処理で多次元配列の中の値が配列ではなかったときは、
Aの文字列の方に流れるのではと思っていたのですが、実際は@に流れるようです。
多次元配列の中の文字列にis_array()を掛けてもfalseなのですが、どういった理由で
@に流れるのでしょうか?
function test($hoge) {
// 配列の場合
if (is_array($hoge)) {
foreach ($hoge as $key => $value) {
// 再起処理
if (is_array($value)) {
test($value);
}
// @配列の中の値が配列でない場合
else {
...
}
}
return;
}
// A文字列の場合
return;
}
880デフォルトの名無しさん (ワッチョイ b1d2-pf+t)
2020/03/29(日) 12:47:17.78ID:XdbgZgVO0 @は再帰呼び出しで、Aは再帰の終了条件だね。
配列の中に配列があったときは@が呼ばれるようになってる。
再帰を一度じっくり勉強したほうがいいよ。誤字も含めて。
配列の中に配列があったときは@が呼ばれるようになってる。
再帰を一度じっくり勉強したほうがいいよ。誤字も含めて。
881デフォルトの名無しさん (ワッチョイ 09da-Cd0d)
2020/03/29(日) 14:07:51.77ID:wUzzaaBN0 >>880
誤字失礼しました。
どうにも理解できなくて、再度質問しようと文字に起こしていたところ自己解決できました。
Aは文字列専用の終了条件で@は配列専用の終了条件だったようです。
再帰処理の際に値が文字列なのに、何で配列判定で true が出るのだろう?
というところが疑問だったのですが、
本来であれば配列の中の配列である [] で再帰処理されるところを、その中の値Bで
再帰処理されていると勘違いしておりました。
ご迷惑おかけしました。
$hoge = [
'piyo1',
'piyo2',
[
// B
'piyo3'
]
];
誤字失礼しました。
どうにも理解できなくて、再度質問しようと文字に起こしていたところ自己解決できました。
Aは文字列専用の終了条件で@は配列専用の終了条件だったようです。
再帰処理の際に値が文字列なのに、何で配列判定で true が出るのだろう?
というところが疑問だったのですが、
本来であれば配列の中の配列である [] で再帰処理されるところを、その中の値Bで
再帰処理されていると勘違いしておりました。
ご迷惑おかけしました。
$hoge = [
'piyo1',
'piyo2',
[
// B
'piyo3'
]
];
882デフォルトの名無しさん (ワッチョイ adda-Cd0d)
2020/03/29(日) 15:05:54.62ID:r8VR5IyJ0 書き方としては終了条件を早期returnして終了するべき(そうじゃないとひどく読みにくい)
一般化するなら
function apply_recursively($target, callable $callback) {
if (!is_array($target)) {
return $callback($target);
}
return array_map(function ($target) use ($callback) { return apply_recursively($target, $callback); }, $target);
// return array_map(fn($target) => apply_recursively($target, $callback), $target); // -> for PHP >= 7.4.0
}
一般化するなら
function apply_recursively($target, callable $callback) {
if (!is_array($target)) {
return $callback($target);
}
return array_map(function ($target) use ($callback) { return apply_recursively($target, $callback); }, $target);
// return array_map(fn($target) => apply_recursively($target, $callback), $target); // -> for PHP >= 7.4.0
}
883デフォルトの名無しさん (ワッチョイ a9ca-Emx9)
2020/03/29(日) 19:30:19.50ID:KCykJRwi0 >>879
foreach 直後の if は不要で無条件に test($value) を行い、
Aは else にして @ に書いてた処理を書き、
関数の引数は function hoge(&$value) で参照で受けとるようにし、
foreach も foreach($hoge as &$value) にする。
こうしないと動かなくない?
foreach 直後の if は不要で無条件に test($value) を行い、
Aは else にして @ に書いてた処理を書き、
関数の引数は function hoge(&$value) で参照で受けとるようにし、
foreach も foreach($hoge as &$value) にする。
こうしないと動かなくない?
884デフォルトの名無しさん (ワッチョイ a9ca-Emx9)
2020/03/29(日) 19:31:44.20ID:KCykJRwi0885デフォルトの名無しさん (ワッチョイ 4f5f-JsNC)
2020/04/11(土) 19:45:53.72ID:9fxAF0s30 phpのechoを使ってルートフォルダからの絶対パスを指定して
ナビ部分のリンク変更をサイト全体に一括で行えるような書き方を教えてください
3年くらい前にやってたんですが
やり方がわからなくなってしまいました
ナビ部分のリンク変更をサイト全体に一括で行えるような書き方を教えてください
3年くらい前にやってたんですが
やり方がわからなくなってしまいました
886デフォルトの名無しさん (ワッチョイ 6fa7-kpEi)
2020/04/12(日) 01:01:57.54ID:9sN7iYc+0 >>885
echoにそんな機能ないし、何が聞きたいのか伝わらないと思う。
find(grep)+sedのような、ファイルの中身に特定の文字列があれば、
それを一括で書き換えるようなことをしたいわけでもなさそうだし、
何かナビ用のリンクのリストをincludeしてるなら、
そのリストの中身を書き換えろで終わる話だけど、そんな簡単な話でもなさそうだし。
echoにそんな機能ないし、何が聞きたいのか伝わらないと思う。
find(grep)+sedのような、ファイルの中身に特定の文字列があれば、
それを一括で書き換えるようなことをしたいわけでもなさそうだし、
何かナビ用のリンクのリストをincludeしてるなら、
そのリストの中身を書き換えろで終わる話だけど、そんな簡単な話でもなさそうだし。
887デフォルトの名無しさん (ワッチョイ 4f5f-JsNC)
2020/04/12(日) 07:18:43.42ID:xGytKmNW0 細かく言いますと
一時期Web製作会社でコーディング業務をしており
html/cssは扱えるのですがphpはヘッダー、ナビ、フッターなど共通部分をincludeフォルダで共通化できる程度しか扱えませんでした
そして自社のドメインのサブドメインでテスト環境を作り、そこでHPを作成して客先の本番サーバにアップロードという工程で納品、保守管理をしていました
その場合、リンク先を絶対パスで書けないので相対パスにする訳ですが
phpで常にルートフォルダを取得して書き出し、それに続けて下層のリンク先を明記するようにしていたんですが
そのやり方を忘れてしまったので教えて欲しいのです
一時期Web製作会社でコーディング業務をしており
html/cssは扱えるのですがphpはヘッダー、ナビ、フッターなど共通部分をincludeフォルダで共通化できる程度しか扱えませんでした
そして自社のドメインのサブドメインでテスト環境を作り、そこでHPを作成して客先の本番サーバにアップロードという工程で納品、保守管理をしていました
その場合、リンク先を絶対パスで書けないので相対パスにする訳ですが
phpで常にルートフォルダを取得して書き出し、それに続けて下層のリンク先を明記するようにしていたんですが
そのやり方を忘れてしまったので教えて欲しいのです
888デフォルトの名無しさん (ワッチョイ 671a-KRXG)
2020/04/12(日) 08:39:06.07ID:3vwO7tAb0 それだけ具体的に説明できるんならググった方が早いぞw
889デフォルトの名無しさん (ワッチョイ f7da-AglQ)
2020/04/12(日) 11:56:55.73ID:+wetVu4e0 2ch風の掲示板を作っており、考え方についてアドバイスをいただきたいです。
ログファイルでレスを記録して、1レス1行で構成されています。
ajaxを用いて遷移なしでの投稿反映と、レスアンカーにホバーすると、該当のレスを引っ張ってくる
ようになっています。
このレスアンカーへのホバーを行うと、当たり前なのかもしれませんが、添付の画像のように
どんどん_ajax.phpのファイルへのアクセス?が増えていってしまい、投稿ならまだしも、
ホバーするだけでPOSTを行うなんて、無駄な処理をさせているのではないか?
と考え出しております。
ログファイルは数百kb程度なので、投稿内容の全てをJS側で配列で保持をしていく方が
無難だったりしますでしょうか?
ttps://f.easyuploader.app/eu-prd/upload/20200412115052_69364c5954346f304857.png
ログファイルでレスを記録して、1レス1行で構成されています。
ajaxを用いて遷移なしでの投稿反映と、レスアンカーにホバーすると、該当のレスを引っ張ってくる
ようになっています。
このレスアンカーへのホバーを行うと、当たり前なのかもしれませんが、添付の画像のように
どんどん_ajax.phpのファイルへのアクセス?が増えていってしまい、投稿ならまだしも、
ホバーするだけでPOSTを行うなんて、無駄な処理をさせているのではないか?
と考え出しております。
ログファイルは数百kb程度なので、投稿内容の全てをJS側で配列で保持をしていく方が
無難だったりしますでしょうか?
ttps://f.easyuploader.app/eu-prd/upload/20200412115052_69364c5954346f304857.png
890デフォルトの名無しさん (ワッチョイ a201-vZv9)
2020/04/12(日) 13:52:29.72ID:tx1YNXXn0891デフォルトの名無しさん (ワッチョイ f7da-AglQ)
2020/04/12(日) 14:07:51.14ID:+wetVu4e0892デフォルトの名無しさん (ワッチョイ 6ff1-Xgk8)
2020/04/12(日) 14:43:40.33ID:1ZMEMPeI0 ->
=>
この使い分けをよく忘れるのですが
覚えておくコツはありますかね?
メインでPHP言語以外をやってるのでたまにPHP書くときよく混乱します。
=>
この使い分けをよく忘れるのですが
覚えておくコツはありますかね?
メインでPHP言語以外をやってるのでたまにPHP書くときよく混乱します。
893デフォルトの名無しさん (ワッチョイ 6ff1-Xgk8)
2020/04/12(日) 14:46:43.20ID:1ZMEMPeI0894デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/12(日) 15:36:12.26ID:ATqenNPh0895デフォルトの名無しさん (ワッチョイ f7da-AglQ)
2020/04/12(日) 16:48:22.18ID:+wetVu4e0 >>894
ども。
おっしゃる通りかもしれません。
投稿以外でサーバーに負荷掛けるより、クライアント側で処理した方が
良い気がしてきました。
1回投稿での文字数を制限してしまえばサイズも制御できそうですし。
ども。
おっしゃる通りかもしれません。
投稿以外でサーバーに負荷掛けるより、クライアント側で処理した方が
良い気がしてきました。
1回投稿での文字数を制限してしまえばサイズも制御できそうですし。
896デフォルトの名無しさん (ワッチョイ 062c-5WFu)
2020/04/12(日) 22:01:27.62ID:JZPIrIOa0 Ruby なら、0〜1,000 までの配列を作っておいて、
読み込んだレス番号だけは、その文字列を設定していく
p posts = Array.new( 1001 )
出力
[ nil, nil, nil, 続く... ]
読み込んだレス番号だけは、その文字列を設定していく
p posts = Array.new( 1001 )
出力
[ nil, nil, nil, 続く... ]
897デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/13(月) 00:40:29.11ID:DZv8piin0 どうせなら ruby じゃなくて JS で例示してやれよ。
phpのスレでなんなんだけどさ。
phpのスレでなんなんだけどさ。
898デフォルトの名無しさん (ワッチョイ a263-AglQ)
2020/04/13(月) 00:57:20.05ID:uI4POseh0 何かスレ番が飛んでいるんだけど
899デフォルトの名無しさん (ワッチョイ 6fa7-kpEi)
2020/04/13(月) 10:11:39.65ID:Hsuo/bvd0 RubyならRubyならってよく布教しに来るけどいい加減場違い空気嫁
>>887
URLの話じゃないでしょ?
内部の話なら別に相対パスにしなくても絶対パスでも問題ないんだけど。
その絶対パスがわからんって話?
自スクリプトから見た自分の絶対パスは__FILE__定数でわかる。
サーバのドキュメントルートが知りたいなら$_SERVER['DOCUMENT_ROOT']
ただしこういう環境変数($_SERVERや$_ENV)はあんまり過信しないほうがいいね。
>>887
URLの話じゃないでしょ?
内部の話なら別に相対パスにしなくても絶対パスでも問題ないんだけど。
その絶対パスがわからんって話?
自スクリプトから見た自分の絶対パスは__FILE__定数でわかる。
サーバのドキュメントルートが知りたいなら$_SERVER['DOCUMENT_ROOT']
ただしこういう環境変数($_SERVERや$_ENV)はあんまり過信しないほうがいいね。
900デフォルトの名無しさん (ワッチョイ 77b0-dkLK)
2020/04/16(木) 13:03:40.61ID:emwZ0tr20 Eclipseで参考書通りに
print “¥n”入れてもコンソールで改行してくれないんだけどなんで?
print “¥n”入れてもコンソールで改行してくれないんだけどなんで?
901デフォルトの名無しさん (ワッチョイ 9fad-9n34)
2020/04/16(木) 17:50:16.15ID:mDx3pHSK0902デフォルトの名無しさん (ワッチョイ 77a7-csEB)
2020/04/16(木) 18:32:43.61ID:jzlLoXMF0 Eclipseとかprint ""とかいう表記を見ると
古いか一般のPHP書籍とかかけ離れたもののきがするわ
あんま参考にしないほうがいいかもしれんね
古いか一般のPHP書籍とかかけ離れたもののきがするわ
あんま参考にしないほうがいいかもしれんね
903デフォルトの名無しさん (ワッチョイ 77b0-dkLK)
2020/04/16(木) 22:40:26.71ID:emwZ0tr20 OSはMac
eclipseでphp7
<?php
print “hello”;
print “¥n”;
print “world”;
print “¥n”;
?>
Kindle Unlimitedの参考書によるとこれで
hello
world
と出力されるみたいなんだけど実行すると
hello¥nworld¥n
ってなる
eclipseでphp7
<?php
print “hello”;
print “¥n”;
print “world”;
print “¥n”;
?>
Kindle Unlimitedの参考書によるとこれで
hello
world
と出力されるみたいなんだけど実行すると
hello¥nworld¥n
ってなる
904デフォルトの名無しさん (ワッチョイ 9f63-Ho7r)
2020/04/16(木) 22:55:55.17ID:Vn4RPyR40 そりゃなるだろな
905デフォルトの名無しさん (ワッチョイ ff2c-8Jcx)
2020/04/16(木) 23:11:06.27ID:tywb42E30 これを、Ruby で、実行してもエラーになる!
print “\n”;
基本的にプログラミングは、どの言語でも、半角英数字しか使えない。
全角文字のクォーテーション・全角空白なども使えない
\ も、日本語キーボードでは、バックスラッシュキーのこと!
\ という文字を使っちゃいけない!
これなら、Ruby でも改行される。
print "\n" ;
print “\n”;
基本的にプログラミングは、どの言語でも、半角英数字しか使えない。
全角文字のクォーテーション・全角空白なども使えない
\ も、日本語キーボードでは、バックスラッシュキーのこと!
\ という文字を使っちゃいけない!
これなら、Ruby でも改行される。
print "\n" ;
906デフォルトの名無しさん (ワッチョイ 9702-o1R8)
2020/04/16(木) 23:33:15.15ID:H8AaCGjg0907デフォルトの名無しさん (ワッチョイ 77a7-csEB)
2020/04/17(金) 06:24:31.98ID:9clD5XXx0 半角で書くべきとこを全角で書いてるのは
動いてるようだから書き込んだときのミスとして
文字コードがおかしいんだろう
文字コード変えるか\nやめてPHP_EOLにしとけば
動いてるようだから書き込んだときのミスとして
文字コードがおかしいんだろう
文字コード変えるか\nやめてPHP_EOLにしとけば
908デフォルトの名無しさん (ブーイモ MMcf-ZtLA)
2020/04/17(金) 10:18:56.55ID:OO65ehhVM バチスカってmacの専ブラで書き込むとクウォートが全角に、バックスラッシュが円マークに、自動変換される
909デフォルトの名無しさん (ワッチョイ 375f-xa8R)
2020/04/19(日) 11:58:51.62ID:KKQsn4ZP0 サーバー内で動くプログラミングは可能のことですか?
例えば無限ループで常に動かすプログラムとか
例えば無限ループで常に動かすプログラムとか
910デフォルトの名無しさん (ワッチョイ 9f5c-ycCE)
2020/04/19(日) 12:58:45.29ID:dTXGqJa40 可能なことアルヨ
911デフォルトの名無しさん (ワッチョイ 1701-QEis)
2020/04/19(日) 14:20:56.44ID:26zoB4wU0 可能アルヨ
912デフォルトの名無しさん (ワッチョイ 9f63-Ho7r)
2020/04/19(日) 16:17:57.28ID:8HZGCfxQ0 普通はそんな事しないな
913デフォルトの名無しさん (ワッチョイ 1701-QEis)
2020/04/19(日) 23:14:11.96ID:26zoB4wU0 定期実行されるクローラーとかのこと言ってるんじゃないの?
914デフォルトの名無しさん (ワッチョイ 77a7-csEB)
2020/04/21(火) 16:09:14.67ID:DLCfuoS50 個人的にPHPでサーバ書いてるんでそれはよくやってる
ただPHPに限った話じゃないけどその手のバックグラウンド実行は
普通のレンタルサーバだと一定時間でkillされるだろうね
ただPHPに限った話じゃないけどその手のバックグラウンド実行は
普通のレンタルサーバだと一定時間でkillされるだろうね
915デフォルトの名無しさん (ワッチョイ 0de1-HPZ2)
2020/04/22(水) 08:46:54.32ID:kEPjMBTM0 定数を、成型した変数を代入することで宣言することはできませんか?
外部ファイル(.csv)を読み込み、連想配列$arrayを作成し、
クラス定数CLASS::CONSTをその配列$arrayにしたいのです
グローバル定数としてdefine(CONST, $array)することも試したのですが、いずれも出来ませんでした
外部ファイル(.csv)を読み込み、連想配列$arrayを作成し、
クラス定数CLASS::CONSTをその配列$arrayにしたいのです
グローバル定数としてdefine(CONST, $array)することも試したのですが、いずれも出来ませんでした
916デフォルトの名無しさん (ワッチョイ e2ad-h7Ku)
2020/04/22(水) 11:16:41.91ID:/bKUmTE30 それは定数って言わないのでは
917デフォルトの名無しさん (アウアウウー Sa83-Ha7z)
2020/04/22(水) 19:18:42.44ID:KcrgV6Jha 定数にはコンパイル時定数と実行時定数(immutable, readonly)とがあるが, PHPは基本的にコンパイル時定数しかサポートしていない
実現したいのは後者の実行時定数なんだろうが, 「php readonly」とかでググれば分かるように言語としてはサポートしていない
実現したいのは後者の実行時定数なんだろうが, 「php readonly」とかでググれば分かるように言語としてはサポートしていない
918デフォルトの名無しさん (ワッチョイ 0c01-UN6T)
2020/04/22(水) 22:18:15.55ID:K1Lxy7X30919915 (ワッチョイ 0de1-HPZ2)
2020/04/22(水) 23:55:38.61ID:kEPjMBTM0 すみませんできました
defineだと変数渡しで定数を作れました
単にPHP5.6でdefineで定数に配列を入れられないため正常動作しなかったようです
PHP7.3の環境では動作しました
お手数おかけしました
defineだと変数渡しで定数を作れました
単にPHP5.6でdefineで定数に配列を入れられないため正常動作しなかったようです
PHP7.3の環境では動作しました
お手数おかけしました
920デフォルトの名無しさん (ワッチョイ a601-ZzZR)
2020/04/23(木) 08:33:15.04ID:n33m75pH0 ドットインストールでCakePHP勉強するお
921デフォルトの名無しさん (ワッチョイ 4c2c-Hty+)
2020/04/23(木) 08:59:23.02ID:C0/pHZNH0 CakePHP, Spring Boot などは、Ruby on Rails のコピーだから、
Rails を学んだ方が速いと思う
Rails を学んだ方が速いと思う
922デフォルトの名無しさん (ブーイモ MMed-enkp)
2020/04/23(木) 09:41:57.79ID:RRYW82KBM x ドットインストールでCakePHP勉強するお
o ドットインストールでCakePHP勉強するよ
正しい日本語。
最近の日本人は気持ち悪い言葉づかいをする。
o ドットインストールでCakePHP勉強するよ
正しい日本語。
最近の日本人は気持ち悪い言葉づかいをする。
923デフォルトの名無しさん (ワッチョイ a601-ZzZR)
2020/04/23(木) 10:24:36.69ID:n33m75pH0 >>921
Webアプリの仕組み(裏でどう動いているか)を理解したくて、LaravelかCakePHPかで迷ってCakePHPを勉強しようと思ったんだけどLaravelはどう?
Webアプリの仕組み(裏でどう動いているか)を理解したくて、LaravelかCakePHPかで迷ってCakePHPを勉強しようと思ったんだけどLaravelはどう?
924デフォルトの名無しさん (ワッチョイ bade-1qfr)
2020/04/23(木) 13:03:21.20ID:9QHb+xSV0 >>922
体言止めに句点打つのめちゃくちゃ違和感あるんだが
体言止めに句点打つのめちゃくちゃ違和感あるんだが
925921 (ワッチョイ 4c2c-Hty+)
2020/04/23(木) 23:07:52.02ID:C0/pHZNH0 web アプリの作り方を学ぶのは、Ruby が最適!
本当は、Sinatra が良いけど、web 上の教科書が少ないから、
Rails になるかな?
ただし、Rails は、半年ぐらい掛けて学ぶぐらい高機能。
本は、10冊ぐらい出てる
web サイトでは、日本語版・Rails チュートリアルの1つ古いバージョンなら、無料で読めるけど、
あまりに難しいので、初心者は本から始めるのが良い
本当は、Sinatra が良いけど、web 上の教科書が少ないから、
Rails になるかな?
ただし、Rails は、半年ぐらい掛けて学ぶぐらい高機能。
本は、10冊ぐらい出てる
web サイトでは、日本語版・Rails チュートリアルの1つ古いバージョンなら、無料で読めるけど、
あまりに難しいので、初心者は本から始めるのが良い
926デフォルトの名無しさん (ワッチョイ 96f2-30bp)
2020/04/23(木) 23:15:49.37ID:l5RZFi5J0 RubyをNGワードに入れるのはデフォなんですかね?
927デフォルトの名無しさん (ワッチョイ e2ad-h7Ku)
2020/04/24(金) 02:12:49.04ID:rM9gQYtA0 >>926
次からテンプレに入れよう
次からテンプレに入れよう
928デフォルトの名無しさん (ワッチョイ 4ca7-Op/G)
2020/04/24(金) 02:24:32.60ID:nHNgt9zS0 単に使い方を学びたいと言ってるだけなら別にフルスタックでもいいけど
ソースコードレベルで仕組みを理解したいならフルスタックは疲れるだけ
slimあたりのマイクロフレームワークのソースコード読むといい
ソースコードレベルで仕組みを理解したいならフルスタックは疲れるだけ
slimあたりのマイクロフレームワークのソースコード読むといい
929デフォルトの名無しさん (オッペケ Sr72-Xss7)
2020/04/24(金) 05:55:46.89ID:cuZ5QlOgr なんで荒らしの相手をするんや。
ホントにRubyが優れとるなら、PHPで書かれた有名ソフトがRubyで書かれなかった理由を提示させるべきや。
WordPressもNextCloudもPHPなんや。Facebookも元はPHPで書かれてた。
PHPerは胸を張って堂々としておけ。小バエが顔の前をうろちょろしても気にするな。
ホントにRubyが優れとるなら、PHPで書かれた有名ソフトがRubyで書かれなかった理由を提示させるべきや。
WordPressもNextCloudもPHPなんや。Facebookも元はPHPで書かれてた。
PHPerは胸を張って堂々としておけ。小バエが顔の前をうろちょろしても気にするな。
930デフォルトの名無しさん (オッペケ Srd7-V4ab)
2020/04/26(日) 16:06:33.45ID:EH1DMWp5r 小さなグループのための連絡帳づくりには便利だな
自分も使って現在5人くらいで使っておおむね合格点しかし
「こういう風になってたらもっといいなあ」多数w
自分も使って現在5人くらいで使っておおむね合格点しかし
「こういう風になってたらもっといいなあ」多数w
931915 (ワッチョイ 0de1-HPZ2)
2020/04/26(日) 16:37:45.80ID:QChGrgCL0 RubyってPHPと張り合うものだったんだ?
あれはPerlと競合するものだと思ってた
あれはPerlと競合するものだと思ってた
932デフォルトの名無しさん (ワッチョイ efca-WM26)
2020/04/26(日) 22:04:15.59ID:NZagGUNV0 PHPはごった煮のテンプレートエンジンってイメージだな。
スクリプトのパースがコードではなくテキスト出力から始まるしな。
そこが他のスクリプトと比べてもweb向きに使い勝手がいいところだと思う。
スクリプトのパースがコードではなくテキスト出力から始まるしな。
そこが他のスクリプトと比べてもweb向きに使い勝手がいいところだと思う。
933デフォルトの名無しさん (ワッチョイ a7f1-trzR)
2020/05/02(土) 15:59:18.74ID:riUeVpMT0 https://www.youtube.com/channel/UCoRxcaATU1N9QdXXgmQLBFQ
このふるちゃんという女の子が超絶にかわいいのだけど
このYoutuberってなにもの?
このふるちゃんという女の子が超絶にかわいいのだけど
このYoutuberってなにもの?
934デフォルトの名無しさん (ワッチョイ a7a7-D935)
2020/05/02(土) 21:47:33.77ID:ogKtp69S0 慶應法法からWebって…
935デフォルトの名無しさん (ワッチョイ 2701-ur4w)
2020/05/03(日) 11:44:53.69ID:eurrHnV60 下記のような、空以外のstringだけを通し、それ以外はnullを返すメソッドを作りたいんですが、
この処理に最適なメソッド名ってありますか? 暫定のfilterStringは何となく違う気がしてます
function filterString($var): ?string
{
return is_string($var) && $var !== '' ? $var : null;
}
この処理に最適なメソッド名ってありますか? 暫定のfilterStringは何となく違う気がしてます
function filterString($var): ?string
{
return is_string($var) && $var !== '' ? $var : null;
}
936デフォルトの名無しさん (アウアウウー Saab-J/MA)
2020/05/03(日) 12:32:50.65ID:cPyz4pxla nullifyInvalidInputとか
937デフォルトの名無しさん (ササクッテロラ Sp5b-1Fal)
2020/05/04(月) 04:41:53.17ID:zTC9x9sUp nullifyって見たことないけどいい名前だな
938デフォルトの名無しさん (ワッチョイ df01-i6Oo)
2020/05/04(月) 11:40:37.27ID:au6sJ5VU0 GCのためにでかいオブジェクトをnullにするのならわかるけど
エラーハンドリング用途でnullじゃない値をnullにして返すってのはbad practice
エラーハンドリング用途でnullじゃない値をnullにして返すってのはbad practice
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ [冬月記者★]
- 自民・麻生太郎副総裁 石破政権の1年は「どよーん」 高市政権発足で「何となく明るくなった」「世の中のことが決まり動いている」★2 [Hitzeschleier★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- 【テレビ】元NHK解説委員が指摘 「敗戦国の日本は、生意気言うなというのが中国の立場」「腕まくりは意味がない」 [冬月記者★]
- バイク事故で入院ゆたぼん、見舞金「1円」振り込みの名義に衝撃「悲しい人ですね」「こういう人がいるから…」 [muffin★]
- 【画像】消えた美人女優 上原多香子さん(42)、沖縄で目撃される [牛丼★]
