【PHP】下らねぇ質問はここに書き込みやがれ 13
■ このスレッドは過去ログ倉庫に格納されています
!extend::vvvvv:1000:512
!extend::vvvvv:1000:512
!extend::vvvvv:1000:512
★スレ立て時 ↑ が3行以上になるようコピペ
PHPに関する質問スレです
前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 12
https://mevius.5ch.net/test/read.cgi/tech/1619667579/
次スレは>>980以降
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured NG推奨ワード: Ruby
この単語を含むレスは一切相手にしないように 今更ながらPHP8でimplode/joinの引数順が逆順で固定されているのに気づいた。
どんな糞な議論の結果かを知りたくてRFCを探したが、
https://wiki.php.net/rfc/deprecations_php_7_4?s[]=implode#implode_parameter_order_mix
で38vs5で賛成されたくらいしか分からない。
もっと詳しい経緯が分かるところがあればURL頼む。
これに限らずPHPでは引数が逆順の事が多い(と感じるのは目立つからか?)のだが、
いっそのこと全部逆順で統一することにしたのかこれ?
だとするとこの判断は多分間違いだが。 $hogehoge = str_replace('/hoge/', '/hage/', $hogehoge);
というパスを書き換える部分があるのですが、これをvscodeでコーディングしていると、
'/hoge/', '/hage/'の部分がいつもと異なるエラー?のような色になります
文法上問題があるのでしょうか?
一応動いていますが
'/ho/ge/', '/ha/ge/'という書き方では色は変わりません
関数的にも正規表現は使わないから問題ないですよね? 一定のルールで色付けをするシンタックスハイライトは
どこかしら抜けがあって完璧ではないし気にしなくていいよ
あれは参考程度だと思ったほうがいい 問題ないようでよかったです
どうもありがとうございました 最近phpを始めたので良く分からない事があります。
phpでUNIXTIMEで時刻を表示させたいのですが、上手く行きません。
php.iniで"date_timezoneをAsia/tokyo"にしているのですが、適応されません。
スクリプトに"date_default_timezone_set(Asia/tokyo)"と記述すると、適応されます。
これは、何故ですか? unixtimeは世界に一つで相対時刻はありません スクレイピングの勉強するのですが、下手するとF5アタックになるとかの法的リスクと回避法を重視している入門書ってありますか?
今の所やりたいことは、特定の市町村の5年分気温気象データを収集して自分用に加工
近所のコインランドリーの稼働データを集計して空いてる確率が高い時間帯を調べるの2つです
前者は膨大なデータを取得する必要があります
後者は10分から20分おきにアクセスすることになります 頭のおかしい人に以下のようなことを言われました
>>基本、スクレイピングは営業妨害との戦い。
>>どの本にも、そう書いてある。
>>スクレイピングを推奨する本はない
具体的な書籍名を教えてください
>>5ch は、マルチポスト禁止!
>>同じ質問を、複数のスレや外部のサイトに書いてはいけない
どこでそんなルールが決まっているのでしょうか? スクレイピングはクローリングでない
マルチポストは返信の作業を勘案した返答をもらえる確率の問題 >>15
https://ja.meta.stackoverflow.com/questions/2418/
マルチポストをする場合、回答への返信や質問の追記を、
質問した 全て のサイトで行って欲しいと考える回答者が多いです。
しかしそのようなことはさすがに手間であるためか、
質問を最初に投稿したっきりになり、
そのまま放置されてしまう場合が多いため、
マルチポストは問題視されています。 駆け出しの個人開発者だけど個人ウェブサイトをVipで宣伝したらちょっと流行った、前スレで教えてくれた人ありがとう fopen関数でモードを'c'にして、fwrite関数で.txtに書き込んでいるのですが何故が上書きされて書き込まれます。
常に、最新の書き込みを上部に表示したいのですがどうすれば良いのでしょうか?
モードを'a'にすると上書きはされませんが、最新のコメントが常に下部に表示されてしまいます。
因みにコードはこんな感じです。
<?php
date_default_timezone_set('Asia/Tokyo');
$time = time();
$date = date('Y/m/d H:i:s',$time);
if(isset($_POST['send']) === true) {
$name = $_POST['name'];
$message = $_POST['message'];
$fopen = fopen('message.txt','c');
fwrite($fopen,$name."\t".$message."\t".$date."\n");
fclose($fopen);
}
?> cはクリエイト
aはアペンド
仕様通りの動きやろ
で、何がしたいの?w ファイル書き込みには上書きか追記しか存在しません
逆に言えば挿入は存在しません
あなたの部屋の壁をディスクとして見てください
壁に書き込んだものは移動できませんから、塗りつぶして上書きするか追記しか出来ません
コメント表示処理を工夫しましょう >>21
>常に、最新の書き込みを上部に表示したいのですがどうすれば良いのでしょうか?
書き込み事の複数ファイルに分け、
新しいファイルから順に表示する >>21
配列に入れてarray_reverse関数使えば? そもそもDB使えば良いだけなのに
今どきファイルとか無いわ
DBでも今度はorder byすら分からないかもだがw 今時DB使うだけだからFS知識なんて不要
って訳でもないのではと思ったけど、やっぱ不要なんかね >>28
勿論ファイル操作も知っていて当然ではあるけどね
ファイルのアップロード機能とかあれば扱う事もあるけれど
昔に比べたらファイルを直接操作するような事は減ってる気はする 失礼します
フォームを送信した後に他のページに飛ぶようにしたいです。
<form method=“post”>
のところを変えるのでしょうか? >>32
ありがとうございます。
action属性を指定して<form method=“post” action=“移動したいサイトのリンク”>
としたところ、サイトには飛びますが、フォームを送信できなくなります。
開いているサイトに送信してから移動するにはどうすればよいでしょうか? フォームデータ受け取ったページでリダイレクトすればいいだけじゃない >>33
飛ばしたいデータにname属性はつけてる?付けてないなら記述しよう
付けてるなら目視では確認し辛いだろうけど
遷移先のphpで変数等に格納する記述はしてる?
一時的にpostでなくgetにするとurlに表示されるからデータが飛んでるどうかは分かりやすいよ name属性がなかったので付けたら解決しました!
ご教示くださりありがとうございました。 PHPは $d[20][10] のようなサイズ指定の配列変数の定義はできないんですか?
そうなら膨大な大きさの配列作る時、ひとつひとつですごい負担がかかりませんか? PHPの配列特殊ですね
調べてみたんですけどこんな感じでいいでしょうか?
// $dm[200][100]を作る
$dm=array_chunk(array_fill(0,200*100-1,''),100,false); >>38
動的にサイズは増やせるし
あんまり需要ないのよ
膨大な処理をするのもそもそも間違い
DBから拾うなら条件を絞るなりしないとそもそもwebでのサービスに耐えられない
スタンドアローンで何かの処理させるだけなら
C#とかJavaとかで良くね? 何を使うにしろ、まずそういうデカい配列を用意しないと行けないロジックを疑ってみよう 俺がphpで使った一番でかい配列は「エラトステネスの篩」用のやつで60万個ぐらいだった そいやPHPで配列とかの中身いじることなくなってきた気がするなあ
jsonなりでそのまま送っちゃうようになったわ
だいたいSQLで済むしなあ 質問です
windows10でXAMPP環境なんですが、PHPで自身(正確にはルーターの)のグローバルIPを取得する方法はありますか? >>47
デバイスが知らない情報をデバイスに聞いても入手は無理なので、外部にアクセスしてそこから情報を抜き出すコードを書くと良いです。 フリーDNS提供サイトを利用している人なら
サイト側でアドレス取得サービス提供していると思う ありがとうございます、やっぱり外側から取得するしかないんですね〜 ルーターの状態ページのWAN側アドレスにグローバルIP載ってるなら読み込んでパース
BASIC認証の機種なら楽だけど独自のログイン画面使ってるやつだと面倒かもしれん 外部にサーバー置けばそこにリクエスト流せばIP分かるからAPIにして利用すればよいのでは?
単に自己情報だけでは分からんよ
分かるのはwindowsならipconfigで知れる情報くらい
そもそも外部にどのように出るかわからんしな >>54
そんなの使う人によってルーターなんて違うしどこが良いやり方なのかと どういう環境がしらんけど
ルーターのグローバルIPアドレスならupnpで取れるんじゃね? グローバルIP質問した者です
みなさまありがとうございます
目的は自分のホスト名からIPに変換した値と、実際の自分のグローバルIPを定期的に比較して、無料のDDNSがちゃんと動いてるかチェックしてます
DDNS更新ツールで、Diceって名前のソフトがあったと思いますが、あれって自身のグローバルIPを検出する時、ソフト内部から外と通信して結論出してるってことになるのか〜
つまり作者のサーバが落ちたら動かないとか。
てっきりwindows内で検出する方法があるのかと思ってました DiCEはipcheck.datに書いてあるところに問い合わせてる
大昔に使ったときはなぜか他の通信阻害したり常駐させたままシャットダウンすると設定ファイルたまに飛んだりであまりいい印象はない diceみたいなものかと思ったらそうだった
execでipconfig叩いて何とかなりそうな
知らんけど >>61
それならグローバルIPも意味がないやんw PHPでアプリをたくさん作る本はないですか?
入門書にありがちな細かい文法の説明はいらないですから。
理想はその1冊で10個くらいの簡易なアプリの作り方を説明してる本。 なぜなら、基礎が出来たらそのあとは実践や練習としていっぱいアプリを作りまくったほうがスキルが上達すると聞いたからです。 >>69
自分で作りたいものを見つけて取り敢えず作り始めれば(着手すれば)いいと思うが、それができないならまだ基礎ができてないんじゃね >>66
ググって出て来なきゃ無いだろ。今時出版側もSEO程度はしてるだろうし。
無い場合の理由は売れない/必要ないの両方だろうね。
あと、アプリを作るならPHPよりも他言語の方がだいぶマシだからそうした方がいいと思うよ。
どのみちJSは避けて通れないから手っ取り早いのはNodeとか。 >>72
ワッチョイの必死チェッカー
アプリと呼ぶ程の物でもないけど、PHPだけで済むし、あれば使うかも PHP8だと下記がfatal errorなんですが、どうすれば良いでしょうかmm
ググっても分かりませんでした。
if (!isset($value['url']))
$value['url'] = ''; >>74
どんなエラーなの?
それだけ見たらエラー要素が無いが スクレイピングに興味があるのですが1時間に1回の頻度のGETだけで訴えられる危険があるって本当ですか? 普通にブラウザでアクセスするだけで訴えられるレベルやん >>76
はい。普通にありえます
権利系の話では頻度は関係ありません インターネットで公開してるから何でも自由にしていいってわけじゃないからねえ
こそこそやるのが不安なら、権利関係のページ見るとかサイト管理者に聞くとかすればええやろ PHP覚えようと本買った途端に
「マイクロソフト、スクリプト言語「PHP 8.0」以降の正式サポートを中止」
って記事を見かけたんだけど、もうPHPは衰退するん? >>80
そもそもMSとは元々あまり関係なかったからどうでもいい >>83
そうなん?本代無駄になるかと思った
サンクス 開発に協力しない、IIS等で使用できないという意味だっけ
公式に8.0のwindows版置いてあるでしょ myspli_queryを使ってcount数を引っ張ってきたいんですけど恐らく(?)型が違う為か数式に当てはめられません、、、
型が楽なphpに頼ってまともにやってこなかった自分が悪いのですが変換方法教えて頂けませんか count(columnname) as newname
$records["newname"]
で解決する話? laravelについて教えてください。
以下のようなリレーションの際にAモデルからDの値を取得するにはどうしたらいいですか?ちなみにbelongsToManyではうまくとれませんでした。どなたかよろしくおねがいします
AとBは1対多
BとCは1対1
CとDは多対1 ツイッターを使おうとしていて
入門動画や解説ページをいくつか見たが説明が抽象的過ぎてなにがなんだかわからん
クラス図とかER図とか使って何をやったら何が起きるかを具体的説明してる資料ってどこかに無い? >>90
クラス図とER図が抽象的なら、どう言えば具体的になるんだ >>92
○○を取得したい、とかだろ。
そもそもお前には無理だと思うが。
>>89
> 入門動画や解説ページをいくつか見たが説明が抽象的過ぎてなにがなんだかわからん
それはお前がその動画等で想定されている「入門者」にすら至ってないだけの話。
一般論として入門者向け内容は「○○するだけでほらこんなに簡単に出来る!」だから、
見て分からんとかありえん。その先をやろうとすると実は結構大変、というのは常だが。
> クラス図とかER図とか使って
逆に、API等の説明で「クラス図とかER図とか使って」る例なんて無いだろ。
PHPと言えばLaravelだけど、見てみろよ。無いから。
APIって基本「○○すれば△△が得られます」だから必要ないし。
お前DB屋か?目の付け所や考え方が明らかにずれてる。 >>93
>○○するだけでほらこんなに簡単に出来る!
だから、その○○したときに、何がどうなってるのか何にも書いてないからさっぱりわからんのよ >>95
いや、おまえがそんなにわかってるってのなら
代表的なユースケースの定義と基本シナリオをひとつ書いてみてくれ クラス図を書くとクラス間の関係が明確になる
ER図を書くとそこからRDBが自動生成できる
大規模な開発ではクラス図ER図などの図と
仕様書が開発者に渡され、それで開発する
こんなところか? >>98
おまえ、設計レベルの違いもわからんのか?
ユースケースレベルの話にAPI持ち出すとかド素人なん? ■ このスレッドは過去ログ倉庫に格納されています