PHP質問・雑談スレ6【初心者お断り(ROM歓迎)】
レス数が1000を超えています。これ以上書き込みはできません。
PHPに関する質問や雑談をするスレです。
初心者お断り(ROM歓迎)と書いてますが、初心者用のスレが用意されているからで、
難しい質問や話題をしなければいけないわけではありません。
PHPマニュアルの読み方を概ね理解していて、関数リファレンスが正しく読める方用のスレです。
PHP未導入の方や、手取り足取りが必要な初心者の方はム板のくだスレへどうぞ。
https://mevius.5ch.net/tech/ (【PHP】で板内を検索)
前スレ
https://medaka.5ch.net/test/read.cgi/php/1538639036/
その他リンク
・PHPマニュアル
https://secure.php.net/manual/ja/index.php
・コードテスト・貼り付け用
https://ideone.com/
・プログラミングのお題スレ (求PHPer参戦)
https://mevius.5ch.net/tech/ (お題スレで板内を検索)
このスレで扱う話題
・PHPのコード,設定や設定値に関する質問
・常識的範囲内でのコードレビュー依頼・改良相談
・PECL,PEARに関する質問
・PHP新機能やPHP関連トレンドの話題
(FWや非公式ライブラリの話題や特徴比較は良いが使い方から先の話題は専スレへ)
・PHPのバグ発見報告・公式に報告する前の検証依頼
このスレで扱わない話題
・直接関係ない○○特有の質問(専スレへ)
(HH,エディタ,IDE,サーバ,OS,DB,SQL,FW,テンプレート,非公式ライブラリ・アプリケーション等)
・PHPの改造 最近ちんぽがかゆいです。
パンツを脱いでちんぽを調べてみたら
尿道のところに細い糸のようなものがくっついていました。
糸を取ろうと思って指を近づけてみたら
糸がうねうね動きながら尿道の中に消えていきました。
・・・・僕のちんぽは蟲に乗っ取られました。 サーバーサイドPHPなんですが
HTTPレスポンスヘッダでheader関数を使って
Content-Type: text/html; charset=UTF-8
のように文字コードまで送信しておくのがセキュリティ上好ましいという話を良く聞きますが
PHP7.2で試すと上記のヘッダーを送信しなくても自動で送信されてるんですよね
文字コードの指定まで完璧に
最近のバージョンでこうなったんでしょうか?
それと文字コードはUTF-8固定なんですかね、あるいはphp.iniのdefault_charsetから得ているのでしょうか
どうも公式マニュアルにこのあたりの情報がないのですが、わかる方教えてください 前半はよく知らんけど、後半はマニュアルに書いてある。
https://www.php.net/manual/ja/ini.core.php
default_charset 確認してみ。 >>4
レスありがとうございます
default_charsetの方に説明がありましたか
見落としてました
default_charsetがちゃんと設定されていれば
header()でConten-Typeを送信しなくても良さそうですね
もちろんtext/htmlのときだけですが そんなところで時間使うのもったいない
フレームワーク使ってそんな些細なところはすっ飛ばせ >>7
firefoxやchromeでそういうプラグインあると楽しいよね あんまり楽しくない・・・これ以上ややこしくするんじゃない・・・ HTTPレスポンスヘッダの文字コードって何かセキュリティに効果あるんか?
レスポンスがどうだろうと、ユーザーが別の文字コードにエンコードしたら意味無いだろ?
異なる文字コードでフォーム送信してきたデータをうまく処理する仕組みがなければ
セキュリティリスクは変わらないと思うんだが。
まぁ意図してやらなきゃ発生しないって意味ではセキュリティ上好ましいって言えるのか? 文字エンコーディングが曖昧だとブラウザが文字エンコーディングを
自動判別してしまう場合がある
そのとき、サーバー側が意図した文字エンコーディングとは違うものがブラウザで
採用されてしまった場合、サーバー側が意図していないメタ文字などが浮かび上がって
しまう場合がある
こういう解釈を俺はしている サーバ、クライアント、どちらからどちらに文字列を送るかよくわからないけど、嘘ついたら希望の処理をしない ブラウザ側が容易に文字コードを指定できる以上、
ヘッダを指定しようと、美乳入れようと、おまじない以上の価値しか無い
セキュリティ向上には繋がらない
セキュリティとしてはどのような文字コードでフォーム送信してきても
上手く処理できる仕組みでなければリスクは残る
例えばUTF-7なら、<>や"を記述せず表すことが出来る。それを鵜呑みにして通過させたらえらい事になる。
そういうのを回避する為、PHPでは親切なことにhtmlspecialcharsという素敵な関数が用意されている。
これを通していれば文字コード関連はまず問題ない。
ヘッダで文字コード指定するより、入力にhtmlspecialcharsしておくほうがセキュリティ的には大切だ。 >>10
CGM とかのユーザ投稿を許容するサイトで、もし任意の charset 指定ができてしまうと、文字のバケ具合によってはエスケープされてない記号が生きる可能性が出てくる。
結果書き込み内容によっては XSS とかができるようになって困ってしまう。 >>18
任意の文字コードは誰でも出来るだろ
何でブラウザ側にある情報を任意に指定できないと思ってるんだ?
chromeだとこれ入れれば出来る
https://chrome.google.com/webstore/detail/set-character-encoding/bpojelgakakmcfmjfilgdlmhefphglae
ブラウザ側の文字コードが何であってもサーバー側の都合のいい様にエスケープするのがhtmlspecialcharsだろ htmlspcialcharsでエスケープした後の文字列を、別の文字エンコーディングで解釈すれば
htmlspecialcharsの効果なんてないんだよ
htmlspecialcharsでの対策と、Content-Typeにおける文字エンコーディング指定は
それぞれ別の攻撃に対する対応なんだよ
徳丸本くらいは読んだ方がいい サーバーに対するセキュリティというより、
サーバーを使うユーザーに対するセキュリティだな PostgreSQLってPHPでまともに動くの?
接続処理にプロセスのフォークが使われてて
スレッドを使うMySQLより重いと聞いた
コネクションプールはリクエストの度に毎回環境を捨てるphpでは使えないし 10〜15年前ぐらいにタイムスリップしたのかと思ったわ マルチプロセスなのは変わってなくない?MySQLよりも重たいのは確かにある。コネクションプールもPHPじゃダメだよね。
使い物にならないってことは100%ありえないけど。なんならPostgreSQLのほうが得意な分野もあるし。 イベントモデル普及前の話題だな
今では考えられない世界だ イベントモデルなんて一部の分野でしか使われてないやん… 両方選べるDBもあるけど、普通のサーバインスタンスならマルチプロセスのほうがいいよ
pgのコネクションプーラは各種あるので好きなものを使えばいいと思うけど、WEBアプリでプーラが必要になるケースの知識はあるの?
リクエストまたいでコネクションを使いまわしてオーバーヘッドを減らす、みたいなイメージしてないかい?
PHPは環境を捨てるというけど、HTTPがステートレスであることと混同してないかい?それにアプリ層にはセッションがあるのだけれど UberはPostgreSQLからMySQLに変えた
Why Uber Engineering Switched from Postgres to MySQL
https://eng.uber.com/mysql-migration/ Connection Handling
MySQL implements concurrent connections by spawning a thread-per-connection. This is relatively low overhead;
each thread has some memory overhead for stack space, plus some memory allocated on the heap for connection-specific buffers.
It’s not uncommon to scale MySQL to 10,000 or so concurrent connections, and in fact we are close to this connection count on some of our MySQL instances today.
Postgres, however, use a process-per-connection design.
This is significantly more expensive than a thread-per-connection design for a number of reasons.
Forking a new process occupies more memory than spawning a new thread. Additionally, IPC is much more expensive between processes than between threads.
Postgres 9.2 uses System V IPC primitives for IPC instead of lightweight futexes when using threads.
Futexes are faster than System V IPC because in the common case where the futex is uncontended,
there’s no need to make a context switch. Beside the memory and IPC overhead associated with Postgres’s design,
Postgres seems to simply have poor support for handling large connection counts,
even when there is sufficient memory available.
We’ve had significant problems scaling Postgres past a few hundred active connections.
While the documentation is not very specific about why,
it does strongly recommend employing an out-of-process connection pooling mechanism
to scale to large connection counts with Postgres.
Accordingly, using pgbouncer to do connection pooling with Postgres has been generally successful for us. However, we have had occasional application bugs in our backend services
that caused them to open more active connections (usually “idle in transaction” connections)
than the services ought to be using,
and these bugs have caused extended downtimes for us. phpじゃコネクションプールだめってどういうこと?
コネクションプールってそれをマネージメントするミドルウェア的なやつを
バックグラウンドで動かしてユーザーに開いてるリソース割り振ればいいんじゃないのけ
それとも例えばセッションにいれてみたいな1:1で使い回せないってこと? pgbouncerか
Uberの記事では接続数が増え過ぎるバグがあってサーバーが落ちたってあるけど
今は大丈夫? pgbouncerはプロキシのように動作するので
仕組み的にはphpでも特にコードを変更せず
コネクションを再利用出来る imagewebpで合計5000ファイル計230MB程の画像ファイル群を変換しようと思ってるんだが、
imagewebpって重い?一気に変換して平気かな?
鯖に負荷が掛かるようならローカルでやってうpなんだが、一気に変換しても大した負荷で無いなら鯖でやろうと思ってる 最近のサーバーは数GBのメモリは当たり前だから平気だと思う ちゃんと変換おわったファイルは毎回メモリ解放して適宜sleep挟んで
負荷がかからないようゆっくりやればいい >>40-42
スペックは高いと思うが、レン鯖なので・・・
時間掛かるとプロセス止められそうで・・・
レン鯖で実行するのは無謀かな・・・ どうしてもレン鯖でやりたいのならリクエスト分けてやれ
1リクエスト5枚ぐらいにして1時間500枚ぐらいのペースになるよう調整して
10時間ブラウザ開いて放置しとけば終わってるみたいな
ただそんな面倒なことするぐらいならおとなしくローカルにPHP入れて
コマンドラインからスクリプト叩いて変換すればすぐ終わるし確実 >>44
ローカルでやると、サーバから下ろして、また上げての作業がめんどうでは? FTPで対象フォルダを選択してダウンロード押すのと
わざわざ専用のスクリプト(PHP,JavaScript)書くの
どっちが面倒なのか一目瞭然だろ 最悪BANになってもいいならチャレンジしてもいいのでは?
日常的に画像変換を目的にしてならともかく
ブログとかのコンテンツの整理だろうし問題視されないはず
自分は10年以上前にアップローダー運営してたら高負荷で利用停止になって
対策してくれって怒られたことがある
サーバ管理者は数字みればすぐ誰が原因かわかるから
まとめて一気にやるととんがった山みたいなグラフかくから
数回ぐらいじゃ目つけられないだろうけど気になるならある程度は配慮したほうがいい そもそも今日び何でレン鯖?
もはや安くもないし一番簡単なわけでもないし制限は多いし 100円台から借りれるし安いだろう
比較的まともなのだと500円ぐらいは必要だけど
自分は2Gの定額VPSだけど
従量制のクラウドは怖いわあ ちゃんと使えば何も怖くないけどな、AWS
まあ、個人のお遊びならVPSで十分 awsならlightsailでLAMPスタック選ぶのが簡単。月5ドルもかかる割高だけど(awsの他の手段で用意するのと比べて) lightsailはwordpressのイメージ選べば3.5ドルに下がる不思議 一般的なそのへんのメモリ2G SSD30GBのVPSのスペック
PVは1日1000 月間30000 転送量は月30GB
ルールよく知らないけどこれをAWSでやると2000円じゃ収まらないでしょ? Lightsailは最も安いプランでも1TBまでの転送が無料になる
2GB RAMのサーバーは月10USD、3TBまでの転送が無料 ていうかOS乗せるとEC2じゃないとって感じみたいだし
ffmpeg使って動画変換とかもするから
やっぱ高くつくよな… VPSなんだからMySQL入れれば追加費用なしだよ。OSはAmazon linuxだよね? >>65
そうなのかーありがとう
OSはAmazon Linuxとか聞いたことないからCentかUbuntuがいいけども
まあそれしか安くする選択肢がないということならどうにかする
通常のVPSと同じ使い方でバッチ処理とかも全然おkで
2GBなら3TBまでの転送量だけに気をつければいいってことかな?
現在の転送量がわかるなら2.9TBぐらいになった時点で503出すようにすることもできそうだし
ちょいいじってみようかなあ lightsailは最安でVPSが導入出来るってだけで性能は糞
実測でストレージはかなり遅いし
RAM2GBのも1コアだし過度な期待はしないほうがいい >>66
アマゾンLinuxはCentOSと99パーセント同じ >>66
Amazon LinuxはCentOSベースだからyum等が使える
BitnamiのBlueprintを使う場合はUbuntuベースらしい certbot の正式サポートがないのがなぁ。。。 転送量での課金があるのってサーバーからインターネットへの送信だけでしょ
そんな大人気のサイトでも無い限り1TBも転送しなくね?
CloudFlareでも使っとけば更に転送量を抑えられる cloudflareってなにで儲けてんだ
ほとんどの人が無料プランで済んじゃわないか >>73
ありがとう!
裏に何かあるかもしれないけど、CEOが答えてるなんてこれ以上のソースないわ。 コンストラクタは静的メソッドなのかなあ。
コンストラクタを継承するときに
parent::__construct();
というふうに->でなく::を使うので。 でも $this->でメンバにアクセスできるじゃん >>76
ただの記法なのであんま深く考えなくていいぞ。コンパイラか言語仕様上そうなってるだけやろ。 変数名の$の次に数字はふつう使えないけど、
<?php
${1} = 1;
echo ${1},PHP_EOL;
というふうにすると問題なく動くね。 出来るできない以前にそんな変数名つけてたら張り倒されるわ ビルトインウェブサーバいじってて自分でPHPで作ってみたくなったんですけど
静的コンテンツの配信は簡単なのですが
PHPを動かせるサーバってどういうふうに書くんですか?
if ($file['extension'] == 'php')
{
$document = passthru("php -f {$file['name']}");
}
こんな感じでいいんですかね? >>85
ありがとうございます
requireしたのとかはまだ実験してないけど
とりあえず単純なものなら動きそうですね Swooleとmysqliの非同期APIを使えば
PHPでも最速目指せる? Googleドライブにアップした動画をHTML5のvideoタグを使って自サイトに貼り付け
再生させたいと思っています。以下の様にリンクを作成すれば動画を無劣化で
貼り付けることができるのは分かっています。
<video controls>
<source src="https://drive.google.com/uc?export=download&id={Google動画のID}" type="video/webm">
</video>
ただこの方法が通用するのは動画の容量が数十MBまで。
それ以上の容量の動画は上記の方法では埋め込み再生できません。
完全には把握できてはいませんがGoogleは巨大ファイルのダウンロードに際して
ワンクッションページを挟む仕様のようです。
たとえば800MB超のファイルをダウンロードしようとすると、
https://drive.google.com/uc?export=download&id=1wyXHX_xDh4EntuIG7y6jpHiPZT99OBn26A
上記のようなページに誘導され、そのページ中のダウンロードボタン;
https://drive.google.com/uc?export=download&confirm=-8rW&id=1wyXHX_xDh4EntuIG7y6jpHiPZT99OBn26A
をクリックすると動画のダウンロードが始まります。
ダウンロードボタンのリンクには新たに"confirm=-8rW"というキーワードが追加され、
末尾の4文字"-8rW"はダウンロードページをリロードするごとに変更されます。
またダウンロードボタンのリンクをコピーして違うブラウザを開いてURLを入力して
みましたがダウンロードは始まらず、例のワンクッションページに誘導され新たな
"confirm=****"キーワードが生成されたことを考えるとcookieも使ってるような気がします。
そこでPHPの力を使ってGoogleドライブにアップした巨大動画ファイル埋め込み再生に
チャレンジしてみました。 // ワンクッションページのURL
$cookie='https://drive.google.com/uc?export=download&id=1wyXHX_xDh4EntuIG7y6jpHiPZT99OBn26A';
//クッキー取得のためのアクセス
$ch=curl_init();//初期化
curl_setopt($ch,CURLOPT_URL,$cookie);//cookieを取りに行く
curl_setopt($ch,CURLOPT_HEADER,FALSE);//httpヘッダ情報は表示しない
curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);//データをそのまま出力
curl_setopt($ch,CURLOPT_COOKIEJAR,'cookie.txt');//$cookieから取得した情報を保存するファイル名
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,TRUE);//Locationヘッダの内容をたどっていく
$html = curl_exec($ch);
curl_close($ch);//いったん終了
// confirm=**** のうち末尾4文字を$match["name"]に抽出
preg_match('/.*confirm\=(?P<name>\w+)\&.*/', $html, $match);
// 得られた"confirm=****"を使いダウンロードリンクを生成
$url='https://drive.google.com/uc?export=download&confirm=' . $match["name"] . '&id=1wyXHX_xDh4EntuIG7y6jpHiPZT99OBn26A';
// HTML5のvideoタグを生成して動画の埋め込み再生
echo '<html><body><video controls><source src="';
echo $url;
echo '" type="video/webm"/></video></body></html>';
'cookie.txt'にcookie情報が取得できたのは確認できたのですが
残念ながらこの方法では動画の再生にはいたりませんでした。
方針が間違ってたのでしょうか? 斜め読みしかしてないけど、閲覧側が google ドメインに対して cookie のセットができないんで、その方向性に解はないと思うよ。 >>90
> 閲覧側が google ドメインに対して cookie のセットができないんで、その方向性に解はないと思うよ。
閲覧側の問題ですか・・
PHP使ってGoogleから発行されたcookieを閲覧側に横流しすることって出来ますか?
>>91
一応Googleドライブで動画の埋め込みコードを発行してたりするので(iframeを使ったコードですが)
メディア配信を意識してないわけでは無いようです >>92
そのGoogleドライブが発行する埋め込みコードじゃダメなのか? >>94
「動画の埋め込み」機能で発行されるコードは再エンコードされた動画だったりします
(たとえ最高の1080pを選んでも)
元動画が60pでうpしたのに埋め込み再生される動画は30pに落とされるとかざらにあります
>>88
の方法はそれを回避して動画をオリジナルの画質で再生する方法なんですが
動画の容量が数十MBのものまでしか使えないのが問題でして・・・
>>93
CORS・・・初めて耳にしました
ちょっと調べてみます PHPの力を使うなら、GoogleドライブからPHPサーバーに動画をキャッシュしてストリーミングしてしまえ
http://demo.codesamplez.com/html5/video >>96
> PHPサーバーに動画をキャッシュしてストリーミングしてしまえ
無料レンタルサーバーなんですよね、
そんなことしたら怒られそうで・・・ 画像特化CDNのCloudinary最近動画配信機能強化してなかった?
無料枠で納まるか知らんが。 よくわからんが1個の動画容量が数MBでも問題ないだろ
メタデータ作ってHLSで繋いで再生すればいいだけで PDOでのデータベース操作が上手くいかないので質問させてください
mysql> SELECT number FROM testtable;
+--------+
| number |
+--------+
| 204 |
| 226 |
| 234 |
| 246 |
+--------+
4 rows in set (0.00 sec)
このようなnumberカラムを持つtesttableで、特定の値(仮に今回は3番目の234とします)より大きいnumberを持つレコードのみ+1するということが目的なのですが、
直接mysqlで以下のstatement:
>UPDATE testtable SET number = number + 1 WHERE number > 234;
を実行すると
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> SELECT number FROM testtable;
+--------+
| number |
+--------+
| 204 |
| 226 |
| 234 |
| 247 |
+--------+
となり、目的が達せられます しかし、これをaxiosでPOST requestしたphpの関数上で行うとおかしな結果になります
======
try {
$connection = new PDO(
'mysql:host=' . $host . ';dbname=' . $dbname,
$username,
$password,
$options
);
$connection->exec(
'update testtable set number = number + 1 where number > 234'
);
echo 'run only once.';
} catch ~~~~
=====
上記がphp内のPDOで同じstatementを実行している部分で、
この実行の後に、numberカラムを確認すると mysql> select number from testtable;
+--------+
| number |
+--------+
| 204 |
| 226 |
| 234 |
| 249 |
+--------+
4 rows in set (0.00 sec)
このようになぜか + 2 されてしまいます
exec内のstatementが意図せず2回実行しているのかと疑って、
$connection->exec(
'update testtable set number = number + 1 where number > 234'
);
の [ number = number + 1 ] を [ number = number + 2 ]
として変更すると + 4 されるので、恐らくその点については疑い通りなのですが、
一方でaxiosのresponseは、'run only once.'と期待通りになっていて
echoの内容が重なっていたりはしないので、このブロック全体が2回実行されているわけでもないようです
結局何がどうなっての結果なのかさっぱり分かっていないという状態です
上記の挙動について、考え得る原因やなにか自分に落ち度があればその点ご指摘いただけますでしょうか
長々と質問してしまい申し訳ありませんが、どうぞよろしくお願いいたします たまにあるのが、ブラウザの拡張機能が悪さしているケース。
何故か、2回アクセスしてたりする。
アクセスログ見てみるといいよ。 POSTが二回発行されてたら、echoじゃわからないんじゃね? formのsubmitとajaxが2つ動いてるパターンIEでよくある。 遅くなってしまいすみません
>>103
まさにこちらがどんピシャリでchromeでは上のような挙動になるのに、Edgeだとちゃんと動きました
ですがchromeの何が悪さをしているかは謎のままなので、これからどのように特定すればいいのか少し調べてみます
ありがとうございました
>>104
axiosのresponseが2件重複しているかは最初に調べて、postの重複でないことは確認しておりました 指定したディレクトリ配下全ての拡張子jpegをjpgに書き換えるコード
function jpeg2jpg($path)
{
$array = glob($path.'/*',GLOB_ONLYDIR);
foreach ($array as $filename)
{
jpeg2jpg($filename);
}
$array = glob($path.'/*.jpeg');
foreach ($array as $filename)
{
$newpath = str_replace(".jpeg", ".jpg", $filename);
rename($filename, $newpath);
}
}
これをもっと綺麗なコードにしたいんですが何かありませんか? >>110
それで十分綺麗だと思うけど。
ファイルの検索とリネームを分けるこんな方法もある。
function files($path)
{
yield from glob($path.'/*.jpeg');
foreach (glob($path.'/*', GLOB_ONLYDIR) as $dir) {
yield from files($dir);
}
}
foreach (files('images/') as $jpeg) {
$jpg = str_replace(".jpeg", ".jpg", $jpeg);
echo "rename($jpeg, $jpg);\n";
} >>111
yieldって構文は知らなかった。ありがとう file_get_contentsで2chの過去ログ保管サイトをスクレイピングしてるんだが、なぜか連続で更新すると内容を取得できないことがある
これってサイト側がスクレイピング対策のブロッキングを施してるってことなのかな? >>114
そうかもしれないし、違うかもしれない
事実はサイトの運営者のみが知る
人間っぽくないリクエストを弾く方法はいくつもある
高負荷のリクエストを送るIPをブロックしたり、
ハニーポット置いたり
Facebookはマウスの動きまで見てるらしいが
そこまでしてる所は稀だろう
1分間のリクエスト数に制限かけたり、
Exponential Backoffで時間置いてからリトライしたら?
https://github.com/bandwidth-throttle/token-bucket
https://github.com/stechstudio/backoff C#かjavaのコードをPHPのコードに変換できる無料ツールってないかな?
↓このSDKをPHPにしたいんだが
https://sevenzip.osdn.jp/sdk.html >>116
変数に$を付けて回るだけでほとんど丸コピーで動くから
perlとかphpといったスクリプト系の無料ツールを使うと良いよ ↓こういうjson配列を
[
{id:0, name:"ああ", age:20,....},
{id:1, name:"いい", age:21,....},
{id:2, name:"うう", age:22,....},
];
idとname以外のデータ落として↓一次元の連想配列に変えたいんだけど
{0:"ああ",1:"いい",2:"うう",};
array_filterで一発変換みたいことは無理? json向けの組み込み関数は少ない
外部ライブラリ使えば可能だと思うが
関数1つにこだわる必要もないだろう array_columnとarray_combineでどうぞ preg_replaceで$1を$foo["$1"]に置き換えたいのですが
$1の意味が違うのでこれではundefined indexになってしまいます
ここはどう書くのが正しいですか? すみません自己解決です
callbackじゃないとだめみたいですね CRで保存したファイルを読み込んで、
一部の\rとか\nとかtrimで除去してたらおかしくなってしまいました。
CR+LF、LFは問題ありません。
コードでどうにかするのはめんどくさそうなので、
CRのファイルだったらLFに内部で変換するようなことってできますか? >>128
簡単にできるよ!
じどうてきにCRをLFに変換する関数を呼ぶ仕組みが用意されてる
入出力ストリームとかストリームラッパーで検索しよう >>128
CRで保存するってどういう事情でそうするの?
個人的に知りたい >>130
アホのマカーが作ったファイルとかでしょ >>129
ありがとうございます。
頂いたヒントからたどり着いた答えは、php://filterですがあってますか?
ビルトインのフィルタを確認しましたが、文字コードを変えるものはありましたが、
改行コードを変えれそうなものはなさそうなので、自分で作って登録しろということでしょうか?
>>130-131
アホかどうかはおいといて、そういうことですねー >>132
str_replace(["\r\n","\r"],"\n",$subject)
でよくね
ストリームとか全然わからん Apacheってオワコン?
速度は静的コンテンツについてはnginxの完全勝利
動的ならApache+fpmでnginx+fpmと同程度
.htaccessでどのディレクトリでも
設定変更出来るのはDockerが一般的になった今や無意味
むしろセキュリティ上のリスクにもなり得る
preforkモジュールにすればsupervisordなしでDockerコンテナを一つに出来ると言うメリットは一応あるが
preforkモジュールはかなり遅い あとApacheの設定ってすごく読みづらくね?
nginxの方が直感的に理解しやすい それを5chの僻地で主張することにどんな意味があるの? どっちもオワコンだろ
lswsを使ったらもう戻れない >>137
そんなもの流行りませんよ
apacheのデファクトぶりに震えて眠れ 「〜はオワコン」って言ってるのは評価軸を決められない未熟なエンジニアか荒らし。
どっちゴミなんでほっとけばいい。 nginxはここ数ヶ月で下落の兆候あり
apacheとiisは長期的に下落を続けている
かといってlswsが急上昇してるわけでもない
さて一体失われたシェアはどこへ行ったのやら >>125
こういう関数がすっと出てくるのはすごいと思う。
mapしてzipしてcollectすればいいと考えても、そこからPHPの関数にたどり着くまでが大変。
覚えりゃいいんだけど、PHP離れるとすぐ忘れるし。 International Semantic Web Research School? >>140
アイじゃなくてエル LiteSpeedWebServer
PHPはこのサーバ向けにカスタマイズされた特殊なものが使われてる
おかげで設定なしにPHPが導入出来るばかりか
優秀なリポのおかげもあって常に最新のPHPにアップデートされる
もちろん普通のPHPのコードが動くので心配はいらない
Web設定ツールはPHPで書かれているのでPHPとセットになってるし
特にWP向けに最適化されててWP配信ならWebServer界最速で
PHPerのためのサーバといっても過言じゃないわ オープンソース版もある
https://openlitespeed.org/
solarisとopen solarisみたいなもんだ openlitespeedって公式dockerないの?
検索しても出ない >>142
貧乏人だからセレロンに8GBのノートPC
これじゃあんま強力な環境を作れず
IDEよりもエディタで本当はフレームワーク勉強したいけど
開発環境作ると重いしピュアなPHPでゴリゴリ書いてる
だから俺はPHPの関数めっちゃ覚えてるよ
あーいいパソコンがほしい メモリ8Gってすげえ高性能だな
俺なんかまだ716MBで頑張ってるよ >>148
同意します。
ブラックボックスは小さい方が良いと思う。 >>150
linuxのコンソールからviでも起動してプログラムかいてんのか?
それだったら尊敬するわw >>152
xp
5chとネットサーフィンだけだけど全然余裕
ブラウザはnewmoonってのを使ってる >5chとネットサーフィンだけだけど全然余裕
PHP書けよ Atomで書いてるけど、最近Visual Studio Codeに浮気しようか悩んでる >>155
元Atom使いだがVSCodeのがいい htmlとcssが出来るようになった
次はjavascriptかphpを勉強したいと思ってる
どちらから先にやるべきだ?
分かりやすく教えろ。 phpはブラウザで使えない
javascriptはサーバーで使うには素人は難しい 次はxmlとxsltだ
異論は認めん
さぁ頑張ってこい $dbh = new PDO(
'mysql:host=localhost;dbname=db1;charset=utf8', $user, $pass
);
っていう、dbへの接続方法
$dbh の中身をどうやって実行するんや!?と思ってたんだけど、
new PDOでPDOが呼ばれた段階でPDO以降の実行結果が代入されるということだから、接続確立したって事でOK?
あほだからこんな事で丸一日悩んでしまったんだけど… JavaScript優先だろう
JavaScriptは今やhtml5を使うには必須スキルで代えは聞かない。
ブラウザあればすぐに試せるから実行環境が用意しやすい。
Googleドライブにあるスプレットシートなどのマクロ、Google Apps ScriptなんかもJavaScriptと同じ構文で動くし
RPGツクールMVなどのゲーム作成でも役に立つ。node.jsのようなサーバーサイドで動くJavaScriptもある。
JavaScript知識は活用範囲は非常に広い
phpは基本サーバーサイドでしか動かんし用途が限定的。
ライバル言語が非常に多く、別の言語でもいいってこともしばしば
他に代用がいくらでもあるので優先順位は低い java script とかはやりたい事ググってサンプルスクリプトを見つけて
コピペしてあまり理解せず使ってるわ
そんなもんでいいだろう <script type="text/php">
$a = Document::getElementById('a');
$a->style(['background-color'=>'#fcf']);
$a->innerHTML('<p>hello</p>');
try {
Core::ajax('http://example.com', 'get', function($text) {
});
} catch (HttpError $e) {
}
こんなん探せばありそう 素のPHPでWebバックエンド周り(フォームとかセッションとかセキュリティとか)を一通りやるのは悪手とは思わん。
その後はさっさとPHPとおさらばして、他の言語に移るべき。 >>167
MariaDB上のデータベースをネットから検索する簡単なフォームとPHPを書こうと思うんだけど、
面倒くさい。
データベースの構造を元に検索フォームとPHPの雛形を簡単に作ってくれるアプリは無いのかな? それこそWebフレームワークが最も得意なことじゃない bitbucketに対してコミット、プッシュが簡単に出来るphpライブラリって無いかな?
無ければssh2_connectコマンドで頑張るしかないんだけど VPSからPHPで外部サーバへFPTS接続して、ファイルをアップロードしたいのですが、
ftp_ssl_connect()は成功してるようなのですが、
ftp_login($connectId, $userId, $userPass) のところで
「SSL/TLS handshake failed」「Proceed with negotiation」などと出て失敗してしまいます。
php.info()では「ftp」「openssl」は有効になっているのですが、
ほかに何か設定するべきところがあるのでしょうか?
送信元のapacheやvsftpdなど。
送信元のサーバのapacheで証明書とかも要りますか?
OSはCentOS6
PHPは5.1.6です。 そんな古いPHPでSFTPとかなんかやばそうw
多分原因もそれでしょ opensslも古そう
VPSなら環境のアップデートぐらいしなさいよ こちらも同じ見解に達していました。
ありがとうございます。
OpenSSLが0.98とかで、今や一般的ではないようです。大は小を兼ねるみたいに向こうが新しくても、互換でやってくれるとかじゃないみたいですね。 セキュリティ系は古いもの切り捨てないと穴あいちゃうからねぇ。 今はプログラムよりツールの使い方を学ぶ時代になって
新人にとってはずいぶんつまらない世の中になってしまったな 昔の人がアセンブラ書かないのはプログラマじゃないって言ってるようなもんだろ
時代は常に流れているんだよ >昔の人がアセンブラ書かないのはプログラマじゃないって言ってるようなもんだろ
つまらなくなったとはいったけどそこまでいっとらんわ
今と比べて面倒なことをしろなんて主張もするつもりはない
スタート地点で面倒なことから始めればそれを面倒とは思わないだろうし
人間後退したくない以上より多くを覚えるならスタート地点は重要だけどね
目的違うしアセンブラから始められてたらもっと楽しかったのだろうとは微塵も思わんけど
出来ることは増えてただろうし習得してればまた考え方も変わるのだろう しっかしーこのスレ死んどるな
もうPHPも終わったんだな 死んではいないしょ
WEBではなんだかんだこれ以外の選択肢は多くないし
てか、5chで情報共有なんかしないわ まぁ、たしかにもっと愚痴がこぼれてきてもイイと思う。
なんで、7.4の阿鼻叫喚がここに流れない??? うちも5.xだわ
昔にとあるツール使って構築したサイトで色々カスタマイズというかいじりまくってしまって
最新版に更新できなくなっちゃってるんだよなぁ
だから7系に上げられない
さっさとそのコンテンツ終わってくれれば良いんだけど妙に長生きしてるんで困ってる アロー演算子ってクロージャーとはスコープの扱いが違うんだねえ
引数渡したりuse書く必要なくなったんだな すげぇな、アロー関数まで搭載するんだw
PHPってほんと、あらゆる技術を無節操に取り込みまくるよな。
やっぱ間違いなく最強の言語だ。
絶対最後に生き残るの、PHPだって、これ。 んなことない
今だいたいどの言語も統合が進んでる感じ
ただしPHPから学ぶ機能は何もないという
もともとWeb制作ツールの延長だし
革新的な機能を出すような言語じゃないからしょうがないけど >ただしPHPから学ぶ機能は何もないという
そら、そうだろ。
PHPは与える側じゃなくて、全部取り込む側。
漁夫の利作戦。
他の言語であれこれ試行錯誤して『これいいよね』ってなったものを
無節操に取り込むのが我らがPHPだよ。
もう、最強。 連想配列なんてのがのさばっているうちは、どこまでいっても二流ですわ。 すれ違いなのは承知です。
GAS(Google App Script)の専用スレッドはありませんか? 誤訳直そうと思ったらログインがうんぬんメーリスがうんうん言われて面倒だったんで
https://www.php.net/manual/ja/function.curl-getinfo.php の CURLINFO_FILETIME
編集権があってヒマな人誰か直しといてもらえませんか ググればだいたい解決するから5chの出番はないな
というかこういう実用系の内容では5chは要らない つーかPHPの公式ドキュメントって
数多のP系スクリプトの中でも他の追随を許さない質と量だよね
言語自体スパゲティだのなんだの言われてるけど
そんなのを軽くチャラにするくらい丁寧で充実してる 今からPHP勉強してフリーランスデビュー目指して頑張ります
ちな中卒30代プログラミング未経験 徳丸ひさびさに見たけど白髪増えてだいぶ老けたなぁ(´・ω・`)
相変わらずのPHPびいきなようで安心。
彼がいる限りまだまだ日本でのPHPは終わらんよ( ー`дー´)キリッ IDとパスワードのログイン方式でなく
電子証明書方式のログインサイトを作ってみたいのですが
具体的にはどうしたらいいんですかね? 素人が作ったら電子証明書使ってても穴あきそうだな
実績あるプロに任せろ こんなとこで質問するレベルのやつが作って良いものではないw そりゃ、ここの話題じゃないからな。
ヒント出してるだけマシだろ。 …まさか5ちゃんに書いて答えもらえるとマジで思ってたのか? >>1
東京三鷹の土井(剛)莉里子
https://i.imgur.com/Fbgp0yG.png
氏名■土井剛(莉里子)
生年月日■1994.3.7
前住所■〒181-0013 東京都三鷹市下連雀5丁目3 シティハイツ吉祥寺通り4階
性別■男(詐欺師のため、戸籍変更している可能性あり)
Twitter■@copy__writing @kotobamemo_bot
疾患■性同一性障害(LGBT)、発達障害(ADHD)、アスペルガー症候群、統合失調症
●一方的に好意を寄せる男性から相手にされないと嫌がらせを繰り返す
●某大学病院の精神科隔離病棟にて強制入院
●骨が見えるほどのリストカット
●奇声をあげながら自室部屋のドアをナイフで突き刺す
●シティハイツ吉祥寺通り4階から飛び降り自殺
●性転換手術(金玉を取る)
●トラブル...嫌がらせ、ハッキング、乗っ取り、たかり、脅迫、殺害予告...etc
●去年から今年にかけてyoutuber同士のトラブルの仲介に入り某大手youtuberから複数回に渡り1億近い慰謝料をふんだくる
●自宅の吉祥寺にいられなくなり、大阪に潜伏中(警察からも逃げている) 追記型の最新のログ10件を表示するために長めのログをfgetsで
キューに10個いれてそれ以上あれば破棄していくという感じで
$queue = array();
while (!feof($fp)) {
array_unshift($queue, fgets($fp));
if (count($queue) > 10) array_pop($queue);
}
というようなコード考えたんですけど
初期値falseの$overflow変数を儲けて
if ($overflow || count($queue) > 10) {
array_pop($queue);
$overflow = true;
}
のようにしたら$overflowがtrueの時点で
countのところには行かないで認識あってますか?
$overflow = trueよりcountのほうが遅いはずなので
php5系使ってて配列操作は遅いので改善ポイントとして考えてます >>220
count()の実行回数を減らしても大して違いは無いと思うけどなぁ。
それより1行ずつ配列に入れるのをやめてfile()で一気に読み込んでから、array_slice()で最後の10行を残して、array_reverse()で反転させる方が早くないか?
遅いのはログの行数が多いからだと思うけど、あまり多いとfile()じゃメモリ消費も気になってくるけどね。
その場合はログのサイズを小さくすることを考える必要がある。デイリーベースにするとか。 キュー使うなら配列よりSplQueue使ったらええんちゃう
実装見たわけじゃないけど常識的にcountはO(1)だし多分内部のカウンタ見てるだけだから遅いってことはない
ログを頭から読んでいって末尾10件を抽出するのが遅いって(O(N))のなら最新数件だけ別ファイルにする(O(1))かDB使った方(O(log(N)))がいい レスありがとうございました。なんか溜まってるログがないかと探して、
まだまだ少ないですが、6MB 3万行強ぐらいので試してみました。
結果countに関してはお二方のおっしゃる通り影響はないようです。
10回計測して、(ローカルの計測環境でPHP7なんですが)
file
avg: 0.02795
配列Queue(>>220)
avg: 0.04602
SplQueue
avg: 0.04344
キュー型にしない(最後の取り出す処理で若干こんがらがる)
avg: 0.02981
といった感じになりました。3万行なら余裕ですが、fileはやっぱりメモリ食べますね。
最後のコードは、
$disp_num = 10 + 1;
$bucket = array_fill(0, $disp_num, null);
$pointer = 0;
while (!feof($fp)) {
$bucket[$pointer%$disp_num] = fgets($fp);
$pointer++;
}
のようにしたものです。
配列の順番がぐちゃぐちゃになるので、最後少し苦労しますが配列に入れるだけなのでメモリも速度もいいですね。
(やってて気づいたのですが)+1にしてるのはfopenでfeofまでやると、
最後の空行が入ってしまうようなので+1にしてます。
このせいで、他の配列Queue版もSplQueue版も最後に1回pop処理が必要になったりして、ちょっといまいちな印象です。
fileは最後の空行は無視されていました。 ごめんなさい、嘘つきました。
よく見たらfileも最後の空行が入ってしまっていました。 さらにごめんなさい、ベンチで使ったやつはfileのあとにreverseもしてました。
実際はfileだけでログ取得箇所を示す配列のcount入れても、
もっと早くて0.022台〜0.025台です。 echo "str".$a-$b;
PHP Deprecated: The behavior of unparenthesized expressions containing both '.' and '+'/'-' will change in PHP 8: '+'/'-' will take a higher precedence
とかいうのが出た
もうPHP8の季節なのかー >>223
file()は全部メモリに乗っけちゃうんだから、ファイルサイズ以上にメモリ消費するわな。
行数の多いファイルを頭から地道に読み込もうとすると、ループ内のほとんどの時間は無駄になっちゃうから、最後の数行だけ取る処理をlastコマンドに任せた方が早いんじゃないか。
いずれにせよログの巨大化回避の枠組みを作ることの方が先決だろう。 WEBプログラム板けっこう寂れちゃったんだな
PHP7のバージョンアップで前バージョン動かなくなったりしたのが良くなかったんじゃ オワコンとまでは言わないがここを目指す技術者の減少が著しい
今はスマホやゲームから入ってそのままサーバが必要になれば
KotlinやらSwiftやらC#で書くみたいな節があるし
JSの進化とともに昔みたいにこってこてにサーバサイド書くこともなくなって
本当にデータの受渡しだけになってしまったし
共用サーバはPHPとPerlぐらいしか選択肢がなかったころに流行って
PythonとRubyが加わってRoRでモダンなWebFWが完成して
VPSやクラウドが登場して選択肢が増えていって
PCが廃れスマホが主流になった現在、正直今更PHP?だもんな
寂しいけど俺も今からなら絶対PHPは勧めないよ 21世紀になったあたりの頃は
「未来はPCからEmbeded(モバイルなんて言葉はまだ無かった)までJAVAで統一されている」
って言われたものだが・・・ Javaはセキュリティ関連でイメージがすっかり悪くなってしまったからね
Javaのインストールしたくないけど仕方なく入れてる人はわりと見る >>229
ログインしたあとは
JSONとMySQLのやり取りだけだもんな
サーバー側は得意なのでいいよ >>232
まだそんなこと言ってんの?
オラクル製のじゃなきゃ無料で使えるだろ >>234
ライフサイクルが短いから使ってもすぐ上げなきゃいけないとかで実用的でない >>233
逆に、PHPなら書けるけどSwiftとかC#とか書けない場合、
今から新たに書くプログラムをPHPで書いてもいいのかな?今でも
それとも時代に合わせて新たな言語覚えるべき? >>234
イメージが悪くなった, という話の流れなんだがな Javaは元々、冗長すぎてまともなプログラマからは嫌われていた。 JAVAが世界を席巻していた頃は
まさか将来毎年のように新言語が
登場するようになるとは夢にも思ってなかった
JAVAで世界は統一されると堅く信じていた >>236
PHPで全然かまへんで
ただPHPでかけるがSwiftやC#でかけないなんてことはないと思うぞ
(Webに限っては)その逆もしかり
まあどっちが楽かっていう問題はあるけどね
PHPはimportするパッケージ探すとこから始めなくていいことも多いしな PHPまでしかできない奴はc#は無理な奴かなり多い 動的型付け言語全般がタイプヒントつけるのがしんどい c#で何をするかによるが
少なくともVSで開発するGUIアプリは
htmlとjavascriptの基礎があれば作れるだろう laravel使っているのですがphpかlaravelで下記のことはどうすればできますか?
ページ内のボタンをクリック→データベースのテーブルを作成 CREATE TABLEとかのDDLは普通はマイグレーションで実行するよな
APIで誰でも実行出来るようにするなんて普通はない 企業内閉鎖系ならまだしもネット接続でそんなの開放したらイチコロだな ちょっとfuel phpの仕様でdoc読んでも見当たらないので教えてほしいんだ。。
fuel/app/config/routes.phpで
return array(
'api/hoge' => 'hoge',
'api/hige' => 'hige',
'api/hage' => 'hage',
);
ってなってるのを
return array(
'api' => array(
'hoge' => 'hoge',
'hige' => 'hige',
'hage' => 'hage',
),
);
って出来る?
目的としてはクソみたいに汚くなったルーティングを整理したいからで
ソース読んだ限りだと正規表現を利用する書き方的なことをしないと
ダメっぽい気がしたんだが一応確証がほしい そんな事より
なんでarrayじゃなくて[]で書かないの? >>249
無知乙
>>250
グラブルが2019時点でいまだにfuel採用しているし豚みたいなLaravelより軽いし
>>249みたいなスクール上がりの馬鹿なカスが寄り付きづらいから割とピンピンしてる >このスレで扱わない話題
>・直接関係ない○○特有の質問(専スレへ)
> (HH,エディタ,IDE,サーバ,OS,DB,SQL,FW,テンプレート,非公式ライブラリ・アプリケーション等)
https://medaka.5ch.net/test/read.cgi/php/1321843505/
ageて質問したら誰か答えるんじゃね?
マイナーなFWしかも5chみたいな人いないとこで質問してんだから
答え返ってこないことは覚悟してくれ ffmpegコマンドを叩いて変換待ちってのはどんな感じに実装すればいいですか? >>253
裏でやらせておいて、出来上がったら教える感じで実装する >>254
マルチスレッドとかで並列処理をするかんじですかね?
pthreadとかでいいのかな?
それでタイムアウト対策とかはどうしたらいいんでしょう?
flushとかそのへんを使う感じですか? >>255
バックグラウンドで動く別プログラムをsystem関数で呼ぶとかする
タイムアウトも別プログラムに勝手にやらせる 最近のフレームワークならキューに入ったジョブを実行するシステムがあるだろう ffmpeg は処理途中で標準出力するから同期処理は無理じゃねえ。 >>259
標準出力をファイルに落として、のぞき見 公式のwindows版PHPってあれMSがビルドしてたのか
野良ビルドよりは安心だけどまあ正直どうでもいいっすねw
公式が書き換えられたりしても気づくことなく
公式にあるってだけでホイホイダウンロードしちまうだろうし MS、なんでPHP8ビルドしないん(´・ω・`)? MSがPHPを切ったのではない
PHPがMSを捨てたのだ PHPってなんで未だにasync awaitないの?
C#、JavaScript、Pythonはあるでしよ
Javaは無いみたいだけど
コールバック地獄なしで非同期コード書きたい >>267
forkすればいいじゃん
なんでいちいち待つの? >>268
Guzzleのpromiseも
curl_multiも知らない男の人って・・・ forkって
親プロセスと変数は共有出来ない(子プロセスの変数を変えても親プロセスの方はそのまま)
その一方MySQLを使ってると子プロセスが終了時に接続がクローズされる
何も良いことがなさげなんだが
親プロセスと変数が共有できないなら
普通にexecする方がマシじゃね?
それだけじゃなく
実行時間が短い処理には
プロセス生成はオーバーヘッドが大きすぎる 「hogeしか出来ない人」
が存在する言語ってもしかしてphpしかなくない?
マジで? 言語の欠点をどうやって補うかって話じゃなくただ言語の欠点をあげつらうだけなら、
普通に他の言語使えば?としか思わんのだが
他の言語使えないというならお前が無能なだけだろうと PHPはNodeと違ってイベントループがコア機能として組み込まれていないから
Guzzleの場合、非同期処理の恩恵を得るには
Promiseの配列(またはイテレータ、ジェネレータ)を用意して
適切な場所でそれをwaitしてイベントループを回す必要がある
場面によっては非同期の恩恵を得られない
言語に非同期処理が組み込まれてないのもこの辺が理由か
イベントループって、
リクエストの度にプロセスを初期化するPHPの構造と合わなそうだし 質問させてください。
今PHPで3択クイズを作ってます
配列に正解が1つと間違いが2つ入ってます
この3つをランダムに表示させて答え合わせしたいのですが
やり方がわかりません。先輩方、ご教授お願いします。 >>274
完全なランダムはPHPでは使用できません。
PHP以外の言語でも完全なランダムは不可能です。
あと30年ほど経てば、利用できる可能性があります。 >>275
お前リアルでもそんなこと言ってんの?w $a[0] = "正解";
$a[1] = "間違い1";
$a[2] = "間違い2";
shuffle($a);
ここまでは考えたのですが
これをどうやって正解判定するのか
案外難しいですねこれ・・・ >>278
ありがとうございますた!
ちなみにくだスレないです(´;ω;`) file_get_contentsでtwitterを読んでrssにするプログラムが
いつの間にか動かなくなっていたので調べたところ、
ツイッターのページがほぼJavaScriptのみになっていてツイートをHTMLとして含まないようになっていました
もうtwitter APIを介して取得するしかないのでしょうか? >>281
twitterをRSS化するサービスがいくつもあったので、それを使うことにしました
失礼しました phpで掲示板を作ってます
threadテーブルとpostテーブルがあります
threadテーブルのカラム
・thread_id(スレッドID)
・time(スレッド作成タイム)
・title(スレッドタイトル)
postテーブルのカラム
・thread_id(スレッドID)
・name(投稿者)
・res_no(レスナンバー)
スレッド一覧を表示する際、タイトルの横に投稿者を付けたいので、以下のSQLを発行しました
sql = "SELECT t.title, p.name FROM thread t JOIN post p ON t.thread_id = p.thread_id WHERE p.res_no = 1 LIMIT 0,10"
※行 0 - 9 の表示 (合計 10, クエリの実行時間: 0.0029 秒。)
スレッド作成順にソートしたいため、ORDER BY句を入れると
sql = "SELECT t.title, p.name FROM thread t JOIN post p ON t.thread_id = p.thread_id WHERE p.res_no = 1 ORDER BY t.time DESC LIMIT 0,10"
※行 0 - 9 の表示 (合計 10, クエリの実行時間: 0.6489 秒。)
と実行時間が大幅に上がってしまいました
実行時間を抑えるためにどうしたら良いですか? WSL2のDockerで
Windowsのファイルシステム上にあるphpファイルを読ませると
遅すぎて使い物にならない
従来のHyper-Vバックエンドの方がまだマシ
https://github.com/docker/for-win/issues/7719
WSL2のWindowsファイルシステムが遅いせいらしい
Unisonで同期すれば速いけどちょっと最初の設定が面倒くさい >>274
2週間以上前の質問にレスするのもアレだが2次元以上の配列を使えば良いだけでは?
$arr = [
1 => [
'question' => '昼間の空は何色?',
'choice' => [
'A' => '青',
'B' => '赤',
'C' => 'ピンク',
],
'correct' => 'A',
],
2 => [
'question' => 'てめぇの血は何色だぁ?',
'choice' => [
'A' => '青',
'B' => '赤',
'C' => 'ピンク',
],
'correct' => 'B',
],
];
$qid = array_rand($arr);
$question = $arr[$qid]['question']; // 問題
$choice = $arr[$qid]['choice']; // 選択肢
$correct = $arr[$qid]['correct']; // 正解
unset($arr[$qid]); // $qidを何らかの方法で保存しておいて、出題が終わったものは削除すりゃいい >>287のインデントが消えて見にくいだろから、インデント部分を全角スペースに置き換えたら見やすくなるか?
shuffle()は駄目だな 配列のキーがリセットされてしまうから、287みたいな事ができなくなるので
$arr = [
1 => [
'question' => '昼間の空は何色?',
'choice' => [
'A' => '青',
'B' => '赤',
'C' => 'ピンク',
],
'correct' => 'A',
],
2 => [
'question' => 'てめぇの血は何色だぁ?',
'choice' => [
'A' => '青',
'B' => '赤',
'C' => 'ピンク',
],
'correct' => 'B',
],
]; windows consoleでfgets(STDIN,4096)で
入力待ちにしたいのですが次に進んでしまって入力待ちになりません
この間まで問題なかったのですが
proc_openあたりの関数使ってからおかしくなった気がします
設定でも書き換わったのか再起動しましたが直りません
何か修正する方法知ってる方いたら教えて下さい なんか似たような報告ありました
https://stackoverflow.com/questions/59092779/has-php-7-4-broken-fgetsstdin
PHPのバグっぽいですね?
ちょうどPHP7.4にしたのでそれのせいだったようです
最新の7.4.11にしたら問題なくなりました テキストファイル保存して適宜読み込もうと思ってる
テキストファイルのコンテンツは1行のものもあれば複数行のものもある
うまい具合に混在させるにはどういう仕様にしたらいいかな?
ぱっとおもいついたのは次のような書式
AAA
BBB
CCC
[multi1]
DDD
EEE
[/multi1]
FFF
GGG
[multi2]
HHH
III
JJJ
[/multi2]
KKK
これより優れた書式ってあると思う? >>291
csv tsv xml json 好きなの選べ >>291
いくらでもあるが
思ったら既に挙げられてるか jsonはねぇ・・・
見やすいことは見やすいんだけど
いざ手書きで記述するとなると括弧が結構面倒くさくて 全部単行にして複数行へは実態への参照だけ置くとかもあるね
用途次第かなと Worldwide, Nov 2020 compared to a year ago:
Rank
Change Language Share Trend
1 Python 30.8 % +1.8 %
2 Java 16.79 % -2.3 %
3 JavaScript 8.37 % +0.3 %
4 C# 6.42 % -0.9 %
5 PHP 5.92 % -0.2 %
6 C/C++ 5.78 % -0.2 %
7 R 4.16 % +0.4 %
8 Objective-C 3.57 % +1.0 %
9 Swift 2.29 % -0.2 %
10 TypeScript PHP8とLibreSSLって相性悪い?
makeしたらOPENSSLでエラー
ソースコードopenssl.cでLibreSSLを除外するよう、イジったらmake testでエラー >>291
単に改行を含みたいだけならシングルカラムのcsvでいいと思いますよ phpとpythonはどっちがつおいですか?(´・ω・`)c とうとうPython環境作りましたけどPHPと同じことするんだったらちょっとつまらないです もうそろそろPHPカンファレンス2020が始まりますな
視聴しよう 最近のPHPって引数や返り値の型指定できんのに
オーバーロードはまだ使えないのね(まだっていうか一生使えないのだろうが)
同じ関数名でいいのに関数名考えるのがめんどくさいし盛りすぎてださくなるわー
もう少しだけ賢くなってくれえ そっちの方向に行きすぎるとC言語でいいじゃん、ってなってしまう
適度な中庸が肝心よ strpos(string $haystack, string $needle)
変な引数名だよなこれ >>306
7.4でようやくプリミティブ型の指定に対応したばっかだし、まだまだ先だろうな。
>>307
Cにオーバーロードなんて無いが…? 干し草の中から金の針を探すっちゅうやつやろ
別に変だとは思わないけど引数の順番をなんとかしろは5万年前から言われてるな strpos(string $string, string $search) string.search(searchstr) return int position phpunitでモックを使う方法について、
なんかいい感じに解説してる記事ない?
電子書籍でも可 そもそもモックを使う意味からして分かってないんよ
モックってクラスにある実際の関数が動くものかと思ってたら
調べてみると関数だけあっても中身は空になってしまうみたいで
じゃあモックを使ったら何をテストできるのかってのが
全く分からん
というわけで、モックを使う意味からして解説してくれている
書が必要なのです >>316
今テストしたくない関数をモックにするんだよ >>317
テストしたい関数の中で使われている関数をモックにする
という理解でええ? >>319
なるほどなぁ
何でモックと呼ばれてるのかようやく分かったわ
ありがとう GETで指定したディレクトリの内容を読み取るスクリプトがあります
シングル/ダブルクオートやバックスラッシュが入ると
$_GETで取得した際スクリプト側で勝手にエスケープされるらしく
色々試したのですがstripcslashesでうまく取り除くことができました
それでエスケープ解除したこの文字列でディレクトリ検索をかけるわけですが
これら文字のエスケープを解除して検索することで
何かセキュリティでまずくなるようなおそれってありますか?
CRUDでいうとRの機能しかありません
またファイルにアクセスできるわけでなくあくまでもプロパティの表示にとどめています
スクリプト側で指定したルートディレクトリから始まって
かつ../が入っていないといった感じにしてディレクトリトラバーサルは対処しています >>321
頑張ってるたあ思うけど、「頑張らなくても大丈夫」な方法を採った方がより良いよ
chrootをきちんと使うとか 質問させてください
リンク先がSSL対応してるか調べるにはどうしたら良いですか?
よろしくお願いします! >>323
httpsでアクセスして、応答があれば対応しています >>324
すみません、PHPのソースで教えてください >>326
レスありがとうございます
やはりcURLかfile_get_contentsですよね
でもそれでどうやってSSL対応を判別するのか?ググっても情報が出てきません...orz >>328
ソース付きでお願いします。
ちなみにSSL非対応でもhttpsでアクセスして応答あります。 PHPの公式Gitサーバーにハッキング被害--バックドアを仕掛けるコードが見つかる - CNET Japan
https://japan.cnet.com/article/35168549/ まぁ実害は皆無だろうな
これを機にGitHubに移行するっぽいし良かったんじゃね >>333
過去のも改変がないか今チェック中だそうだよ
証拠残しちゃうのはお粗末だったね
まあ証拠残さないでGit改変するのも大変そうやが gitの過去改変は無理だよね
無害なコミットに見せかけて紛れ込ませたウイルスが無いかってことじゃね 質問です。当方、プログラムのことは全くわからない人間です。
7年前に亡くなったはずの父からメールが届きました。
メールには「このメール読んでるってことは、俺死んだんだな。元気してるか?」
みたいなメッセージが書かれていました。
父は昔PHPというプログラム言語を使っていたらしいです。
そしてこの掲示板を見ていた形跡がありました。
この技術もPHPというプログラムを使ってできる事なのでしょうか? 申し訳ありません、初心者お断りの表記に気がつきませんでした。
上記の質問は無視していただいてOKです。
大変失礼しました。 ネタだろうがPHPでもできないことはないだろうなw 親父からのメールと判断したのはなんでだ?
もし既知のメアドが7年前の仕様のまま生きてるならそういうこともあるのだろうな
PHPの仕業の場合トリガーになったのは親父のPCの起動か
誰かがまだ生きてる親父のHPにアクセスしたか
(ほぼ有料の)cron使えるサーバを今日まで親父の死後も律儀に契約し続けたか いや、普通に考えて、
『一定時間ログインしなかった事』がトリガーだろw
つまり、七回忌を狙ったんだよ、本当に親父さんなら。 本当に親父さんのイタズラなら、メールヘッダ読んでみると
どこにイタズラ仕込んであったかは割と簡単に分かるかもな。
流石にそこは隠蔽しねぇだろ。 7年だろ?
Raspberry Pi が本棚の隅とかに鎮座しててもおかしくねぇんじゃねぇの? なんでこの話でメールヘッダやラズパイなんて単語が出てくるのやらw
頭固そう >>344
頭『悪い』のが、お前だよ。
前提条件、よくお前の頭で整理してみ? そんな事を考えなくても実現できるから頭がお固いなと言ってるだけね
よく居るんだよなー
大した能力もないくせに「知ったか」で色んな単語を出したがる奴が
本人にその自覚がないのが笑えるところ > そんな事を考えなくても実現できるから頭がお固いなと言ってるだけね
どうやって実現する? 7年前、という条件だけど、分かってるか?
おまえ、本物の馬鹿だろ? >>346 は『馬鹿すぎて、煙に巻いて逃げる』に、100ガバス。 おわっ! 本当に逃げたし
>>346 馬鹿過ぎだろwww 検索用のテキストボックスに「’」と入れて検索するとsyntacsエラーになるのですが、
これはSQLインジェクションの驚異にさらされているということでしょうか? >>350
はいそうです。
SQLインジェクションは大変恐ろしいのです。
備えよう PHP5.3あたりから前のバージョンとの差分を復習のために追ってみようと思ったけど
archive.orgには残ってるけど本家ではどんどん消されちゃうんだねえ
https://web.archive.org/web/20180216004439/https://www.php.net/manual/ja/migration54.php
https://www.php.net/manual/ja/migration54.php [404] 言語の問題でなく開発者の問題だな
もちろんPHPのコアに脆弱性があることもあるがそれを利用したものではない
PHPが狙われてるのは単に利用者が多いだけだし
他の言語含めて言語自体にそういったマルウェアに対応するプロテクトが備わってるわけじゃないので
状況はいつだって変わる >>353
それ、PHPの問題じゃなくてWordPress固有の問題。 WordPressの「固定ページの子ページ」でタグ付け可能にする方法を知っている方、教えて下さい。
■子ページとは
子ページは固定ページの一種。
親ページのスラッグが「oya」、子ページのスラッグが「ko」だった場合子ページのURLは「example.com/oya/ko/」になります
■「固定ページ」「固定ページの親ページ」でタグ付け可能にする方法
https://techmemo.biz...ge-category-tag-use/
■参考になりそうなサイト
https://wordpress.st...itle-of-a-child-page >>353=プログラミングが全くできない人だという事だけはよく分かるなw
問題の本質がまるで理解できていない お昼時にゴメンナサイ、よろしくお願いいたします
PHPのバージョンを 5.6.40 から 7.3.27 に上げたら↓がエラーするようになりました
【PHP文】
ループ
$hage[$id][0]=$row[name];
$hage[$id][1]=$row[age];
$id++;
ループ終わり
【エラーメッセージ】
arse error: syntax error, unexpected ',', expecting ']' in /home/xxxx >>359
未定義定数を勝手に文字列にする仕様ってPHP7だと廃止になったんだっけ? なるほど PHP7.2以降では E_WARNINGになんのか
あれ邪魔だったもんな php.netからメールがきて焦ったわ
10年前に出鱈目な英語でPHPのバグリポート送って
見てる人は何言ってんだコイツ?状態だったと思うんだけど
一応再現できるコード書いといたから当時誰かが試してくれたのか
1票イイネ的なもの押してくれたのだがそれっきり10年経って
今更になってリプライがついて俺はどうしたらいいんだw
それによると今のバージョンでは再現しないとのことらしい >>363
問題のコードが消えてなくなるまで辛抱強く待ってたのか
案外せこい連中だ 質問させてください
このコードがエラーになるのですが解決方法ありますか?
return ($binary{0} == "0" ? bindec($binary) : 釣りなのか知らんけど釣りじゃないならエラーメッセージくらい貼りなよ エラー貼らなきゃわからん問題じゃねぇだろ。
三項演算子 a = b ? c : d ; の形になってない。
意味は、
if(b) { a = c } else { a = d}
else { a = d } の部分がない。
つまり、 : 〜 ; が必要。 return ($binary{0} == "0") ? bindec($binary) : hogehage ;
の hogehage が必要という意味。 ? の前の綴じ括弧は補完した。 失礼しました
エラーメッセージはこれです
↓
Deprecated: Array and string offset access syntax with curly braces is deprecated in ちなみにソースコードはこのページの18行目です
https://gist.github.com/hm2k/2690037
PHPをバージョンアップした後にエラーが出たので
ソースコードを弄ればエラー解消すると思うのですが、どうでしょうか?
ご教授お願いします。 >>371
すみません、わかりません、当方初心者です >>372
別人ですが、
$binary{0}
のように波括弧で配列のキーを書くことができたのはphp7までで、php8ではエラーになります。
php8では
$binary[0]
↑
波括弧ではない。[0] >>373
なるほど、そういうことでしたか!
ありがとうございました! エラーメッセージに思いっきりそのまま書いてあるじゃないか >>377
ほらよ
非推奨: 配列と文字列の添字に波括弧を使うことは非推奨になりました >>378
そんな上手に訳せるとはあなた頭いいですね! 簡単なお問い合わせフォームだけというありそうでなかった依頼が来たんだけど
素のPHPでゼロから作るとテンプレートエンジンとかバリデーションとかめんどくさいので、何か向いてる極小なフレームワークないだろうか めんどくさいってほどめんどくさくないだろ
html部を除けば1時間で終わる
そんなFWの選定やらよくわからんものの使用方法学ぶよりさっさと作っておしまい セキュリティ的にある程度しっかりしたことしようと思ったら面倒じゃない?
適当に作ったら絶対抜けがあるし お問い合わせフォームで本当にめんどくさいのは
「お客さんから確認メールが届かないって苦情が来てるんだけど…」
だよ。 それ単に迷惑フォルダに入っているだけでは?と回答して終了じゃない? 問い合わせフォーム程度のセキュリティなんざたかが知れてるのだが
普段からフレームワークに頼りきってると難しいのかな 難しくはないよ、めんどくさいだけ
バリデーションとかCSRF用トークンとか今更自分で書きたくない 問い合わせフォームのセキュリティって、SPAM対策じゃないの?
バリデーションとかトークン生成より、そっちのほうが全然めんどくさいと思うけど >>387
だったらそこだけZendFrameworkでも使えば?
軽量フレームワークっていうと定番はCodelginiterかSlimだろうけど
それを使うまでもない
つか金曜日に質問して月曜日になってもまだ作れてないのに笑うw
こんなもん小一時間で作って時給○万円のお仕事あざーっす!ってもんだろうに てか、PHP勉強する時にある程度フォーム関係のことは学ぶだろ
その時のデータはないのかよ
基礎学習せずにいきなりフレームーワーク使うほうが怖いだろ その気になれば作り込みは普通にできるけど
自分で作ると抜けもあるから 出来合いのものを使いたい
なんかいいやつなーい? という話では?
お前が使っててお勧めするものを信頼したいという気持ち
大事にしたいよね スパム対策はリキャプチャ入れて終了だと思ってたけど、何か忘れてるかな
ていうかやりきろうと思っても終わりのないものだし、どこまでやるかだけど >>391
そもそもフレームワークも自分で設定しないと使えないぞ
あくまで道具を用意されてるだけで、それで組み立てるのには知識が必要 >>390
どういうことだ?初心者の学習時に作ったコードを本番で使えと? >>389
もちろんその気になればすぐ作れるけどさ、車輪の再発明みたいなことあんまりやりたくないなーと思ったのと
こういう時みんなどうしてるのかなーと思って
普段はFW使わない案件なんてないし、ここまでシンプルな依頼10年以上やってて初めてだったから
見積もまだ通ってないから着手まで検討できる時間あるし、でもまあこの流れならFW使わずに自作かなあ >>394
学習って書いたろ。そのまま使えって一切書いてないぞ >>395
俺も同じ考えしてたが、結論としては車輪の再発明でも
”今”正しいと思うことをするべきだ
ピュアPHPだけの方が正しいと思えば再発明でも作り直せばいいし、
それだと時間がかかると思うなら、どんな規模でもFWを使えばいい。
仕事で大切なのはクライアントの希望通りの物を提供することであり
開発の理念や価値観は関係ない >>395
codeigniter やろうぜ
本当は fuelphp をお勧めしたいけど、お勧めできない codeigniterってライセンス問題は解決したの?ググらず聞いてすまないが >>399
したよ
ドキュメントの日本語翻訳はグダグダのままだったと思うけど マイクロフレームワークの需要ってあると思うんだけど、
世に出てるものって、たいていややこしいよな。Slimとか 欲しい機能を集約、自由に好きなようにカスタマイズするのに、
10年ぐらい前フリーランスやってたころは自家製の超軽量フレームワーク作ってやってたな。
クライアントはその後移行に苦労しただろうがね。 俺も自家製作ってたけど、カスタマイズが必要ない一点物だったな
(フォームとか、カレンダーとか、画像集みたいな 簡単なものならフレームワークと言うほどのものは要らないけど
最近はどんなに簡単なものでもLaravelにしているわ
やっぱり多くの人が使っているものを使う方が安泰な気がする
composer使えて、テンプレートエンジン(Smarty、Twigなど)ぐらいは導入するけど
DBはPDOでアクセスみたいなのを大昔は採用してた フレームワークもテンプレートエンジンも使わず、1つのPHPソース内にロジックもビューも
ごちゃごちゃに書いてあるWebシステムをメンテしてます。
PDOも使っておらずDBのネイティブ関数を使ってるし。 Laravelスレや5ちゃん以外の掲示板でも似たような質問したことがあるけど、
そのときも「どんなに小さなものでもフレームワークを使うべき」って言われたな
今はファイルサイズで困ることはないし、極端に重くなるわけじゃないからな 別に使わなくてもいいよ
どうせ誰かと共用するコードじゃないんだから むしろフレームワークで納品したら、蔵が設置できなくて終わると思うw
composerとか使えると思えない 誰かと共用しなくても自分とは共用するだろ
いくら自作でも数年前に作ったものなんて覚えてないぞ >>409
普通にファイルをZIPで圧縮して渡すだけじゃないのか? だからそれを受け取った蔵が鯖にデプロイできないってことだよ まぁサーバ案件まで一緒に取ってこれないのは無能の証拠でもある >>410
それFW使ってようが同じこといえね?
自分で書いたコードが何やってるかわからないなんてそらねーわw 俺もやったことあるけど、売るだけってパターンはしんどいぞ
知識あるクライアントばかりじゃないから、サポートの負担が増える
サーバ設置まで込みで受けたほうがよっぽど楽だよ 鯖関係全然わからんPHPプログラマも多いみたいで
同業の蔵からそいつらが開発したLaravelのデプロイだけ頼まれたことあるわw
アホらしすぎて見積いくら取ったら良いかだけ困ったわ >>420
そういうの頼んだことあるわ
自分でやってやれないことはないけど、ちゃんと金を払ったら
どういう観点でテストとか調査とかするのか知りたかったので
あえて頼んでみた。
気付いてなかった点とかやたら洗い出せてめっちゃ役立ったし 鯖案件まで一緒に引っ張ってこれないと、その場限りの仕事になるからなぁ
ましてやフリーを名乗っていて(まぁ実際はただのバイトレベルでしょw)鯖ができないとか無能以外の何者でもない もともとの380はクラウドワークスとかの話っぽく見えたw
もし看板(HPで受注)上げて見積り依頼受けたとしたら恐ろしい綱渡りやってんだなと 複数のログインなどが必要なサイトにアクセスするための情報群をサーバにおいて
PHPからその情報を使ってアクセスします
この情報は本当に人に見られて悪用されたらまずいレベルのものなのですが
PHPから重要情報にアクセス可能な方法で重要情報の最適な隠蔽方法を教えて下さい 明らかにヤバいことしてるのに、そのことに気づいてないアホっているよな 一生懸命にガッタガタの車輪を作ろうとしてる様にみえる サンプルなんかではスクリプト中に書いてるんですが本当にそれでいいんですかねえ…
サーバがバグってphpがtextやらダウンロード可能なものとして表示されるようなことがなければいいのですが 例えばwebサーバーのbasic認証のユーザーとパスワードが書かれたファイルってどこに置いてる? サーバがバグるってなんやねんw
勝手にバグるんじゃなくて、バグらせるからバグるんだろ 自信ないならやるな
もしくは対価払って知識ある人に頼め ようはサーバ含めて外部のソフトウェアが信頼しきれないということに帰結してしまいそうなので
みんなそういうのを信頼して使ってるということで自分も気にしないことにしますね 少なくとも自分が完璧だって思って作った成果物よりもバグや不具合は無いと思って使ってる
例えば自分が作ったプログラムがnginxより完成度が高いとはとても考える事ができない
だからその部分を心配するよりも自分の能力を上げる方に頭を使う様にしてる >>424
426に一票。
ネットの怖さを知っている人ほど426を推すと思う。
433の気持ちもわかるけど。 PHPを勉強している者です。
教えてください。
あるページで、<a href="php/mkKobetsuP.php?id=100">個別ページに移動</a>として、
個別ページへのリンクが書いてあるとします。
mkKobetsuP.phpには、データベースに接続して必要情報を取得してhtml文書を生成するコードが書いてあります。
できれば、最初のページにあるリンクを、<a href="php/mkKobetsuP.php#bikou?id=100">のように、
name属性まで指定したいのですが、うまくいきません。
個別ページの内容じたいname属性も含めて、phpでこれから生成するのに、そのまえにname属性まで
リンク先に指定するのは可能なんでしょうか?
こういうことをやりたいという発想じたいセンス悪いでしょうか? >>434
横だが433は
424から感じる超初心者特有の「俺が間違えるはずがない」という馬鹿な思いこみを嗜めてるだけだぞ。 >>434
ヤバいのレベルにもよると思うんだけど
自分が想定してたものって
AWSの認証キーとか複数サイトに対してログインする際に必要な情報で
その情報がサーバーとかのバグで閲覧可能にならないか?って事に対しての返答だけど
その手の情報も置かない感じ? そのサーバによりけりでは?
ぶっちゃけ、何があっても責任とれるなら置けばいい ECサイトのクレカ決済代行に必要なアクセストークンはどこに保存するの 認証情報はセッション変数にセットしとけばいいじゃない。セッションが続く限り保持されるしセッション切れれば消える。 自分が作ったプログラムが取られたくない場合はどうしたらいいですか? >>443
ローカル環境で開発して、ローカル環境で運用
てか、プログラム取られるって何を想定してるの?
一人で鯖借りるなりしたら普通は取られることないでしょ >>445
>>437 に対して>>438 って書かれたからなんだよね 物事は常に最悪の事態を想定しておくべき
ど素人がどうやったら取られる、取られないとかそんなことを考えても意味がない
技術があって悪意のあるやつにはかなわない
盗まれて困るもの、責任取れないものはとにかく置かない
盗まれても困らない、責任取れるものなら置いとけば良い
シンプルに考えようよ >>435です。
質問を取り下げます。お邪魔しました。 php5.5のシステムを7.4に移行することになりマニュアルを読んでいます
https://www.php.net/manual/ja/migration70.incompatible.php
> 値渡しの foreach は、配列のコピーを使って操作を進める
どのようなコードが下位互換がないコードに該当するか教えていただけないでしょうか >>451
値渡しの foreach は挙動に変更無いように見えるね
なんで記述があるんだろ。わからん >>452
具体的な例がないまま、参照渡しの話になっているかと
参照渡しのほうは新旧での挙動の違いは理解できましたが、値渡しのほうがわからないのです 手元の環境で試してみればよくね?
1分もあれば結論分かる >>455
試すためのコード例と出力結果の記載がないので、どのようなコードであれば試せますか?という質問です 値渡しにして中で配列いじって試せば良いだけじゃん…
そんなんで本当に移行作業なんかできるの?
てか、まずはPHP7の開発環境作って、そこで実際のソースコード置いて試すのが一番早い >>457
試せば良いだけ、のコードがわからないので質問しているのです
>>453 さんにしか質問が伝わっていないのかな >>458
> デフォルトの値渡しモードの場合の foreach は、 配列そのものではなくそのコピーを使って反復処理を進めるようになりました。 つまり、処理中に配列を書き換えた場合でも、反復処理の対象となる値には影響が及びません。
確実じゃないから間違えてたら申し訳ないのだけれど
内部的に仕様がこうなりましたって報告の為に書いてるだけじゃないかな?
5.6と7.4で何パターンか試してみたけど違いは無さそうだったよ php7は独学では無理みたいだからまだphp5.6使ってるわ
php7使うにはコンサルタント必要で
コンサルタントにカモられるだけや 最近5.6以来8をみたら俺の知ってるphpじゃなかった
別の言語だろ >>464
そやね
随分型に拘れるようになった
おれも結構ビビってるw 型意識するとやたらキャストの多い汚いコードになっちまうのだが >>459
ありがとうございます
挙動に違いがないならわざわざ下位互換性のない変更点として記載するのはおかしいしなぁとも思ったりもやもやしています foreachで参照使ったときにおかしなことになるやつって
直ったの? それとも仕様扱いでそのまま? >>466
きちんと型を意識しているなら、キャストの回数は激減するよ
ソースは俺 >>468
横だがそれはその上の
> foreach は内部の配列ポインタを変更しない
の説明だろう。ただし結果は意味不明だが。
(php.netの方の結果は理解出来る) laravelでcsv読み込みがうまくいきません
csvファイルや実行ソース、出力結果については以下の通りです
どなたか対処方法わかる方は教えてください
・csvファイルの内容[C:\hope.csv]
希,望
・tinkerで以下を入力
$file = new SplFileObject("C:\\hope.csv");
$file->setFlags(\SplFileObject::READ_CSV |\SplFileObject::READ_AHEAD |\SplFileObject::SKIP_EMPTY);
$collection = collect($file);
$collection // 配列を出力
・理想の出力結果
["希","望"]
・実際の出力結果
["希,望"] そのcsvが本当に1行なのかどうかは知らないけど複数行と過程して
file()で読み込んだのをforeachして1行ずつexplode()したの返せばいいんじゃね
csvが長くなるようならジェネレーター使ってな >>474
他の文字はちゃんと分かれるんですが
なぜか希,望だけカンマが認識されないんです 文字コード処理の話じゃないの?
「SplFileObject 文字コード」 一気に解決しようとせずに切り分けて調べなさい
原因切り分けのためのシンプルなcsvファイルを別に作って
一つ一つ原因を確かめていけばわかるでしょ
文字コードなのか改行コードなのか知らんけど、
自分の環境で起きることは他人の環境でおきるとは限らない
人に聞いても無駄なこともある オープンソースのライブラリ作ってるんだけど、
PHPUnitのコードカバレージHTMLレポートも含めるもんかね? 含めないもんかね? csvはカンマで分割した時に最後の箇所に改行コードが入って動作しない経験あり。
だからtrim()する。 MacのExcelで作ったCSVなのか、サーバサイドのエンジニアがダメなのかしらんけど、
たまにCR単体が入ってるCSVがあって、
PHPのパーサで正常にパース出来ないケースがあったなぁ…。
Microsoftはやらかすから、どっちが悪いのかは知らない。
RFC 4180ではCSVの改行コードはCRLFと決まっている。 世界的にはPHPは完全にPythonに食われちまったようだけど
日本でPythonっていうほどWebでは流行ってないよね 元々、PHPはHTMLテンプレートエンジンだったのが便利なので機能拡張された結果、
WEBしかできないプログラミング言語化し、
更に使われまくった結果、GUI以外なら大抵なんでも出来る言語化したのがPHP。 Web専門言語として良いんじゃねーの
Pythonは機械学習とかそっちだろ http://www.saitama-np.co.jp/ad/
埼玉新聞ひでえなあ
htmlにしてるからphpのソース丸見え
>>428あたりの話題が頭をよぎったがどう見ても人為ミスだし phpのソースじゃなくてJavaScriptのソースでは?
で、JavaScriptのソースなら見えてもいいんじゃねぇの? 見えているのはPHPだけど割とどうでもいい内容だね。
これって開始タグ忘れ? パスワードって文字列見えるし、下手すると大事故になってた可能性もある もう使ってなさそうだけどいつまでも醜態晒してるのか
醜態キャッシュされてもう手遅れだけどさっさと消せばいいのに vscode使ってるんですが
VueRouterを使用しようとすると画像のようなエラーが表示されてしまいます
原因はなんでしょうか?どうすればエラーがなくなるんでしょうか?
(拡張機能はVeturを使用していますがVeturをアンインストールしないとだめでしょうか?)
http://www.grondement.com/uploda/src/file221.png windows10でデスクトップにおいた
ファイルに文字列を書き込むhoge.phpを起動したいのですが
[hoge.php]
file_put_contents('hoge', 'hoge.txt');
cmdから
cd c:\users\oreore\desktop
php hoge.php
と打つとpermission deniedで書き込むことが出来ません
phpはc:\phpに置いてるものにpathを通してあります。
管理者権限でcmdを起動しても、あらかじめhoge.txtを用意しても変わりません。
あらかじめ用意したhoge.txtのプロパティのセキュリティのアクセス許可を見ると、
特殊なアクセス許可以外は全て書き込みを含めて許可にチェックがついています。
またis_writableでもtrueがか返ってくるのですが、実際書き込みをしようとするとpermission deniedが出ます。
どこをどうしたら書き込めるようになるでしょうか?
windows10は1ヶ月前にクリーンインストールして最新の状態です。 失礼しました。
新規インストール後いれたウイルス対策ソフト(アバスト)が原因だったようです。
シールドを無効化したら動くようになりました。 vscode使いたいんだけど、ESETさんからお叱り受けるから使えない
代わりにDreamweaver使ってるけど、プログラミングには不向きですよね・・・ >>498
ESET NOD32アンチウイルス && VScodeでPHP書いてますよ。 @入力画面→A確認画面→B登録完了 という画面遷移を作りたいんですが、
入力した値を登録完了画面まで引き渡したり、確認画面から入力画面に戻ったとき入力値を戻したりしたいです。
このような画面間でのパラメータの引き渡しについて、良い方法を教えてください。
セッションで引き渡すのが良いのか?
<input type=hidden>が良いのか?
それともURLにパラメータを付加し、$_GETで取得できるようにするのが良いのか?
A→Bは <input type=hidden>にし、A→@は$_GETにするなど、場合により使い分ける?
諸先輩方、宜しくご教授をお願いします。 >>502
> 確認画面から入力画面に戻ったとき入力値を戻したりしたいです。
「戻る」ボタン等を作って戻すならどっちでもいい
ブラウザの機能で戻る場合はどっちも関係ない。関係するのはブラウザの仕様
session と hiddeen の使い分けは、大抵の場合、バリデーションの取り扱い
けど、それもぶっちゃけどっちでもいい
そんなことより、CSRF 対策やダブルサブミットの方を気にしようぜぃ そういうめっちゃ基本的な部分、いつの間にか何も考えず正しく実装できるようになってたけどあらためて自分はどうやってんだっけ?と考えてみた
最近超適当に作ったのは
入力画面は入力画面にPOSTするフォームで、GETなら空フォーム表示のみ、入力画面からのPOSTなら
バリデーションエラーあり→赤文字出して入力値付きフォーム表示
バリデーションOK→確認画面表示
確認画面からも入力画面にPOSTして、確認画面からのPOSTならDB登録等の処理をして完了画面にリダイレクト
って感じだった
これにCSRF対策用トークンと、二重サブミット防止用JavaScriptを追加して完成
確認画面から戻るボタンはonclick="history.back();"で問題なく動いた history.back();では、POSTの元画面に戻るときブラウザで再表示させないとダメなので常に使えるわけじゃない。
また、入力画面を複数回表示させてから確認画面、登録画面にすすむ場合なども悩む。
例えば、
@購入商品の選択画面→A個人情報の入力画面→B送付先の選択画面→C確認画面→D登録画面
など。
この場合、全部の画面で input type=hidden で入力値を引き渡して遷移するのは綺麗じゃない。
たとえば@の画面に入力項目を追加したら、それを各画面に引き渡すためABCDを書き換えなきゃならない。
綺麗に書ける方法や常套手段があれば教えてほしいです。 >>506
その手のやつの最近の動向には、「画面遷移させない」ってのもある
全部モーダルとか、SPA的な処理とかにしてしまう >>507
そうするとブラウザの戻るで関係ないページに戻ってしまう SPAやモーダルはブラウザの戻るやリロードと本当に相性がよくない
スマホアプリ的な操作感が必要な場合などを除いて、普通のフォームで使うのは禁止すべき javascriptでスレチになっちゃうけど
onBeforeUnloadでconfirm出すのが正解じゃないの
戻るにもリロードにも有効だと思う >>506
処理を間違えると無限ループになるけどpost→入力値検証→問題があればそのpostの内容を
フォームの入力欄にechoしてエラー内容も一緒に出す。
前の画面に戻るのではなく、新しい画面にpostの内容を出す。
ただし、エラー→新しい入力画面にポストの内容→エラー→また新しい画面にポストの内容になるような
書き方をするとそこで無限ループになる。 >>510
ブラウザ毎に挙動が違う
そもそも目的が違う >>510
履歴を消して戻るボタンを押したくらいじゃ戻れんようにした方がいい
それでも戻るやつは気にする必要ない
(セキュリティの穴だけ潰しとく必要はあるが) 昔仕事でブラウザゲー作ってた時は戻る・リロード・URL直叩きなどのチート対策にガチガチに気を使って
全ページセッション管理してワンタイムトークン仕込んで、同じページは二度と表示できないようにとかしてたな こんにちは、よろしくお願いします。
cookie や URLパラメータ の キー名 を数字のみにするのって有りですか無しですか?
変数名だと先頭に数字が使えない規則があるらしいので気になりました。
実際にキー名数字のみで使えなくないことはわかるのですが、
普段目にするURLパラメータでキー名を数字にしているサイトってないような気がします >>516
デバッグくそしづらいだけなので、本人が気にしなければ有りです 英字だと$_GET["a"]って連想配列になるのに対して、数字だと$_GET[0]と普通の配列になる
ちょっとだけパフォーマンスがよくなる感じ?他に最適化するところがあるだろと怒られそうですがw phpの配列は鬼門だから数値なのか文字列なのか不明確な場合はバグの温床になるのでやめとけ URLで渡されるものはすべて文字列だし厳密には$_GET[0]ではなく$_GET['0'] 使う側が知ってればバグの温床にはならないがまあ知らん人もいるからやめとけってのはわかる laravelについて教えてください。
以下のようなリレーションの際にAからDの値を取得するにはどうしたらいいですか?ちなみにbelongsToManyではうまくとれませんでした。どなたかよろしくおねがいします
AとBは1対多
BとCは1対1
CとDは多対1 >>523
おまえいろんなスレで同じ質問してんじゃねえよ >>523
フレームワークの話はスレチでは?
teratailとかで質問してみては PHP7にしたらeregがDEPRECATEDで対応しないといけないんだけど、mb_eregに置換するだけでいいのでしょうか?
ぐぐると皆preg_matchに置き換えてるみたいだけどそれだと引数も変えないといけなくなるので >>527
preg_match()でいいのでは?今時mb系の関数とか使わないような >>528
preg_matchだと引数で与えるパターンをちょっと変えないといけない(ミスると当然バグるから動作テストも必要)
mb_eregなら関数名を一括置換するだけで良い
なら少なくとも短期的には後者でよくない?って話
中規模以上のシステムで、eregがあちこちにたくさん使われてる前提の話で カウントする $i がもう一つ欲しくなった時はどうしてますか?
$i2 とか $ii じゃ、かっこ悪い気がして困ってます $j,$kとアルファベット順に進めるのが良くあるケースだが
最初から$iは辞めて$x,$yとかでもいいけど(座標や二次元配列ならこっちの方が分かりやすい) $iとか使ってんのダセー
配列操作ならforeachとか使えよ >>534
連続していることを保証したインデックスが欲しいときもあるよね ループ変数の名前を聞いてくるような初心者さんはお断りよ! 逆に初心者じゃねえだろ
40年前からBASICやC書いてるベテランかもしれん PHP8にするタイミングっていつがいいの?
まだ7使ってるんだけど このWebサイト古臭いなと思う拡張子
htm, cgi, pl, rb, do, jsp, asp, aspx, php そもそも拡張子(というかファイル名)をそのままURLにしている時点で古いというか
フレームワークなど使っていればルーティングの処理があるだろうし自前でやるにしても
この辺はルーティング処理入れるよなw ルーティング処理はパフォーマンスに影響出るからな
そうせざるを得ないFWなら仕方ないにしても
オプションで使うのは格好つけてるように見える >>541
strutsがそうなんじゃなかったっけ >>534
foreach($arr as $i =>$val){
if($val==='hoge'){
break;
}
}
var_dump($i);//hogeが見つかった配列のキー 全部を検索するとかなら配列でもforeachでいいけど
for使う時は全部では無く一部とかそういう用途の時だろうね foreachのほうがforより出来る事が多い
○配列の添字が文字になってる連想配列でもできる
○数字添字が途中抜けていてもエラーにならない こんばんはいつもお世話なります
mysqlに名簿のようなテーブルがあり、name列に"山田,太郎"みたいにカンマで姓と名が同じ列にあるとします
そのテーブルをまるっと読み込んでJSON形式にパースしようとしていますが
姓と名を切り分けて別の列として整形したいのです
select文イッパツでやれたりするものですかね
それとも先にDB内に子テーブルを作っておくものでしょうけ
以上よろしくおねがいします >>548
substringかsubstring_index使えば分割は出来るけどそれじゃダメなの? >>549
それはテーブルには手をつけずに、値を使用する時に分割する方針てことですよね
まあそれでもいいんですよね結局のところ $file_name = 'hoge.csv';
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.iconv.UTF-8/CP932//TRANSLIT', STREAM_FILTER_WRITE);
for($i=0;$i<5;$i++) {
//すごく長い文字列を入れてみるテスト
$arr[] = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
}
for($j=0;$j<10;$j++) {
fputcsv($fp,$arr,',','"');
}
fclose($fp);
header('Content-Type: application/octet-stream');
header("Content-Disposition: attachment; filename={$file_name}");
header('Content-Transfer-Encoding: binary');
exit;
上記を実行すると、csvがダウンロードされず、画面上で本来CSVに入るべき配列が文字列として表示されてしまいます
$arr に入っている文字列が短い時や、$j の数が少ない時にはCSVになるのですが・・・
何か制限などがあるのでしょうか?解決方法があればご教示いただけませんでしょうか >>551
いろいろコツがあると思うけど
たとえばphp.iniファイルの初期設定でoutput_bufferingをONにしないといけないかもですね
あとはほぼほぼheaderの書き方だけですよ
Content-type:application/force-download
とか試したら これにページネーション付けるにはどうしたらいいですか?
global $wpdb;
$rows = $wpdb->get_results("select id,name from t1");
ob_start();
$result = "<table><tr><th>id</th>name<th></tr></thead>";
foreach($rows as $row){
$result .= '<tr><th>' . $row->id .'</th><th>' . $row->name .'</th></tr>';
}
$result .= "</table>";
print $result;
return ob_get_clean();
} 俺今でもこんなコード書いてるけど…
今風に直したらどんな風になるの? 今風というよりはテンプレートエンジンくらいは使った方がスマートじゃね?
って話かと 何それ?コピペマンだから初めて聞いたわ。
553を改造したらどうなるんやろ twigならこんな感じじゃね?適当に書いてるのとタグは多少修正したがw
sample.twig
<html>
<head></head>
<body>
<table><thead><tr><th>id</th><th>name</tr></thead>
<tbody>
{% for row in rows %}
<tr><th>{{ row.id }}</th><th>{{ row.name }}</th></tr>
{% endfor %}
</tbody></table>
</body>
</html>
sample.php(composerで予めtwigを導入すべし)
require_once 'vendor/autoload.php';
$loader = new Twig_Loader_Filesystem('.');
$twig = new Twig_Environment($loader);
$template = $twig->loadTemplate('sample.twig');
// このDBの部分はそのまま書いただけだから内容は知らんw
global $wpdb;
$rows = $wpdb->get_results("select id,name from t1");
echo $template->render(['rows' => $rows]); 553は多分wordpressをカスタマイズしたいんだと思うよ
泥臭い事になるのはしょうがない >>553が古臭いていう意味がわからない
perlとphpの作法の違いくらいのものだろ
どちらが良い悪いじゃないやろ だいたいなんだよテンプレートエンジンて...
ただの外部ライブラリのことじゃないのか
そんな他人のフンドシで仕事して恥ずかしくないのか テンプレートエンジンを知らん人が2021年にこのスレに現れる驚き
別に煽りじゃなくて WordPressだけ触ってるとかならありえるのかもね
あれ、テンプレートエンジンと猛烈に相性悪いでしょ >>563
それを言ったらPHP自体も他人のフンドシなのだが・・・w
当然Wordpressもねw >>563だけど
XMLとXSLTていう標準仕様がありきやろが
おまえらjsライブラリを作る側になれないぞ
だから日本は後進国なんだぞ システム屋で構築するならテンプレートエンジンも使うだろうが
個人で小規模ポチポチ開発なんかエンジン使ったら管理項目増えるだけ 昔、coldfusionて製品があってだな
PHPがそのアイデアを丸パクリしやがったんだぜ
だから敬意をはらっめ俺はまだcoldfusionで仕事をしている テンプレートエンジン使わずにどうやって管理する気なんだろ
本気で>>553みたいにPHPでHTMLの文字列生成してprintするつもりなのかw
そんな原始時代に戻りたくないだろ 個人でもテンプレートエンジンぐらいは使った方がやっぱりスッキリすると思うよ
view と controllerは分けた方がいいと言う基礎的な部分でもあるし
modelについては、フレームワークでも使わない限りは分離する程でもないだろうが twig使う人って、フレームワークは何使ってるの? プログラム中にHTMLタグを書いちゃうようなコードはメンテ不可能になるって、20年前PerlでCGIを書いてた頃に思い知ったはずだろ… smartyでもbladeでも別になんでもいいけど、テンプレートエンジン単体で使うならtwigかな
普段はLaravel使いなのだが、最近はAPIのみになってきたので
フロントはVue.jsでやってる >>573
perlでは20世紀からテンプレートエンジンは当たり前に使われていたぞ そうでもないやろ
おまいら拡張性だメンテ性だといいながらも
結局全部作り直しとるやん
新しいライブラリに目移りしとるからやぞ 今ならwordpressかlaravelが使われることが多いわけで
これらでよく使われる書き方なら古いってことはなく主流だろう >>575
今ほど当たり前には使われてなかったぞ
少なくとも俺は存在知らなかった >>577
LaravelはまだしもWPは古い
クソレガシーのお手本みたいな反面教師だわ、ネタとして以外で絶対触りたくない 単色だとテンプレートエンジンの方が見やすいが
エディタで自動配色された後ならたいして変わらんだろ そういう問題ではないのでは
つーかここ初心者ありだっけ? どっかで同じ内容のコードをPHP8.1と歴代のPHPで書き比べているのを見たが5や7どころか8と比べても8.1はシンプルにコード書けるようになってた
新しいかどうかで言うなら8.1準拠かどうかの方が重要かと 公共工事や、民間でもうるさいところ(パチンコ組込など)はすべてのソースにコメントつけて印刷して提出し精査される。
未使用の関数を置きっぱなしにすることは不可。
だからよくわからない外部ファイルをインクルードすること自体が不可。
結局、perlでゴリゴリ書いた方が早くなる テンプレートエンジンを使用しないとechoでHTMLを出力する事になるという認識を持っている人がいるけど
PHP埋め込みのHTMLファイルをincludeするだけでほとんど変わらない書き方はできる。 PHP埋め込みのHTML
<a href=”<?=h($foo)?>” target=”_blank”>bar</a>
blade
<a href=”{{$baz}}” target=”_blank”>baz</a>
半角でコードを書くと投稿できないので、全角に。 [hoge.tmpl]
<p>hello {$name}</p>
<ul>
{foreach $list}
<li>{$key}:{$value}</li>
{/foreach}
</ul>
[hoge.php]
require_once 'template.php';
$tmpl = new Template('hoge.tmpl');
$tmpl->assign('name', 'うんこまん');
$tmpl->assign('list', ['a'=>'b', 'c'=>'d']);
$tmpl->render();
template.php
独自書式をパースして変数セットしてhtmlに出力するクラス
だいたいこんな仕組みっすよ テンプレートエンジンを使ったら?
という話の元になったコードは、変数内にHTMLを入れて、それを.=でつなぎ、変数とHTMLが入ったものを
printしていた。
foreach($rows as $row){
$result .= '<tr><th>' . $row->id .'</th><th>' . $row->name .'</th></tr>';
}
$result .= "</table>";
print $result; >>585
ほとんど変わらないと思うやん?
やってみると破綻するんだなこれが
知らんという事は初心者なんだろうが中級者以上の人ならわかると思う それで「これむちゃ便利やん!!」とかテンプレートエンジンに頼っていくと
バージョンアップやらに巻き込まれて余計手間かかるっていうドツボにハマるまでがプログラマーのテンプレ コードの貼り付けはpastebinを使えばいいのに >>591
あるあるだな
自分がいいと思っててもいまいち流行らずに廃れちゃったり
その後数年経ってから見るともう忘れちゃってたりな PHPのテンプレートエンジンみたいな枯れた物に何言ってんだよ… htmltemplate.incという日本発の古いテンプレートエンジンを使ったものを
別のテンプレートエンジンに大変な思いをしながら載せ替えて、
でも、この新しいテンプレートエンジン、マイナーだし個人が作っているし消えたらどうしよう。
じゃ、Smartyに。twig?いや、blade?
でも、bladeもバージョンが変わると動かなくなったりしますよね?
PHP埋め込みのテンプレートならPHPのバージョンがあがっても動くようにメンテするだけ!
決定!
いまこのあたりです。
PHP本体とテンプレートは完全に別ファイルだし、bladeで書いたバージョンと比べてみても、
そんなに違うように見えないですね。 >>595
HTMLとPHPが混ざって普通にぐちゃぐちゃになって嫌になるよ
テンプレートエンジンはそれを防ぐための大小様々な工夫の結晶
ほとんど静的でシンプルなページだと破綻しないけど複雑なページか、シンプルでも長期間とか複数人でいじり続けるとすぐ壊れる 日本でもLaravelへの移行がかなり進んでいる気がする
古くからのプロダクトで今でもcakeと言うところは案外あるようだけどね
よっぽどもの好きじゃない限りは新規ならLaravelでやった方が良さそう ちょっとした手軽なもん書くのにちょうどいいから使うのに
フルスタックFWを使うとなるとわざわざPHPを使うという理由がなくなるんだよな
PHPしか使えないなんて馬鹿にされてるやつもFW使えるレベルなら
Pythonあたりなら普通に使えるから安心しろ いつまで20年前のPHPの話してるんだよ
時代は変わってるんだよおじいちゃん FuelPHP好きなんだけど、使ってる人いなさすぎてほんとに困る Laravelは良いフレームワークだと思うんだけど
laravel.jp がうんこ過ぎて使うのが不安になる PHPは使用人口が減少し続けてるからドキュメントが良くないんだよ
PHPマニュアルのおかげで入り口は広がったけど
ある程度出来るようになって次となったときに手詰まりになる PHPは本家のマニュアルの出来がめちゃくちゃいいよね
ほかの言語の300倍くらい良い作りになってる 確かにな。ググったら必ずヒットするし、解決できる
FWのサイトもあれぐらいまともなマニュアル作って欲しいわ >>602
バージョンアップしてるの?
昔でた本が良書だった記憶がある FWは出来が良くてもユーザー少ないと詰む問題があるからめんどくさいよな PHPそのものが洗練されてきてるしそのうち脱テンプレートエンジンみたいな流れはきそうだけどな
昔は必須だと思ってたがなくてもいい気はする オブジェクト指向がjavaみたいになっててビビった >>609
HTMLとPHPが別物である以上それはあり得ない
なんでそんなこともわからないのだろう >>611
そうでもないやろ
頭の固いやつやな
何ら新しいものを産まないカスやな >>612
何もわかってない奴の方が産みようがないぞ jsonなんかはxmlとsqlを融合させたような成功例だよね >>611
テンプレートエンジンが生成するのは、HTML埋め込みのPHP。
キャッシュを生成するテンプレートエンジンはキャッシュディレクトリにそれが入る。 圧倒的な信者力とファン力を持つコミュニティー向け宗教ビジネス【BAYC】
多くの信者がこれから価値が1000倍になると言っています
BAYCというNFTですが、こちらも世界的に超人気のNFT作品です。
「BoredApeYachtClub(ボアードエイプヨットクラブ:退屈な猿のヨットクラブ)」です
モンキーの絵が特徴的なNFTで、2021年4月にリリース。こちらも10,000点発行されました。
ちなみに#2087のBAYCは769.0ETH(イーサリアム)ということで、日本円にすると
約3億8千万円になります。(訳わからん数字www)
BAYCの特徴は、CryptoPunksのように画像を販売するだけでなく、特典を
付けたというところにあります。(以下のような特典がつきます)
・会員限定のdiscordがある
・高額で売れるNFTを無料で配布
・3Dアバターの配布
・トークン(仮想通貨)の配布・他いろいろ Windows10のコマンドプロンプトから標準入力をそのまま表示したら文字化けするのですが
どこを見直したらいいですかね?
mb_detect_encodingでは入力するものによってASCIIになったりUTF-8になったりしているようです
コマンドプロンプトのchcpは932、phpファイルはUTF-8です
echo 'なんか入れて下さい'.PHP_EOL;
$name = fgets(STDIN); //日本語を入力
echo $name.PHP_EOL;
echo mb_detect_encoding($name); //北海道はASCII 東京はUTF-8らしいです
mb_detect_order+mb_convert_encodingの第3引数をautoにしたりしましたがうまくいきません 単にコードページをutf8に変えればいいだけでは?
chcp 65001で変わるよ DBにpdoで接続してリストを表示するphp作ってるんですが
内容は変わらないので負荷軽減のために、リスト配列をsessionに保存してDBへの接続を省略したいのですが
このような設計は一般的ですか?問題ないといいですが >>619
俺ならそんなことやらないなぁ。
素直に、DBのチューニングかテーブル設計やSQLの見直しをしてDBアクセスの負荷軽減を目指します。 >>619
負荷はどのみち変わりませんよ
閲覧のみでデータ更新がテレコになる心配もないならそのやり方もアリです
要は細かいsql文をいちいち書くよりJSONにしてjavascriptなどで文字列処理をしたいのでしょう
まあ特に問題ありませんね 要はクエリ結果をキャッシュしたいってことだろ?
普通に負荷軽減になるしみんなやってることだぞ ほぼ固定だけど極稀に外から修正入れたいだけならファイルでいいような… セッション変数はストレージに保存されるので大勢の人が大量に使うとストレージの容量不足になる危険があるのでそこだけ注意すればいいと思う。 設定ファイルといいつつ実行形式にするのってどう思う?
include()とかで読むやつ
管理者しかいじりえない設定ファイルなら別にいいよね? localstorageつてPHPには値を渡せないよね?
javascriptとPHPとでパラメータを気軽にやり取りはできないのかね 「javascriptとPHPとでパラメータ」で検索したらゴロゴロ出てきたけど… 現状でいちばん気軽な方法は、URLパラメータでしょ。
もしくは非表示のフォームテキストにぶち込む。 やっぱりクズでワロタ
ポイントならポイントをきちんと書けアホ たぶん似た話だと思うので質問したいのですが
複数のチェックボックスがあり、そのon/offを記憶しておき次回訪問時に再現したいです
よろしくお願いします ありがとうございました!
非常に参考になりました! 今日たまたまPHP入門ビデオをみていたら
PHPでのブーリアン真偽は1かnullなんだって?
今まで何も疑わずに1か0かでコードを書いてきたけど何も支障なかったんだが? >>639
講師のお姉さんがコスプレでPHPの授業をするやつだよ
再生数があんまり伸びてない ジットハブつてPHPの仕事する上で必須なんですかね? ジットハブは必須だねぇ
野球やるのにバットを持ってないみたいなもん ジットハブに置いてあるライブラリも一切使ってないのかな? そんな個人が作ったようなライブラリ仕事で使えなくね? >>645
それ言い出したらPHPも使えなくなるやん >>647
個人かチームか企業か、そんな意味で言っているのではない。自分でコーティングしていない他人のフンドシをお客に納品するのかという話。たとえば広告デザインでフリー素材集のイラストをそのまま使うか。 広告デザインでいうと、フォントの問題と似ているんじゃないか。
MSゴシックやOSAKAや丸ゴシックMをそのまま使うとディレクターにドヤされるが
Helveticaやヒラギノ、新ゴ、リュウミンなんかは使ってもいいだろう?
全部オリジナルで作れってのは無理なんだから。
だからperlやPHPやSQLは普通に使っていいでしょ >>648
他人のふんどしもきちんと検品して洗濯アイロンをかければ
なにも問題はありませんですわよ どんな人であれPHP書く人なら間接的にはジットハブにお世話になってるよ リポジトリ使うのは構わんがよく理解するまではローカルにしといたほうがいいぞ
よほどのドMでもなければオナニーしてるとこを公開したくはないだろうからな 間接的にはお世話になってるってw
そんな事言ったら何でもそうじゃん なんでもそうだからGitHubくらい使えるようにしとけって話だろう 意味わからん
一企業の一サービスに過ぎないんだから必要なやつだけ使えばいいじゃん
自分でGitサーバー立ててればいらないだろ LINE Payが最近Githubで個人情報公開とかやらかしてたよな 変数が配列で、かつ指定した値が存在するか調べたいときは、
if (is_array($array) && in_array('test', $array))
としているのですが、もっと短く書ける方法ありますか? >>660
ファイルのロードに時間がかかるから、昔はスペースや改行もすべてhtmlから取り除いていたもんだよ そのレベルならこれで
if (is_array($a=$array) && in_array('test', $a)) >>664
keyの方ならそれでいいけどvalueの方だからw in_arrayって配列以外渡すとどうなるんだっけ
それによってはis_arrayはいらない気が 最近のだと例外投げるが昔のだとE_WARNINGじゃね 初心者ですが質問させてください
PHPで変数から最初の1行目のみ取得する方法を教えてください
よろしくお願いします 改行コードがあるテキストという意味ならexplode()で分割して結果で得た配列の[0]に欲しいものが入っている
ただ、改行コードが何なのかはWindowsならCR+LFだしLinuxだとLFなのでそのテキストに依存する trim(strstr($str, "\n", true)); phpでアンテナサイトを作りたいのですが、ブログロールなどから飛ぶと、リンクがハイライトされていますよね。
http://2ch-c.net/?t=vip&eid=7710128
こういう仕組みの作り方を知りたいのですが、取得したrssをまとめ、rssを配信しているということでしょうか?。 ここにもキチガイRSS君が…
初心者スレにおかえりあそばせ >>673
それ以外にどういう回答を期待してるの? PHP歴10年の初心者なんですが、このままPHP路線で行っても20年後に仕事あるんでしょうか 無くなりそうになれば他の言語覚えれば良いと思います。 wordpressが廃れそうに無いのと同じでずっとあると思うよ
何せ他の言語は分かりにくかったりするしね
Rubyとか自己満足みたいな言語は結局廃れる PHPだけしかできないプログラマはヤバイ気がする
他の言語も使えるようになった方がPHPの理解もプログラマとしての理解も深まってええぞ 他の言語って何がいいですかね。
PHPの他にはJAVAくらいしか使えません。
Goとか将来性ありそうですかね? java=アプリ
php=web
と棲み分け出来てるんだし、問題ないだろ 普通にJavaScriptでいいんでないの、需要あるから
ていうか必要だろ
余裕があったらCとか低レベル系のやつも一つ、世界が広がる PHPでネットワークプログラミング専門にしてますとか特殊な事例を除けば
Webを構成する言語 鯖側PHP+SQL 蔵側JavaScript+HTML+CSS
このスレにいるやつは最低限それらは理解してる ていうかJavaScriptはむずいんだよ結局
なんでこんなに使われるようになってしまったんだろう javascriptは確かに難しいよね
簡単に使えるみたいなポジションだったのは
当初はHTMLに軽く埋め込むぐらいの用途だったからかもね 今でもJavaScriptは簡単ポジだぞ
PHPが超超超超スーパー簡単ポジだから、比較的難しく感じるだけで JavaScriptの難しさがわかるのはプログラミング上級者 ダニングクルーガー効果
わかってない奴ほど自分に自信を持つ Javascriptでオブジェクト志向になると、とたんに難しくなる よろしくお願いします
Cloudflare経由で訪問者IPを取得したいのですが、$_SERVER 内に自分のIPが見当たりません
["REMOTE_ADDR"]=>string(13) "172.70.222.58"
["HTTP_CF_CONNECTING_IP"]=>string(39) "2400:4051:ea00:9e00:41d1:bed1:b449:e3fe"
["HTTP_X_FORWARDED_FOR"]=>string(39) "2400:4051:ea00:9e00:41d1:bed1:b449:e3fe"
["HTTP_CF_PSEUDO_IPV4"]=>string(12) "249.7.187.42"
上記のどれもが自分のIPではないのです
どうすればページを開いた時、訪問者である自分のIPが表示できるようになりますか? 社内開発したPHPのWebアプリを有償で売ろうという話が社内であるんですが、
PHPソースコードをそのまま配布するのは不法コピーが怖いので、EXEなどに
して配布したいです。
よい方法ありますでしょうか?
知っている方、教えてください。
(Webサーバは客先に置くのが前提なので配布する必要があるんです) exeにしたら読まれないって認識の延長なら、難読化調べてみれば?
まぁ、俺としては699に同意だな >>698
過去に難読化して売ったことはあるが、
動作が遅くなるし、修正もしづらいから止めたことある
不法コピーはもはや見て見ぬ振りするしかないと思う コンテナなりvm、wslなりをexeで構成するとか妄想もできるけど、その目的だけのためにすることじゃないな
だから無理でいいよ レスくれた方々、ありがとうございました。
ソースコードを暗号化して配布するのは難しいんですね。
PHPの拡張DLLなどであればいいなぁって思ってたんですけど。
残念。 >>704
暗号化といわゆるexe化は意味も目的も違う
そこらへんごっちゃにしたままでプログラマに適当に訊くと、希望の回答なんて返らないと思う
エスパーして営業ぽく返してくれた人も今回はいたけども 変数名をハッシュ値で長ったらしくして置換しちゃえば難読になるかな ごめんなさいね
お金が無い人は相手にしていないんです まあPHPで開発したものを不特定多数に売りたいっていうときは
ASPとして提供することを考えるべきだな 単にソースを渡したくないという事かと
PHPだと丸わかりだし
windowsのexeみたいなのならこれもリバースエンジニアリング可能ではあるけど
結構しんどいしな オープンソースのライセンスは派生物もオープンソースを義務づけてるから見えなくしてはいけないんじゃねえ ソースを渡すリスクよりも、売れやすくするメリットを考えた方が良いんじゃね?
横暴と思うかもしれないが、仮にパクられたとて同じ商売はできないだろ
ソースを理解する手間暇がかかるし、ある程度のスキルも必要だ
そっくりそのまま転売するのはリスクが高いし、訴えられれば確実に負ける
よほど売れてるWebアプリでもない限り、
ソースそのままで販売してもダメージは少ないと思うけどな
それよりも、暗号化したり難読化する方がよっぽど大変だろ 704です。
皆さま、参考になるレスありがとうございます。
営業部門はソースコードだろうが何だろうが売れれば何でも良いので
抵抗「するのが大変で困ったもんです。 その営業の姿勢は正しいよ
抵抗ではなく、営業と共に、利益を最大化する方策を考えるべきだよ
全く何もしないのでは利益なしだし うむ、俺も営業は正しいと思う
自分ひとりでやってるならまだしも
会社の一員として働いているなら、利益は優先するべきだし サンプルサイトでも作って、オンプレミス用ライセンスなど色々定義した方が良いかも知れんな
ただ無名なプロダクトを買ってくれるような会社はそう無いとは思うが・・・ よほど大きな会社でもない限り、無名・有名はあまり関係ないけどな
俺らだってAmazonや楽天の知らん業者から物買うんだし それは小売業者と一般消費者の話であって
会社の貴重な情報を預けたりするシステムではさすがに相手の信用が大事だよ >>719
いくら知らん適当な業者から平気で買うっていっても
責任の追えそうなとこか返金が確実そうなとこから買うので
そういう「だいじょぶそうな雰囲気」をかもすのは大事よね >>720
会社の貴重な情報を預けるって、ASPの話じゃないんだろ?
698の内容を見る限り、データの販売だと思うんだが。
どんな物でも売り手の信用は気になるけど、
ある程度の情報が開示されていれば、無名でも買うだろ
>>721
そう。だから、718の言うようにサンプルやお試し版を用意したり、
契約書や瑕疵担保責任が重要になってくる 営業の立場としては正しいかもしれんが、
パッケージでの販売なんて間違いなく上手くいかない
そんなの買うレベルの顧客は、環境構築すらまともにできない
本当に魅力あるサービスなら、環境と合わせて売っても売れるはず 別のパッケージと合わせて環境構築売ればいいだけじゃん
OEMと何ら変わらないだろ 地溝油
製造方法
マンホールの蓋を開け、下水道内の黒く濁り、赤みを帯びたのり状の物体を掻き出し、一昼夜かけて濾過した後、
不純物を凝固させる薬品と共に煮詰めて精製、沈殿、分離など複数の工程を経て、再生食用油に仕上げる。
悪臭を放っていた物質は、この工程によりほとんど無臭になり、腐敗したドロのような廃棄油は澄みきった食用油となる。
見た目や臭いだけでは地溝油と本物の食用油を見分けることは困難であるとされる。
ただし、糞尿を加工して生産しているのではなく、レストランからの下水などに流れ込む油分を地溝油の生産に使用している。 phpはじめて2か月の初心者です。
php7.4からphp8.1にアップデートされて
json_encodeが動かなくなって困ってます。
どうすればjson_encode動くようにできますか? >>727
JSON_THROW_ON_ERRORを無効にする 今はもうPHPのみでサイト作られることないの?
解説サイト見てもいろんな技術・ツールが混雑してて、覚えること多すぎなんだけど >>729
普通にphpのみは大量にあるぞ
WordPressが突然シェアを失わない限り、バックエンド言語として当面最大シェアが続く >>730
あなたも「バックエンド言語」というように
フロントは別の技術を使うんでしょ?ReactとかVueとか PHP便利すぎる
フレームワーク使う意味がわからん input type="month"で受け取ったデータを
特定の値だけを取得したいのですが何か方法はありますでしょうか?
例えば2022-6だったら2022だけを取得したり
6だけを取得したりするような感じです 正規表現面倒だから
list($y, $m) = explode('-', $_POST['month']);
で良いと思うよ >>735
ありがとうございます!
実装したかった事ができました! >>731
それだとPHPのみってのがそもそも不可能だな
JavaScriptどころかHTML使ったらアウトォォォ!!!ってことに バックエンドって言葉に抵抗あるわ
結局周りに合わせて使うんだけどさ
それやってることただのフロントエンドとサーバーサイドじゃねって思うことがしばしばある
まあただの雑談 >>738
フロントに対してバックだから、サーバに対してはブラウザだろうけどなんかごチャリそうだね 定義があいまいになってるからな
いろんな技術はいりすぎてわけわからん 一般的にサーバサイドでやるような裏方の処理をバックエンドっていうのだから
サーバ側で何かをやるのか?やらないのか?よくわからんサーバサイドより言葉は明確だ
SSIがWebServerIncludeだったら良かったのにな Twitterみてたけど転職とか情報交流で活用してる人って普段どんなこと書いてんの?
もっともらしい情報発信する人はゴミのようにいるけど実際にアウトプットできる人って絶滅危惧種レベルでいないよね
サーバもフロントもデザインも
交流できたらなーって登録して実際にアウトプットしてるけど何の学びもなくてむなしいわ >>742
実際にアウトプットの基準がよくわからんな
Twitterなんて情報が限られてるんだから、
「今日はこれを学んだ」とか「○○の機能を作った」程度でも
その人の努力が分かると思うんだけどなぁ
SNSにしろブログにしろ企業はそこまで見ないよ
ポートフォリオなら多少はアクセスして確認するけど PHPの質問です、最近PHPを学校で使うようになりました。
$test = []; #配列が入ってたり入ってなかったりする変数
#$testの要素が配列だったらtrueを入れる、配列宣言されてなかったら配列にしてからtrueを入れる
for($i=0; $i<100; $i++){
if(!is_array($test[$i])){
$test[$i] = [];
}
array_push($test[$i], true);
}
というPHPを書きましたが、少しスッキリさせる事はかのうでしょうか? このコードだとWarning出るはずなんだけど?
まともに動くコードにして質問し直して
今のコードの結果だけを得たいのであれば
$test = array_fill(0, 100 ,[true]);
でよい 古いバージョンだとNoticeだな
まぁ、そんなことより実際のコードじゃないんじゃないの?ってことだろ
無意味なコードだし >>744
is_arrayのところは @ をつけてWarningを消しましょう
Warningを消すのは大切なマナーです これは配列に歯抜けがあれば配列チェックの前に存在チェックissetしないとエラーになるな。歯抜けでも回したいならforeach使うべきだろう。 foreach($test as $i=>$val){
if(is_array($val)){
array_push($test[$i], true);
} 注意: もし配列にひとつの要素を加えるために array_push() を使用するなら、 関数を呼ぶオーバーヘッドがないので、$array[] = を使用するほうがいいです。 foreach($test as &$val){
if(!is_array($val)){
$val = [];
}
$val[] = true;
} >>745
単純にarray_fillだと100以上がなくなる
$test = [5, [0], 'str', 100 => '100超えたやつ', 'hoge' => 10, 'fuga' => 'str'];
$tmp = array_fill(0, 100 ,[true]);
$test = $tmp + $test;
var_export($test); >>750
配列が入るに決まってんだろ
設問をちゃんと読め $test = [[true],[true],[true]...
なんだよこの狂気の配列は 結構あるんじゃね?jsonのレスポンスとかで、実際には
[
['id' => 1, 'name' => 'abc'],
['id' => 2, 'name' => 'xyz']
]
みたいな中身だけど ちゅまん、cakephp4でforeach内でsaveすると最後のデータが繰り返し保存されてしまって困っています
cakephp2だと$this->model->create()付ければOKみたいなんですがcakephp4ではどうすればいいのでしょうか? 数値と文字列が混ざったバイナリファイルを読んで
Cの構造体みたいに型をかぶせて各値を取得する
みたいなことをやりたいんだけど、どうすればいいかな
unpack使うの? >>760
どうしてもその形式じゃないとダメなの?
jsonなんかに変換してから扱った方が良いのではないかと思うけど >>762
バイナリファイルをPHPで読んで構造体っぽく切り出せればよいので
バイナリ食わせたらJSONが出てくるライブラリ、とかでも全然良いです そのバイナリがJPGとかよく知られたものなら探せばあるだろうけど
そうでないならunpackでシコシコ書くしかないでしょう
出てくるのは連想配列だけどオブジェクト化は容易 最近コード読んでてふと思ったのですけど
昔、
function(){
$result=処理;
return $result;
}
みたいに処理結果を一度変数に入れていたものが
function(){
$eturn 処理;
}
みたいにreturnに直接処理内容を書くケースが増えてるように思います
これって、なにかの書籍等の影響なのでしょうか? >>765
デバッグするなら一度変数に入れた方が分かりやすいんだけどね
即リターンなら一度変数に入れる必要は無いけどね・・・ WordPressとかCodeIgniter3のころは変数に入れてた気がする
Laravelだとなんとなく直接returnに記述してるなぁ
なんでだろ 昔からって>>765がそう思い込んでるだけなような >>765
PhpStormが 「無駄な変数あるよ!」 と茶々入れてくるよね
あいつ枝葉末節ばっかり突いてくるから嫌い PhpStorm使ってないけどそういう不要な警告は消せるのでは? 変数使うってのはメモリを使うってことだからな
メモリ消費を嫌い変数を使わず都度呼び出してると今度はCPU使うからな クラス定義ファイルの拡張子を .inc にしてたらスゲー怒られたんだけど
PSR-0でも12でも4でも禁止されてないわアホが! って言い返したった
ルールも守れないやつがデカい口叩くなっつーの >>772
.incファイルはブラウザで呼び出すとコードが丸見えになりますからね…。 >>773
inc丸見え設定にしちゃうようなそんなアホおるん? どなたか教えてくださいorz
https://www.beams.co.jp
こちらのサイトは、ログイン・未ログイン時に
ログインアイコンをクリックした際のメニュー項目が変わります。(後述のメニュー項目)
こういった実装は一般的にどのように実装すべきでしょうか?
- ログイン(マイページ・注文履歴・閲覧履歴・お気に入り/フォロー・ログアウト)
- 未ログイン(ログイン・新規会員登録・会員サービスについて・初めてのお客様)
ログイン状態の保持して、ログイン状態からJSでメニューを入れ替えるのでしょうか?
ソースコードを見た感じ、ログインの有無で割り当てられているclassやidはないようです。 単純にサーバーサイドでクッキーのセッションキーの有無でログインしているかどうか判断しているのでは?
実際に調べたりはしていないのでどういう実装になっているかまでは分からないけどね わからないのに答えたがる気持ちが良く分かりません・・・ アホな質問に終止符打ってんだよ
一般論でいうと>>777だけどそうでないのならそういった調査を行った旨質問に追記しろよ >>779がいう事がごもっとも
>>778みたいなのって質問スレでいう事じゃないw
そもそもPHPやっててセッション知らないってやってないに等しいレベルだし
例えその仕組みを知ったところでどうするの?って話だしw 776です。
ご回答ありがとうございます。
ごく一般的なログインの仕組みとしてご回答頂ければありがたいです。
サーバーサイドでクッキーのセッションキーの有無で
ログインしているかどうか判断した際、>>776に書いたヘッダーの一部を
変更したい場合はファイル自体の出力を変更しているのでしょうか?
それともログインフラグ変数などをif文で分岐して、
メニュー出力を変更しているのでしょうか? 回答もらったのに同じ質問したがる気持ちがよく分かりません・・・ if ($_SESSION['login'])
MENU1
else
MENU2 使わないw
たまに暇なときに見るけど質問や返答したりはしないなw 固定IDだからナメた質問にも怒りを押さえながら人格者装って善人面しながら回答してるやつが痛々しい 匿名で回答出来るならする奴もいそうなのに
ユーザー登録しないとダメとかなら自己顕示欲の塊の奴しか回答しないw 一度クライアントに出力したhtmlを、phpで消す方法ってありますか?
jsは使わず、phpだけで消したり再度書き込んだりという方法を、どこかで見たようなきがするのです >>788
画面をリロードせずに消すってこと?
フロント操作はjavascriptじゃないと無理だと思うよ JavScriptでもhtmlの書き換えは無理だよ
httpレスポンスを除くと分かるけど、htmlはレスポンス時点で確定している
で、phpで操作できるのは、そのhtmlを出力するところまで
その後は、ブラウザがhtmlを解析してDOMを作り、それを表示する
そのDOMを操作する方法の一つがJavaScriptなので、もしhtmlを消すっていうのがこのことを指しているなら、JavaScriptやそれに準ずるものを使用することが必要になる
今の所、ブラウザ上でDOMを操作するためにphpを使うことはほぼ現実的ではないので、おとなしくJavaScriptを使用すると良いですよ phpにはバッファやフラッシュがあるけど、
バッファの中を出力前に消す事はできる
出力されたものを消すことはできない >>788
ob_start で出力のバッファリングを開始できるから、バッファの中身を編集してみたら php開発ってVisual Studio+C#みたいにブレークポイントをおいて
サーバ、ローカル間でデバッグ実行とかってできますか? 各エディタと以下のツールを組み合わせることで実現できます
https://xdebug.org/ >>788です
改めてPHPマニュアルを見直してみて、みなさんのおっしゃるようにバッファと勘違いしていたようです
お騒がせいたしました、ありがとうございました! >>795
ありがとうございます。ローカルとサーバ直結でリモートデバッグして開発出来ると効率があがりそうです。
調べてみます。 >>795
もう一つお尋ねしたいのですが、cakeとかのFWを使っていてもリモートデバッグできますか? リモートデバッグは普通に出来るけどそのサーバーがクラウド等の場合
xdebugを導入するハードル(sshなどでログインして作業が必要やポートを空ける)が結構高いかも知れない
本番サーバーやステージングなどで直接デバッグするのは辞めた方がいい
(セキュリティ的な問題から、それにxdebug入れると結構重くなるので)
デバッグする時はローカルに開発環境を入れてそこでやった方が良い気がするし
それが一般的かと思われる
因みにLaravelだろうがCakeだろうが別に関係無くデバッグ出来る >>799
ありがとうございます。
ローカルの開発環境Windows サーバLinux
同じDBとサーバソフトを入れたとしても、完全に一致させる事は出来ず
環境差による不具合が出てあとあと面倒になるのを恐れていす。
最初から運用するサーバを使ってデバッグ&開発すれば効率が良いと思いました。
これまでは、面倒なので直接サーバに直結してソース弄って開発してました。
var_dumpで・・・
開発効率は微妙でしたが、ローカル環境を作らなくて良いのは便利でした。
開発端末が変わってもサーバに直結するだけですから。 >>800
xamppだと確かにWindowsとlinuxでの動作環境の違いで同じ動きをしないとかあるかも知れないが
Dockerなんかは難しいかもしれないがvagrant(+virtualbox)で仮想環境作ったりすれば
サーバーサイドの環境と同じものを大抵は作れる筈
ローカル環境と言ったのは、Dockerかvagrantの仮想環境の話で言ってた >>801
>xamppだと確かにWindowsとlinuxでの動作環境の違いで同じ動きをしないとかあるかも知れないが
過去にそれで開発し、リリース時に環境差で動作せず大変でした。
運用するサーバ1台
開発端末A,B,C
で直結してxdebugでデバッグ実行出来る様に試してみます。
開発端末に縛りがなく、あとあとのメンテが楽そうですので。 当たり前のことだけどOSに依存するような書き方をしなければ
コード面はOS間で問題になることは皆無といっていいんじゃない
経験上いつも開発はWindowsで運用はだいたいLinuxだが問題が起きたことはない
マニュアルをよく見てOSに依存するような関数・機能でないか確認し
問題が起きやすいような部分はOS差を解消する定数なんかがあったりするので
それらを把握しておくことが大事 >>804
Cのプログラムでlong使ってるときに死ぬよね
PHPはそういうことないから安心・・・ あ、ファイルロック周りがあったか WindowsとLinuxで問題になるのはパーミッションだな
ファイルの読み書きしているようなものがあるとWindowsでは書けたけど
本番は何故かエラーになっているとかねw
最近だとファイルの読み書きとかあんまりしないだろうし、大抵は大丈夫な筈だけどね ファイル名の大文字小文字の区別で引っかかった覚えがある たまにメールアドレスで大文字使っているのを見るとモニョる eclipseで "***" この部分のフォントが斜体になってかなり見辛いです。
ダブルクォーテーションで囲まれた中の文字の斜体フォントを直すにはどこで設定すれば良いのでしょうか?
例)
<meta charset="utf-8"> 今時eclipseとか使ってないから質問されても誰も答えられないかもw
おとなしくVisualStudioCodeとか別のものに移行した方がいい わかったので大丈夫です。
VS Codeみたけど使い辛そうですね。
やっぱり eclipseが一番 eclipseとかホント誰も使ってないぞw
大昔にandroidの開発環境がeclipseだった時があったので使ったことはあるが
2015年ぐらいで終了してandroid studioに変わったからなぁ
無料なら多少重いけど、netbeansの方が全然良い Fleetが気になってる
誰か使い込んでる人いる? Eclipseはまだ開発続いてた
https://www.eclipse.org/
ちょっとほっとしたわw >>816
確かにw
今でも利用者は居るってことか
Javaだと使っている人がいそうな雰囲気 JAVAに脆弱性が見つかりまくってた2010年ごろから
だんだんEclipse離れも進んでいった気がするわ だが、俺はまだまだeclipse使う!
数年ぶりにフレームワーク使わずphpコード書いてると快適だなー。
FWありきだとサーバ移転とかでも面倒だし。 昔、習得する言語を迷ったときにeclipse使ってたな
名前カッコイイのと何もかも全部入りってるってのがぶっささった
結局phpしか使わなかったけど >>819
快適だし楽しいけど、認証周りやセキュリティが見落としあるか不安だわ フレームワーク無しで行けるのは本当に小規模なものぐらいで
商用ならLaravelなど使っておいた方が安全かと >>821
クリティカルなデータを扱うサイトじゃないから
その辺はある程度、覚悟してます。 フレームワーク使わない方が圧倒的に開発効率が高いなー 一人でやるならそりゃそうよ
ペライチのランペなら絶対に使わない方が早い 小規模ならcodeigniterでよくない?
今のバージョンは中規模以上向けだっけ? CI楽だったね
3までしか触ったこと無いけど好きだったわ ちょっとしたWEBサイトで個人情報を扱う訳じゃないから
開発効率重視
楽ちんだんわー Laravel使った方が個人的には楽なんだけどねw 最小限のMVC構成だけで、あとはcomposerで追加するパターンならいいのにな
だいたいどのフレームワークも最初からごちゃごちゃ入る過ぎてるから困る https://implist.dev/entries/0223f2a77cc411c99699585d42eee900
このページを見て勉強しているのですが、
public function create(Request $request)
この引数の中身ってどういうふうに解釈すれば良いでしょうか?
クラス名、半角スペース、変数
syntax errorにもなっていません すいません、わかりました。
Requestってクラスの型を持った$requestって引数を用意してねって意味でした
function create (int age)
のintの部分がclassになっただけでした FW使わずに開発ってマジかよ
あれやこれやの定番処理を全部自分で書くとか面倒で耐えられんわ 言うても勉強したての頃はやらなかったか?
だいたいオレオレ作ってから既存のを使うと思うんだが そんなん許されるの小学生までだろ
2022年に大人がやることじゃないわ >>836
オレオレFWは作ったけど、結構いい勉強になったな 既存のFW使う時って
「他人が見てもわかりやすい」って理屈で利用するけど、
他人と一緒にプログラミングすることってほぼなよな え?…まあ5chだもんな、働いてない人もいるよな
1人で書いてても、1ヶ月後の自分は他人だからなあ FWで書かれたソースはFWがわかっている人でないと読めない。そのデメリットが大きい。 FWって、中のディレクトリにプログラムを置くよね?
あれって管理大変じゃない?
FWと自分の書いたコードを全然違うディレクトリに置きたいけど
そういうのができるFWってあるの? ここそこまでの初心者スレだっけ?
だったら俺が悪かった見るのやめるわ >>843
CakePHPで設定ファイルのディレクトリ変更してるな
Laravelでもシンボリックリンクで変えたりしてる composer使った事無いのかな?ってレベルだよなぁ・・・
初心者お断りって書いてあるのにw 下手すりゃコンポーザーどころかGitすらも使ってなさそう なんでこの程度のことが偉そうに見えるんだよ…
ド初心者以外お断りスレかよ この程度のことを偉そうに語ってるから偉そうなんだよ どこが偉そうなんだ?
敬語を使ってないからって事? >>847
インターネットに出れない空間なのでcomposerは使用禁止なんです 多分社内のイントラ内で開発していて、外につながってないのかな?
今時そんな環境で開発する気にもなれないがw
調べたり気軽に出来ない環境って過去に見たことあるけど
(検索用のPCが別にあるとかねw)そういう不便な事を強いる会社で働きたくないw >>858
開発中はさすがにインターネットに出れるよ
運用時にはまったく外に出れないだけで 俺はPHP5.3までのエキスパートだからな
最近のはさっぱりわからんぞ >>859
開発・テストともに、DBってどこにあるの??
普通に知りたい DBはsqlite3なのでどこにでもあるしどこにもないともいえる sqliteってかなり少数しか触らないシステムなのかな
どんな小規模でもmysql以外の採用はあんまり考えられないんだけどねぇ
過去にsqlite使ってたのは小さい端末のデータ保存用とかそういう用途だったな SQLiteは少数のデータでパフォーマンスの低下が見られはじめるからな
といってもミリ、マイクロ単位の数字上のもので体感上気になるほどのものじゃないから
PHPerならたいていのもので事足りる 読み取り専用ならかなり有益じゃないかな?
内部データの検索インデックスみたいのとか。
単純なキャッシュみたいなものなら serialize したデータファイルみたな形で持っておくのもいいけど、少し複雑なフィルタリングを伴うなら sqlite はかなり便利。 sqliteはSELECTはMySQLより速くて件数が多くなるほどその差が広がるけどな SQLite専門のフレームワークあればいいのにな
オレオレで作ろうとしたけど、面倒になって止めたが フレームワークの開発が楽ってだけで専門にする必要はないけどな
複数選べるのが当然にベターなわけで全部に対応してるのがもちろんベスト ワンポイントならピュアPHPでもいいわけだしな
XMLの生成や出力ぐらいでFW使うのもおかしいし JavaScriptでバリデーションするの面倒だから全部Ajaxでサーバに飛ばしてPHPでバリデーションする事にしてる。
これだとサーバサイドのコーディングのみで良いからおすすめ。 おすすめもなにも、Javascriptのみでバリデーションするのは危険だろw
Javascript切られたらどうするんだよ リファラの取得が出来ません。
コードあってますよね?
$referer = $_SERVER['HTTP_REFERER'];
echo "リファラ[".$referer."]<br>"; 面倒とかじゃねえだろ
jsでも可能な限りバリデーションやれ
サーバー側は言わずもがなだが フロントバリデーションはUX
バックエンドはシステムのため
役割が違う
両方やるのが普通だと思う
モバイルの通信環境が安定してる前提ならフロントからバックエンドに飛ばすのもいいけど
個人的にはユーザ登録でユーザが任意にIDつけられる場合のユニークチェックぐらいしか使いたくない サーバサイドでチェックするんだから、JSでやる必要無し。
工数の無駄だろ。 JSはapiで提供されているサービスを使うのが便利。郵便番号で住所取得とかで使ってる。 バカがサーバーだけでいいとほざく無能
こういうバカと仕事はしたくない 工数は確かに無駄だけど、フロントでやった方がUI的に優しいのはある
一回送信してエラー出すよりもな バリデーションはサーバサイドだけでOK
そこさへしっかりやれば効率がいい。 今のトレンドはクライアントサイドのチェック処理はしない。
サーバサイドのみでOK そのためのvueだろう
サーバーとクライアント両方で同時にバリデイト出来る お前のトレンドはお前だけのクソトレンドだろ
アホはフロント技術ないからできないだけ
自分はアホですと何度も自己紹介 両方でバリデーションなんてアホのすること
どうやって整合性保証すんだよ フロントでバリデーションやらないクソUIUX
要素にバリデーションがついてるしフレームワークにもついてるものもあるのに使い方すらわからないアホ
ユーザー操作に対してクソみたいな結果を返すことしか知識がないゴミレベルの無能
サーバーしかわからないから視覚的にバリデーション結果を示す方法すら知らんのだろうな
マジで低レベルすぎて話にならんわ
整合性は設計次第だろ
フロントでもバリデーションとサーバーでのバリデーションはそもそも役割が違う
設計がないからそんなことしか言えないんだよ >>888
フロントでは、ユーザー用のバリデーションをするよ
存在しない郵便番号や名前入力漏れの警告みたいなやつな
サーバでは、プログラムのためのバリデーションをするよ
悪意を持った入力や整合性チェックや排他制御みたいなやつな >>888
ほんまそれ。
サーバサイド1本でOK。
1日に風呂に2回入る様な物。 フロントのバリデーションてJavaScriptでやるしかないんだから、サーバー側と同じことできないし、文字数のカウント結果等細部が違ったりして面倒だしブラウザがバグるかもしれない
なのでフロントで何やってようと100%信用できないからサーバー側でも結局バリデーションは必要で両方やってもムダだからフロント側はいらん、requiredのチェックぐらいなら簡単だからそれでUXが良くなるならやってもいいかもしれないけどそういうケースもあんまりないと思う UIだけJS
チェック処理はサーバサイド
賢い奴はみんなそうしてる サーバーサイドしかできないプログラマーが多すぎる
こういうプログラマーが作るフロントはゴミだから最高に使いにくい クライアントでデータの整合性をチェックすることはないが
requiredとかpattern属性みたいなHTMLの機能を使ったもので
ユーザに必要な正しいデータを入力させるユーザビリティのため
ユーザ側にチェック機能を提供するべきね サーバサイドのチェックは必須なんだから
そっちに集中した方が効率が良いだろ
無能には分からんのか バカの無能には何を言っても無駄らしいな
素直にフロントの技術がない無能ですって言えばいいものを >>899
昔と比べるとめちゃくちゃ簡単にUX向上できるようになったよね 技術のあるなしなんて関係ない話をしてるんだがそれがわからん知障かただの荒らしか 別に汚くはなくね?
知能の不自由な方とでも書けばええんか? 新年早々他人を不愉快にさせて楽しい?に変えればよかったね クライアント側でもサーバー側でもバリデーション機能は作っておく
まあ無いだろうけどJSエンジン切って侵入してくるケースもあるだろうし サーバーサイドだけでいいと思うけど
言うほどリアルタイムでバリデーションしてほしいか?
入力する方としては鬱陶しいだろ 鬱陶しいのはUI設計が下手なだけ
確認の段階で失敗して入力し直すほうがよほど面倒だ フロントでは入力漏れなどの簡単なチェックをおこない
サーバでは厳格なチェックをおこなう
というのが基本的な考えだよ つまらん議論がダラダラ続いているのはフロント側のバリデーションというのが何を指すかの認識が揃っていないのでは?
俺はフロント側のバリデーションというのはサーバー通信せずにJavaScriptだけで判定する処理のことだと思っているが
Submitを押す前にサーバーに問い合わせてエラーを表示する処理だと思ってる人もいそう
前者は無意味で不要だし後者は入力途中にエラーを表示してしまう問題が発生して非常にウザイ、何故かよくあるんだよな 要は、文字数がどうとか、英数字にするとか、メルアドが正しいとか
そういうバリデーションだろ?
HTMLの時点である程度制限かけられるし、
フロント側で厳格なチェック必要ないと思うが 厳格なチェックが要らないというか、厳格でないチェックなら意味がないんだからそもそも要らないんだよ
厳格なチェックをサーバー側でするしかない 何言ってんのか分からんのだけど、
非同期でサーバ側でバリデーションすれば良いだけちゃうん?
頭おかしいん? > 後者は入力途中にエラーを表示してしまう問題が発生して非常にウザイ
どこの世界に、フォートカス外れる前にバリデートするマヌケがあるっちゅうねん。
リコメンドちゃうねんぞ?アホか >>916
この流れ見て、ずーっとそれは思ってるけど
非同期に頭が回らない人がとっても多いみたい >>917
いくらでもあるじゃん…
ネット使ったことない人? >>916
非同期でバリデーションすればsubmit時に要らないとでも思ってるの?
煽りでも何でもない純粋な疑問なのでYesかNoで回答が欲しい > 非同期でバリデーションすればsubmit時に要らないとでも思ってるの?
こういう事言い出すキチガイが、必ず湧く。
サバ側でバリデーションすれば同じ処理を共有するだけだから実装の二度手間いらねぇだろって話なのに、
そ れ す ら 理 解 で き な い バ カ >>918
非同期通信の遣り方知らないんちゃうかな? 初心者お断り(初心者の集まり)
スレw
>>921
だよね
鯖側バリデイトだけでいいって考えなくても分かるだろうに
html側でバリデイトして何か意味あるの?と思う
あえて超例外を上げるとするなら、
サーバーにデータを渡さずにそのまま印刷する場合ぐらい
もしそういうのを言ってたら素直に謝るわ 目的が違うのに二度手間じゃねえしわかってない無能サーバーバカが年始かアホを披露してみんな迷惑なんだよ
単に目的もやり方も知らん究極のアホのくせに吠えるなうるせえから >>921が何を勘違いしてるのかどうしてもわからん、俺も結論としては同じ事を言いたいんだが?
なんで突っかかってくるんだ? >>926
これ、もしかしてチンパンジーかなんか? >>925
だってそれ、
どうせ最終的にはサーバにデータ残すんだろ?
そしたらサーバ側でバリデーション一択じゃんなー >>926
フロントエンドでバリデイトする目的とは? WCAGのアクセシビリティガイドラインでフォーム検証を行ってユーザーエクスペリエンスを損なわないように義務付けてるのにそれすら知らないクソジジイのサーバーバカどもはWeb業界から消えろよww
テメーらがクソ低品質な開発やってるとマジ邪魔なんだわ
マジで無能どころか害悪でしかない
ジジイらしく棺桶入る練習でもしてろww 分かんないかなぁ
・フロント・バックを分けてバリデイトする理由
blurで都度サーバー側でバリデイトするとレスポンスの問題が発生する。通信負荷もかかる
そのため、一時的に軽くバリデイトを行うのがフロントのバリデイト
ただ今ぐらい回線が充実してるならそこまで気にしなくてもいいと思うけどね アホ無能サーバーバカたちがWeb汚染しまくるからアクセシビリティガイドライン作って毎年厳しくしてるんだよ
はよWeb業界から消えろゴミwww >>936
脳みそ腐ってるアタオカに何を説明しろと? >>917
メアドや電話番号入力中に「形式が正しくありません」と出てくるとか、
2回入力させられるフォームで1個目を入れ終わったら「一致していません」とか出るアホなサイトいくらでもあるじゃん
お前みたいなバカが作ってるんじゃないのか >>941
何でフォーカス外れる前に出す必要があるんだよ脳みそウジ湧いてんのか死ね腐れクズ こんな過疎スレで無理やり煽る意味あるのだろうか
誰にも注目されないのに無駄なことしてんのな ただユーザに親切心からヒントを与えてるだけで
フロントでバリデーションしてるわけじゃないから >>944
マルチポストしまくるぐらいなら、teratailで聞いた方が早くないか? ストリングポジション
エスティーアールポズ
いただきました。
ストアポスにしときます vscodeの単語の強調定義ができません。
サクラエディタや秀丸のような単語の強調定義をするには
どうしたらいいですか? > 彼らはよく、社会に貢献したいと口にする。
> なんでも社会悪のネトウヨを自殺に追い込むことが、社会に貢献することなんだそうで。
> イジメや嫌がらせで社会に貢献できる教師や警官になるために、あえて帰化したんであって、祖国同胞を裏切ったわけではなく、心は●●人なんだそうだ。
>
> 昔は帰化すると裏切り者と呼ばれたりしたが、祖国に国籍を残したまま帰化する方法が確立された現在では、社会に貢献するためにむしろ帰化することが推奨されている。
> 拳銃所持で前科のある生粋の反日家ですら、今では普通に帰化している。
>
> ●●学会などはネトウヨ認定した日本人を盗撮して、痴漢の写真だと言ってばらまいている。
> それらの写真は、集団ストーカーに使用される。
> 彼らは集団ストーカーを、[地域で子供を守る安心安全パトロール]と称している。 testA.php でログインできたら、testB.php に遷移し
sessionの中身を確認していますがNULLになってしまいます。
このコードのどこが間違っていますか?
■testA.php
session_start();
session_regenerate_id(true);
$_SESSION["session_mail"] = "hogehoge@gmail.com";
■testB.php
session_start();
$str_mail = $_SESSION["session_mail"];
var_dump($str_mail ); // ⇒ NULL になる。 htmlの後でセッションスタートしてたからでした。 Webアプリ上で会員名簿があります。
名前で部分一致検索ができます。
「高橋」
「髙橋」(はしごの高)
「川崎」
「川﨑」
のように微妙に字体が違う人をちゃんとヒットさせる作りにしたい場合どうすればいいですか? >>958
ふりがなで検索ってのが現実的な気がするけど、興味があれば人名の正規化に関して調査してみれば?
この辺が入口の前のさらに手前の記事
https://qiita.com/yuba/items/83a81a0de09a8d8655f1
ライブラリとかもありそうな気がするけど、ざっと見た感じだと探せなかった
成果が上がればぜひココで報告してほしい どういう目的かしらないけど自分用でないのであればやめたほうがいいんじゃない
旧字体のみを正式に使ってる人とかいるし
そういう人を新字体でヒットさせると誤解を生むだけなので
普通にひらがなで検索してリスト表示するでいいんじゃないの >>958
自分はユーザーが登録した実データとは別に検索用の文字列を持たせちゃうな。
その文字列は検索用に正規化して、髙 は 高 に変換しちゃう。
他にも、ひらがなはカタカナに、全角英数記号は半角に、連続空白は1文字のスペースに、各種カッコは全部 ( と ) に、みたいにしておく。
検索時には検索ワードを同じルールで変換してから検索用文字列を検索する。
で、異体字の変換辞書は自分で作るかどこかから拾ってくるかする必要があるね。
あと、この検索文字列を一括更新するツールを作っておくのがいい。
変換辞書を更新した後なんかには登録データも更新する必要があるし、どうせ今はそういうフィールドを持たせてないんだろうからその値を初期生成するためも必要だし。 ほんと日本語って欠陥言語だよな
英語の圧倒的なシンプルさが欲しかった
GHQは日本語を廃止してくれたら日本のIT産業も衰退しなかったのではないかと思う 銀行や役所みたいにカタカナ必須にしてカタカナ検索すればいいじゃねえ 日本語はオワコン言語
世界統一言語は英語にすればいい。 喋りは方言でも書くのは違うじゃん
なんでプログラム板で会話の話になってるんだよ 英語でもcenterとcentreみたいな表記揺れはあるし、自然言語ってそういうもんなのでは 昔1か月分の作業をバックアップをとらずに全部吹っ飛ばした事がある。
怖いので毎日バックアップしてる。 プログラムなんて言う共通語のない世界で何を争っているの? gitぐらい使おう
ローカルで使っているだけならディスクが逝ったら同じだけどw > 彼らはよく、社会に貢献したいと口にする。
> なんでも社会悪のネトウヨを自殺に追い込むことが、社会に貢献することなんだそうで。
> イジメや嫌がらせで社会に貢献できる教師や警官になるために、あえて帰化したんであって、祖国同胞を裏切ったわけではなく、心は●●人なんだそうだ。
>
> 昔は帰化すると裏切り者と呼ばれたりしたが、祖国に国籍を残したまま帰化する方法が確立された現在では、社会に貢献するためにむしろ帰化することが推奨されている。
> 拳銃所持で前科のある生粋の反日家ですら、今では普通に帰化している。
>
> ●●学会などはネトウヨ認定した日本人を盗撮して、痴漢の写真だと言ってばらまいている。
> それらの写真は、集団ストーカーに使用される。
> 彼らは集団ストーカーを、[地域で子供を守る安心安全パトロール]と称している。 ●関死ね顔も性格も風俗女よりもブサイク死ねクズ障がい老害w w w生きてる価値なし見かけたら暴行しろバーカww
●関の娘もしね木村花みたいにキチガイレジデンスから誹謗記事見て死ねゴミ自殺しろバーカw w w
こいつの母親白毛まみれだが誹謗中傷見たからだろきめえw w w生きてる価値ねえから頭掴まれてコンクリ詰めにされて死ねやw w wバーカw w w
こんなきめえやつから生まれた子供は知的障がいの精神異常障がいなのもよくわかるな誰も悲しまないから死ねブサイク童貞産業廃棄物貧乏クソゴミウンコニート死ね
こいつはいまだにババアのおっぱいしゃぶりながら3回に引きこもっている人間のくずらしいww自殺しろバーカ死ね呪われて死ね●関 github actionsでテスト、タグ付けした後にデプロイしてる
可能な限り人の手が入らない様な運用にしてミスが起きづらくしてるから kagoshima/0010/
というディレクトリに
-ecdocs
-include
-wp
という3つのディレクトリがあって、includeにはブラウザから直接アクセスできない設定をしています。
これに次のURLでアクセスしても以下のように短縮されたURL変更できるように(リダイレクト?)したい。
example.com/kagoshima/0010/ecdocs/top.php
↓
example.com/kagoshima/0010/top.php
どう記述すればよいですか?ただし、他のディレクトリには影響がないようにしたい。
---
RewriteEngine on
RewriteBase /kagoshima/0010/
RewriteCond %{REQUEST_URI} !^/kagoshima/0010/include/.*$
RewriteRule ^$ /kagoshima/0010/ecdocs/index.html [L]
RewriteRule ^include/.*$ - [F,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ ecdocs/$1 [L]
AuthType Basic
AuthName "Restricted Page"
Require valid-user
AuthUserFile /home/c5229477/.htpasswds/example.com/kagoshima/0010/.htpasswd .htaccessファイルをルートのとは別に、kagoshima/0010/ecdocs/ディレクトリに置く
RewriteEngine On
RewriteRule ^kagoshima/0010/ecdocs/(.*)$ /kagoshima/0010/$1 [R=301,L] >>975-978
もうエックスサーバーとかさくらにデプロイするような時代ではないの? >>982
そういう時代だよ
githubを使ってるのは時代遅れ >>982
どういう時代か知らんけど
AWS、GCP、GMO、さくらはやった事あるからエックスサーバーもいけるんじゃないかな エックスサーバー
仮想6コア 8GB
転送量無制限
月額1100円(キャッシュバックで実質550円)
この性能でいくら使ってもこの価格
え?性能足りない?
仮想10コア 16GB
月額4400円(キャッシュバックで実質2200円)
それでもAWS使いますか? >>985
それで本格ウェブアプリを運用する場合、どのぐらいのPVまで行けるかな?
動画配信とかやらず、ドキュメントと画像を表示するのみなんだけど。
転送量無制限ということは、月100万PVとかでも余裕だろうか? >>989
初期設定はシェル書けば終わりだし、管理といってもトラブル無い時はほんとなーんのトラブルも無いからなぁ
あと最近のVPSは、よく使われる環境は管理画面からの簡単操作でインストールする機能もよくあるぞ
>>986
静的コンテンツならさくらの約1000円のVPSでMAX300万PV/月までは行った事ある
全くなーんの問題もなかったから600円のプランでも行けるかも
昔Apache1.3の時代とか256Mしかメモリ無いサーバで30万/日(※月ではなく日)さばいてたし
>>985
訳分かってない人が従量制のサービスを無理やり使わされ
とんでもない金を払わされ続けている事ってよくあるよな
酷いケースだとAWSの設定がおかしくて乗っ取られて月100万単位の請求が来たとかそう珍しくも無い話だが、情弱は大変だ >>990
>初期設定はシェル書けば終わりだし、管理といってもトラブル無い時はほんとなーんのトラブルも無いからなぁ
嘘乙。シェルだけで終わるわけないだろ
そして近年でもJavaやPython、SSL(Let's Encrypt)の問題があっただろうが
それら無視して運用してたとは言わせんぞ >>986
ドキュメントと画像載せるのは本格WebアプリじゃなくWebサイトじゃん >>991
GUIを駆使しないと解決しない問題ってあるの?
だいたいはCLIでスッと終わるんじゃない? >>992
ドキュメントというのは言葉があやですが、
要はPHP(Laravel)で表示する、フロントから見たらHTMLということです。 >>991
基本的な初期設定は「自分の運用経験を元に楽するためのシェルを書いていたら終わりだろ?」というつもりで書いたんだが、
わざわざそう説明しないと通じないって事は、まぁ色々「お察し」するw
ひたすらパソコの前で座っている仕事でもコミュ力って大事よね シェルを書いたら終わりなんだ
すげーな。ほんと「お察し」するわ readlineで管理用shもどきを作るのは昔よくやったわ シェルで全自動初期設定するという話ではないのに
997はコミュ力が完全崩壊してるのか
それとも実務経験がなくて話が通じないのか
判断に悩むところだが一緒に仕事はしたくないタイプ このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 1404日 4時間 27分 50秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。