X



【PHP】下らねぇ質問はここに書き込みやがれ 10
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん (ワッチョイ cfe8-+65u)
垢版 |
2018/11/28(水) 17:08:46.02ID:Nb5yTkdM0
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
0885デフォルトの名無しさん (ワッチョイ 4f5f-JsNC)
垢版 |
2020/04/11(土) 19:45:53.72ID:9fxAF0s30
phpのechoを使ってルートフォルダからの絶対パスを指定して
ナビ部分のリンク変更をサイト全体に一括で行えるような書き方を教えてください

3年くらい前にやってたんですが
やり方がわからなくなってしまいました
0886デフォルトの名無しさん (ワッチョイ 6fa7-kpEi)
垢版 |
2020/04/12(日) 01:01:57.54ID:9sN7iYc+0
>>885
echoにそんな機能ないし、何が聞きたいのか伝わらないと思う。

find(grep)+sedのような、ファイルの中身に特定の文字列があれば、
それを一括で書き換えるようなことをしたいわけでもなさそうだし、
何かナビ用のリンクのリストをincludeしてるなら、
そのリストの中身を書き換えろで終わる話だけど、そんな簡単な話でもなさそうだし。
0887デフォルトの名無しさん (ワッチョイ 4f5f-JsNC)
垢版 |
2020/04/12(日) 07:18:43.42ID:xGytKmNW0
細かく言いますと
一時期Web製作会社でコーディング業務をしており
html/cssは扱えるのですがphpはヘッダー、ナビ、フッターなど共通部分をincludeフォルダで共通化できる程度しか扱えませんでした

そして自社のドメインのサブドメインでテスト環境を作り、そこでHPを作成して客先の本番サーバにアップロードという工程で納品、保守管理をしていました

その場合、リンク先を絶対パスで書けないので相対パスにする訳ですが
phpで常にルートフォルダを取得して書き出し、それに続けて下層のリンク先を明記するようにしていたんですが
そのやり方を忘れてしまったので教えて欲しいのです
0889デフォルトの名無しさん (ワッチョイ 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
0892デフォルトの名無しさん (ワッチョイ 6ff1-Xgk8)
垢版 |
2020/04/12(日) 14:43:40.33ID:1ZMEMPeI0
->
=>

この使い分けをよく忘れるのですが
覚えておくコツはありますかね?
メインでPHP言語以外をやってるのでたまにPHP書くときよく混乱します。
0893デフォルトの名無しさん (ワッチョイ 6ff1-Xgk8)
垢版 |
2020/04/12(日) 14:46:43.20ID:1ZMEMPeI0
>>856
「の」はクラス「の」メンバー、
「は」は連想配列のkey「は」これですよ
という意味?

でもこれ以外で->や=>が出てくる場面なかった?
0895デフォルトの名無しさん (ワッチョイ f7da-AglQ)
垢版 |
2020/04/12(日) 16:48:22.18ID:+wetVu4e0
>>894
ども。
おっしゃる通りかもしれません。
投稿以外でサーバーに負荷掛けるより、クライアント側で処理した方が
良い気がしてきました。
1回投稿での文字数を制限してしまえばサイズも制御できそうですし。
0899デフォルトの名無しさん (ワッチョイ 6fa7-kpEi)
垢版 |
2020/04/13(月) 10:11:39.65ID:Hsuo/bvd0
RubyならRubyならってよく布教しに来るけどいい加減場違い空気嫁

>>887
URLの話じゃないでしょ?
内部の話なら別に相対パスにしなくても絶対パスでも問題ないんだけど。
その絶対パスがわからんって話?
自スクリプトから見た自分の絶対パスは__FILE__定数でわかる。
サーバのドキュメントルートが知りたいなら$_SERVER['DOCUMENT_ROOT']
ただしこういう環境変数($_SERVERや$_ENV)はあんまり過信しないほうがいいね。
0900デフォルトの名無しさん (ワッチョイ 77b0-dkLK)
垢版 |
2020/04/16(木) 13:03:40.61ID:emwZ0tr20
Eclipseで参考書通りに
print “¥n”入れてもコンソールで改行してくれないんだけどなんで?
0901デフォルトの名無しさん (ワッチョイ 9fad-9n34)
垢版 |
2020/04/16(木) 17:50:16.15ID:mDx3pHSK0
>>900
OSとか実行コードくらい書けないのか
あと円マークがそのまま出てるようなら
正しくは「(日本語環境では円マークに見える』バックスラッシュだから」
を確認しろ
0903デフォルトの名無しさん (ワッチョイ 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
ってなる
0905デフォルトの名無しさん (ワッチョイ ff2c-8Jcx)
垢版 |
2020/04/16(木) 23:11:06.27ID:tywb42E30
これを、Ruby で、実行してもエラーになる!
print “\n”;

基本的にプログラミングは、どの言語でも、半角英数字しか使えない。
全角文字のクォーテーション・全角空白なども使えない

\ も、日本語キーボードでは、バックスラッシュキーのこと!
\ という文字を使っちゃいけない!

これなら、Ruby でも改行される。
print "\n" ;
0907デフォルトの名無しさん (ワッチョイ 77a7-csEB)
垢版 |
2020/04/17(金) 06:24:31.98ID:9clD5XXx0
半角で書くべきとこを全角で書いてるのは
動いてるようだから書き込んだときのミスとして
文字コードがおかしいんだろう
文字コード変えるか\nやめてPHP_EOLにしとけば
0911デフォルトの名無しさん (ワッチョイ 1701-QEis)
垢版 |
2020/04/19(日) 14:20:56.44ID:26zoB4wU0
可能アルヨ
0913デフォルトの名無しさん (ワッチョイ 1701-QEis)
垢版 |
2020/04/19(日) 23:14:11.96ID:26zoB4wU0
定期実行されるクローラーとかのこと言ってるんじゃないの?
0914デフォルトの名無しさん (ワッチョイ 77a7-csEB)
垢版 |
2020/04/21(火) 16:09:14.67ID:DLCfuoS50
個人的にPHPでサーバ書いてるんでそれはよくやってる
ただPHPに限った話じゃないけどその手のバックグラウンド実行は
普通のレンタルサーバだと一定時間でkillされるだろうね
0915デフォルトの名無しさん (ワッチョイ 0de1-HPZ2)
垢版 |
2020/04/22(水) 08:46:54.32ID:kEPjMBTM0
定数を、成型した変数を代入することで宣言することはできませんか?

外部ファイル(.csv)を読み込み、連想配列$arrayを作成し、
クラス定数CLASS::CONSTをその配列$arrayにしたいのです
グローバル定数としてdefine(CONST, $array)することも試したのですが、いずれも出来ませんでした
0916デフォルトの名無しさん (ワッチョイ e2ad-h7Ku)
垢版 |
2020/04/22(水) 11:16:41.91ID:/bKUmTE30
それは定数って言わないのでは
0917デフォルトの名無しさん (アウアウウー Sa83-Ha7z)
垢版 |
2020/04/22(水) 19:18:42.44ID:KcrgV6Jha
定数にはコンパイル時定数と実行時定数(immutable, readonly)とがあるが, PHPは基本的にコンパイル時定数しかサポートしていない
実現したいのは後者の実行時定数なんだろうが, 「php readonly」とかでググれば分かるように言語としてはサポートしていない
0919915 (ワッチョイ 0de1-HPZ2)
垢版 |
2020/04/22(水) 23:55:38.61ID:kEPjMBTM0
すみませんできました
defineだと変数渡しで定数を作れました
単にPHP5.6でdefineで定数に配列を入れられないため正常動作しなかったようです
PHP7.3の環境では動作しました
お手数おかけしました
0920デフォルトの名無しさん (ワッチョイ a601-ZzZR)
垢版 |
2020/04/23(木) 08:33:15.04ID:n33m75pH0
ドットインストールでCakePHP勉強するお
0922デフォルトの名無しさん (ブーイモ MMed-enkp)
垢版 |
2020/04/23(木) 09:41:57.79ID:RRYW82KBM
x ドットインストールでCakePHP勉強するお
o ドットインストールでCakePHP勉強するよ

正しい日本語。
最近の日本人は気持ち悪い言葉づかいをする。
0923デフォルトの名無しさん (ワッチョイ a601-ZzZR)
垢版 |
2020/04/23(木) 10:24:36.69ID:n33m75pH0
>>921
Webアプリの仕組み(裏でどう動いているか)を理解したくて、LaravelかCakePHPかで迷ってCakePHPを勉強しようと思ったんだけどLaravelはどう?
0925921 (ワッチョイ 4c2c-Hty+)
垢版 |
2020/04/23(木) 23:07:52.02ID:C0/pHZNH0
web アプリの作り方を学ぶのは、Ruby が最適!

本当は、Sinatra が良いけど、web 上の教科書が少ないから、
Rails になるかな?

ただし、Rails は、半年ぐらい掛けて学ぶぐらい高機能。
本は、10冊ぐらい出てる

web サイトでは、日本語版・Rails チュートリアルの1つ古いバージョンなら、無料で読めるけど、
あまりに難しいので、初心者は本から始めるのが良い
0927デフォルトの名無しさん (ワッチョイ e2ad-h7Ku)
垢版 |
2020/04/24(金) 02:12:49.04ID:rM9gQYtA0
>>926
次からテンプレに入れよう
0928デフォルトの名無しさん (ワッチョイ 4ca7-Op/G)
垢版 |
2020/04/24(金) 02:24:32.60ID:nHNgt9zS0
単に使い方を学びたいと言ってるだけなら別にフルスタックでもいいけど
ソースコードレベルで仕組みを理解したいならフルスタックは疲れるだけ
slimあたりのマイクロフレームワークのソースコード読むといい
0929デフォルトの名無しさん (オッペケ Sr72-Xss7)
垢版 |
2020/04/24(金) 05:55:46.89ID:cuZ5QlOgr
なんで荒らしの相手をするんや。

ホントにRubyが優れとるなら、PHPで書かれた有名ソフトがRubyで書かれなかった理由を提示させるべきや。

WordPressもNextCloudもPHPなんや。Facebookも元はPHPで書かれてた。

PHPerは胸を張って堂々としておけ。小バエが顔の前をうろちょろしても気にするな。
0930デフォルトの名無しさん (オッペケ Srd7-V4ab)
垢版 |
2020/04/26(日) 16:06:33.45ID:EH1DMWp5r
小さなグループのための連絡帳づくりには便利だな
自分も使って現在5人くらいで使っておおむね合格点しかし
「こういう風になってたらもっといいなあ」多数w
0931915 (ワッチョイ 0de1-HPZ2)
垢版 |
2020/04/26(日) 16:37:45.80ID:QChGrgCL0
RubyってPHPと張り合うものだったんだ?
あれはPerlと競合するものだと思ってた
0932デフォルトの名無しさん (ワッチョイ efca-WM26)
垢版 |
2020/04/26(日) 22:04:15.59ID:NZagGUNV0
PHPはごった煮のテンプレートエンジンってイメージだな。
スクリプトのパースがコードではなくテキスト出力から始まるしな。
そこが他のスクリプトと比べてもweb向きに使い勝手がいいところだと思う。
0935デフォルトの名無しさん (ワッチョイ 2701-ur4w)
垢版 |
2020/05/03(日) 11:44:53.69ID:eurrHnV60
下記のような、空以外のstringだけを通し、それ以外はnullを返すメソッドを作りたいんですが、
この処理に最適なメソッド名ってありますか? 暫定のfilterStringは何となく違う気がしてます

function filterString($var): ?string
{
return is_string($var) && $var !== '' ? $var : null;
}
0940デフォルトの名無しさん (ワッチョイ 7f68-8DoZ)
垢版 |
2020/05/05(火) 02:01:57.19ID:2JXMMGLu0
各ページa,bからcページへの遷移を各ページのボタンa,bからとしたときに、ページbのボタン名をページaのものにブラウザのデバックモードかなんかで変更した場合に、
ページcから見るとisset(ボタンA)がtrueとなると思いますが、こういうパターンを見分ける方法ってありますでしょうか
0942デフォルトの名無しさん (ワッチョイ a7a7-D935)
垢版 |
2020/05/05(火) 03:53:04.29ID:abcVn/0z0
と思ったけど、結局リファラも改ざんできちゃうから難しいね
JavaScriptで小細工も出来るけどそれすら改ざんされるのも想定してるなら
まあノーダメならそんな物好きなこと想定する必要はないと思うけど
ダメージあるなら設計変えればいいし
0945デフォルトの名無しさん (ワッチョイ ea02-7oqX)
垢版 |
2020/05/06(水) 19:48:47.60ID:KQs5P28n0
$a = [1, 2, 3];
と言う配列があったとして、そこから
$b[1][2][3] = '何か入れる';
と言う配列を作る簡単な方法はありませんでしょうか?
0947デフォルトの名無しさん (ワッチョイ ea02-7oqX)
垢版 |
2020/05/06(水) 20:03:27.90ID:KQs5P28n0
ごめんなさい、質問の仕方が悪かったです
元の配列の長さは可変で、出来上がる配列の深さも深くなっていく感じです

$ary = [1,2,3]; //長さは可変
$val = '何か';
$ret = func($ary, $val);
var_dump($ret);
---
array (size=1)
 1 =>
  array (size=1)
   2 =>
    array (size=1)
     3 => string '何か' (length=3)
0948915 (ワッチョイ 3fe1-k/Zm)
垢版 |
2020/05/06(水) 23:50:59.56ID:cMx2hlKH0
そういうあり得ないくらい複雑な何かを実装しようとするときは、
実はやりたいことを実現するもっと簡単な方法があることが多い
配列$bは常に1つの次元に1つの要素しか持たないまま深さだけ深くなってくのは無駄というか意味不明
やりたいこと自体を書いた方がいいと思う
0949945 (ワッチョイ ea02-7oqX)
垢版 |
2020/05/07(木) 01:58:37.98ID:T+6y7YdL0
元の配列の値をキーの深さとする配列ができれば、あとはなんとかなるのでその部分だけの質問としたのですが、わかりにくくてすみませんでした
やりたかったことはLaravelのRouteの真似事です
木構造のクラス書いてデータ保持するのも面倒だったので配列でなんとかしようと思いました
ただあまりゴリ押しで書いても見ずらいので既存の関数などで簡潔に書けたらと思い質問した次第です
結局、参照代入をforeahで回すと言う方法で落ち着きました

public static int get($uri, $action)
{
if ($uri == '/') {
$paths[] = '/';
} else {
$paths = explode('/', $uri);
}

$tmp = &static::$routings;
foreach ($paths as $path) {
$tmp = &$tmp[$path];
}
$tmp = $action;

return static::$instance;
}
0950デフォルトの名無しさん (オイコラミネオ MM9b-BAqB)
垢版 |
2020/05/07(木) 10:33:19.60ID:n2/pzMnbM
>>947
そのコードで言うところの func は一応実現してて、もっとシンプルな方法があるかを確認したいの?
それともまだ func を実現できてないの?
参照と再帰を使えば簡単なはずだけど、参照とループを使ってもできるはずだよ。
0953デフォルトの名無しさん (ワッチョイ bea7-C0uG)
垢版 |
2020/05/10(日) 16:35:05.72ID:vZKWBupI0
ざっくり

ブラウザがセキュリティのために(あくまでも独自に)設定している、
同一オリジンポリシーというものがある。
同一オリジンってのは同じプロトコル 同じホスト 同じポートのことで、
同一ドメインでもこれらが違ったら別オリジンということになる。
ブラウザはJavaScriptのXMLHttpRequest(XHR)やFetchAPIから、
別オリジンのサイトには意図的にアクセスしないようにしてある。

その制限を超えるのがCORSで、
あるサイトを開いた時、別オリジンのサイトにXHRなどからアクセスしようとしてたら、
ブラウザは追加のOriginヘッダをつけて、その別オリジンに対して確認作業を行う。
そのサイトがAccess-Control-Allow-Originというヘッダを返してこれば、
意図したものと把握し、制限を超えてアクセスすることになる。

Access-Control-Allow-Originは、
よそのサイトのXHRから呼び出し可能なAPIを提供してる時はつけるべきだが、
よくわかってない人が、自サイトの掲示板でつけてしまった場合、
悪意あるサイトにアクセスするだけで、CSRFが成立して、犯罪予告を書いてしまったりする。
0955デフォルトの名無しさん (アウアウエー Sa52-1T3V)
垢版 |
2020/05/21(木) 20:00:19.93ID:yfswt4qEa
ファンキーさが足りないね
0956デフォルトの名無しさん (ワッチョイ 4e2c-g3Kq)
垢版 |
2020/05/21(木) 20:50:27.91ID:HuNUoNoV0
CORS は、ブラウザでアクセスする人を保護するもの。
サーバー経由にすれば、クロスドメインでもアクセスできる

自分のPC にサーバーを立てて配信する、一番簡単な方法は、
VSCode の拡張機能のLive Server
0958デフォルトの名無しさん (ワッチョイ 5bf1-D4L3)
垢版 |
2020/05/26(火) 12:57:20.59ID:DWJQ5IJN0
<?php
の閉じタグをそれが文末にくるときは省略が奨励されてるのは
どういう理由からですか?
0972デフォルトの名無しさん (ワッチョイ 51f1-Jx8k)
垢版 |
2020/05/28(木) 23:49:50.69ID:rxZlNEYS0
ENT_QUOTESのENTとは何の英単語の略でしょうか?
0974デフォルトの名無しさん (アウアウエー Sa23-hNtB)
垢版 |
2020/05/30(土) 19:49:27.83ID:556K1q3ea
なんで汎用性のある言語はCでできてPHPではできないの?
0980デフォルトの名無しさん (ワッチョイ d312-LwiI)
垢版 |
2020/05/31(日) 14:51:06.35ID:DtypBXIf0
「汎用性のある言語」の意味するところが分からんとなぁ
「CでできてPHPではできない」も, 「汎用性のある言語」をCやPHPで実装する話なのか, CやPHP自体の汎用性の話なのか分からん

前者なら別にどっちでも書けるけどコンパイルするなら最終的にセルフホスティングするだろうし仮想マシンやインタプリタで実行するなら処理系の速度が重要だからCが選ばれるだろう

後者ならCだって何でも出来るのは確かだけど, 低レベルプログラミングには向いてても例えばWebアプリケーション開発には向いてない
Cは汎用的な「システムプログラミング言語」で, PHPは(今は)汎用的な「スクリプト言語」だからそもそも目的が違うとしか
0981デフォルトの名無しさん (ワッチョイ 1689-K9ci)
垢版 |
2020/06/03(水) 09:41:53.03ID:Dz3eZEWL0
質問いいでしょうか?
ローカル環境で動かしています。
昨日macのOSを更新したところ、USBからのデータの取得ができなくなりました。
Warning: file_get_contents(URL): failed to open stream: Operation not permitted
対応方法をご存知の方がいらっしゃいましたら教えていただけると幸いです。
URLの打ちミスやphp.iniの「allow_url_fopen = On」も確認済みです。
macOSはバージョン10.15.5です。
0982デフォルトの名無しさん (ワッチョイ 15f1-GwrY)
垢版 |
2020/06/03(水) 10:12:12.14ID:/BExPaqE0
>> 981
だめだ
質問の許可を確認してからしたまえ
レス数が950を超えています。1000を超えると書き込みができなくなります。

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