X



【PHP】下らねぇ質問はここに書き込みやがれ 10

■ このスレッドは過去ログ倉庫に格納されています
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
0198デフォルトの名無しさん (ワッチョイ 6f8c-B7Il)
垢版 |
2019/03/19(火) 23:59:06.58ID:rDiaexLE0
>>194
でもサニタイズしたはずなのにphpでフォームにJavascriptの$valueの中身入れるて飛ぶとYahooに飛んじゃってるんだよなIEで確認したから間違いないけど
0201デフォルトの名無しさん (ワッチョイ cfda-h1+v)
垢版 |
2019/03/20(水) 18:33:53.86ID:DvYG4dOj0
PHPやたったことないんだけど、どういう風に起動してるのか俺に簡単に説明してくれない?

cgi(まあperlとしよう)だと、ブラウザがhttpdにリクエストして、cgi(perl)を起動する。
httpdは標準出力(まあたぶんhtml)を受け取り、それを必要なら加工/整形(主にヘッダー) してブラウザに出力する。

phpはどこで誰からリクエストを受けてどうやって動いて、誰に何を出力してんの?
そしてcgiとは何が違うの?
とりあえず、cgi(perl)と違うのは、常駐して起動してるから速いんだよ、ってのは聞いたけど、それ以上は分からない。

そのへんを分かりやすく俺に教えてやってくれ
お願いします
0202デフォルトの名無しさん (ワッチョイ 8f02-MWYG)
垢版 |
2019/03/20(水) 20:16:45.35ID:G66GdUMN0
phpはcgiモードとmoduleモードがあって
cgiは呼び出し式
moduleモードは常駐式
受け取ったデータの処理の流れは一般的なcgiと同じでhttpd経由
常駐だから早いのも確かにそうだけど、標準機能のみで色々できるから、機能を都度importしない事も速さの主因
まあそれはちょっとhttpdとの関連性からは離れている話ですね
0203デフォルトの名無しさん (ワッチョイ cfda-h1+v)
垢版 |
2019/03/20(水) 21:25:54.44ID:DvYG4dOj0
>>202
わかったありがとう!
cgiモードとmoduleモードの選択ってのは、どこで誰(どのプログラム)が判断して決めるの?
php自身がmoduleモードで動いていて、httpdがmoduleモードで動いてるphpに対してのアクセス方法を知っているってこと?
0204デフォルトの名無しさん (ワッチョイ cf2c-Of+3)
垢版 |
2019/03/20(水) 21:57:05.35ID:RdYQnT9u0
.exe, .dll の違い。
例えば、sqlite3.exe, sqlite3.dll の違い

CGI は、.exe と同じ。
別プロセスを起動するから、その起動時間が掛かる

.dll は、そのプログラム(プロセス)内にライブラリを読み込むだけ。
別プロセスを起動していない
0205204 (ワッチョイ cf2c-Of+3)
垢版 |
2019/03/20(水) 22:02:24.68ID:RdYQnT9u0
Ruby, PHP, Perl などのCGI では、
httpd が別プロセスを起動して、結果を取得して、プロセスを終了させる

毎回この起動・終了に、時間が掛かるから、
起動しっ放しというモードもある
0206デフォルトの名無しさん (ワッチョイ cfda-h1+v)
垢版 |
2019/03/20(水) 22:07:48.21ID:DvYG4dOj0
>>204
かなり分かった!
httpdが自分のプロセスにdllを取り込むってことかな?
0207デフォルトの名無しさん (ワッチョイ b301-dgXV)
垢版 |
2019/03/21(木) 09:03:31.33ID:PB8+T8io0
https://i.imgur.com/QB190U9.jpg
このプログラム実行して、43行目にphp Array to string conversion inっていうエラーが出る。ググッて見たけど分からん。
0211デフォルトの名無しさん (ワッチョイ b301-dgXV)
垢版 |
2019/03/21(木) 15:36:27.39ID:PB8+T8io0
解決しました!ありがとうございます
0213デフォルトの名無しさん (ワッチョイ c68c-SbEy)
垢版 |
2019/03/21(木) 18:32:18.31ID:QCgCURXL0
>>193
原因がわかったわ、その前にページが止まるからなぜなんだろうと思ったらChromeが制御してたわ
コードのscriptタグを検知して連続遷移しないようにしてたみたいだ、余計なことを・・・
0214デフォルトの名無しさん (ワッチョイ b301-JcKA)
垢版 |
2019/03/21(木) 19:26:17.36ID:iAqXNI0+0
質問です。
htmlソースをinclude等で読み込む際、そのソースの途中に追記する事ってできますでしょうか?

読み込むソース
<div>1行目</div>
<div>2行目</div>
<div>3行目</div>

includeする時にこうしたい
<div>1行目</div>
<p>追記</p>
<div>2行目</div>
<div>3行目</div>
0216デフォルトの名無しさん (ワッチョイ de2c-ZSTg)
垢版 |
2019/03/21(木) 21:19:06.65ID:ZeSQsBE10
Ruby, JavaScript にもある、部分テンプレートを読み込む、partial file の機能だろ。
PHP のフレームワークにもあるはず

一般的には、header, footer などの各部分は、別ファイルにして読み込んで使う
0217デフォルトの名無しさん (ワッチョイ b301-JcKA)
垢版 |
2019/03/22(金) 00:15:37.10ID:j6KcVv1w0
>>215
すいません質問の仕方が悪かったです。 
読み込む側のページでのみ関数みたいに個別で追記をしたいんです。
読み込まれる側のファイルにURL判別とかの細工でもしないと無理ですかね・・?


jQueryでいう、.loadしたソースにコールバックで.insertAfter();を走らせるイメージです。
0219デフォルトの名無しさん (ワッチョイ dea7-9VoM)
垢版 |
2019/03/24(日) 03:24:20.66ID:u71/GScf0
include/requireは関数じゃないので返り値としてソースを受け取れないから
そのinclude/requireしたファイル内で追記してどうこうってのは無理
file_get_contentsみたいの使ってメモリにロードすれば可能
そこでロードしたソースをいじればいい
PHP標準のDOMパーサーは非常に使いづらいので正規表現がお手軽
細かい関数の使い方は調べてもらうにして

#tmpl.inc
<div>1行目</div>
<div>2行目</div>
<div>3行目</div>

#a.php
<?php
$src = file_get_contents('tmpl.inc');


a.phpでどうしてもinclude/requireしたものをとっておきたいならラップして
#a.php
<?php
require 'tmpl.inc';

#b.php
<?php
$src = file_get_contents('a.php');
0222デフォルトの名無しさん (ワッチョイ b301-DTGA)
垢版 |
2019/03/24(日) 17:37:53.78ID:VT2RwePW0
>>219
>include/requireは関数じゃないので返り値としてソースを受け取れない
理解しました。ありがとうございます!
file_get_contentsはスクレイピング時に使った事あるのですぐ理解できました
ありがとうございます〜

>>220,>>221
ありがとうございます
一番知りたかったのはinclude/requireでは無理と言う事でした
方法論、参考にさせていただきます
0223デフォルトの名無しさん (ワッチョイ 06ca-qfZi)
垢版 |
2019/03/24(日) 18:04:06.12ID:cA6CskBI0
>>222
http経由の file_get_contents なら >>219 の b.php は tmpl.inc の内容(が require で処理されたもの)が得られるけど、多分そのままやってもローカルの a.php のソース自体が得られるだけだと思うからきちんと実験した方がいいよ。

>>220 のやり方は例えばメールの文面なんかを別ファイル化したりといろいろ使い道があるよ。
mail.inc を
お問い合わせありがとうございます
<?=$date;?>に<?=$name;?>からのお問い合わせを受け付けました。
受付番号は <?=$no;?> です。

みたいに書いておいて >>220 のやり方で mail.inc を include すると、変数が当て込まれた形で $contents として得られる。
これを
list($subject, $body) = explode("¥n", $contents, 2);
とやってタイトルと本文に分離してメールを送るとかね。
$date とか $name なんかの変数は include してるスコープから見えるように設定しておく。
0225デフォルトの名無しさん (ワッチョイ caf0-0zLl)
垢版 |
2019/03/25(月) 17:56:02.49ID:IkNYQuI20
$paramに連想配列を格納して、foreachで取り出そうとしてるんですけど
先頭要素のキーが取り出せず、先頭要素の値から取り出し始めてしまうのですが
そういう挙動に詳しい人いらっしゃいますか?
0231デフォルトの名無しさん (ワッチョイ c646-0zLl)
垢版 |
2019/03/27(水) 07:02:12.26ID:LqjZ6KSp0
初めて聞く症状だけれど
var_dumpで確認できている配列データなら
foreachで取り出せないわけないので
見間違いとか、スクリプトやタグのせいで消えてしまっているとか別の要因なんでしょ
0232デフォルトの名無しさん (ワッチョイ 06ca-qfZi)
垢版 |
2019/03/27(水) 07:22:24.12ID:yj3g7joz0
だなぁ
>>226 のコードで最初のキーが取り出せず値から取れちゃうというのが、$key と $value に具体的に何が入ってるということなのか分からんな。
言葉通りに捉えれば $key に最初の要素の値が入ってるんだろうが、んじゃ $value には何が入ってるの?みたいな。
0233デフォルトの名無しさん (ワッチョイ 9fa9-ZTi4)
垢版 |
2019/03/29(金) 19:38:19.41ID:DzAWjPl30
centos7でphp72をremiで入れた場合、

# php
-bash: php: コマンドが見つかりません

を解消するための、正しいシンボリックリンクの張り方ってどこに作ってどこへ向けるのが正解?

/usr/binに作るのか、
パスが通っていればどこでも良いのか、迷ってます。

インストールしたときは
# cd /bin/ ; ll | grep php
php72 -> /opt/remi/php72/root/usr/bin/php
となっています。
0235デフォルトの名無しさん (ワッチョイ 9fa9-ZTi4)
垢版 |
2019/03/30(土) 01:45:18.36ID:3vDAxa540
>>234
はい、入ってますが、phpは宙ぶらりんな状態になっていますので、毎回シンボリックは張る物だと思っていました。

# yum list | grep php72 | grep cli
php72-php-cli.x86_64 7.2.16-1.el7.remi @remi-safe

# which php
/usr/bin/which: no php in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)

# which php72
/bin/php72
0237デフォルトの名無しさん (ワッチョイ efad-zf8N)
垢版 |
2019/04/01(月) 02:47:56.82ID:6Qmf1LuG0
lineボット作ろうとしてるけど
curl_initが使えない
0242デフォルトの名無しさん (ワッチョイ 0f2c-injD)
垢版 |
2019/04/03(水) 01:37:44.24ID:4XO/CSdW0
Windows 10では、バージョン1803(Windows 10 April 2018 Update)で、
curlコマンドが、標準コマンドとして追加された。
ただし、Linux のcurl とは挙動が異なるかも知れない??

コマンドプロンプトで、where curl とすると、
C:\Windows\System32\curl.exe

PowerShell にも、curl というalias がある。
こちらの実体は、Invoke-WebRequest。
こちらよりも、curl.exe を使った方がよいかも

PowerShellで、gal -name curl とすると、
curl -> Invoke-WebRequest
0243デフォルトの名無しさん (スフッ Sdbf-zf8N)
垢版 |
2019/04/03(水) 13:15:08.75ID:H4sG9A7Rd
>>242
ubuntu18でやってるんよね
webシステム作ってて
0244デフォルトの名無しさん (ワッチョイ 9ff0-r4m/)
垢版 |
2019/04/03(水) 14:20:29.53ID:zicRLWLY0
質問させてください。よろしくお願いします。
DBはsqliteというのを使っています。

DBは、user_name : 都道府県 :というカラムがあります。DB件数は1000件で、ランダムで生成しています。
formページで、都道府県を入力すると、$form_prefという変数に入力値を格納し、
DBへは、where('都道府県','$form_pref)で検索すると、検索結果は0になります。
また、where('都道府県','東京')で検索すると、検索結果は正しく検索されます。
where句で、変数によって検索をかけると、正しく検索されないのはなぜなのでしょうか?
0245デフォルトの名無しさん (オッペケ Sr4f-Xesi)
垢版 |
2019/04/03(水) 14:46:17.53ID:57e5+lwMr
>>244
なんのライブラリ使ってるかしらんが、そもそもお前のそのソースよくみろ
余計なものが入ってるだろ
0256デフォルトの名無しさん (ワッチョイ c6ad-I1WO)
垢版 |
2019/04/04(木) 10:30:53.37ID:kJslP6Nd0
>>254
ファイル数が万単位とかであるならば
255も言ってるようにDBで拡張子ごとにファイル名を管理したり
jsonでデータ管理してみたら
0257デフォルトの名無しさん (ワッチョイ c6ad-I1WO)
垢版 |
2019/04/04(木) 10:36:26.67ID:kJslP6Nd0
個人的にはjsonが好き
0258デフォルトの名無しさん (ワッチョイ 7d02-w1lf)
垢版 |
2019/04/04(木) 10:41:50.32ID:l5IgkZnr0
>>254
まんま、したい事すりゃ良い。
jpgか調べて見つけた時点でreturn true。
0262デフォルトの名無しさん (ワッチョイ b901-7xOg)
垢版 |
2019/04/04(木) 15:38:52.96ID:j78mKFJX0
PHP始めるけどどんな環境がいいの?
IDEは多分vscode使いたい
Pythonだとインポートサジェストがvscodeにはまだないけどphpは大丈夫?
それとPythonで言うanacondaみたいなものはあるの?
鉄板とかあるの?
0265デフォルトの名無しさん (ワッチョイ b901-7xOg)
垢版 |
2019/04/05(金) 10:24:35.32ID:0lUjLeBK0
色々と調べてみるとザンプにしますか?Dockerにしますか?って感じなんだな
やっぱりLinux上でやらないと駄目かな?出来るだけ仕事現場でそのまま使えるテクノロジーで学びたいんだけど
0269デフォルトの名無しさん (ワッチョイ b901-7xOg)
垢版 |
2019/04/05(金) 12:52:11.17ID:0lUjLeBK0
>>267
違う板で未経験から働きたいならlpicとってサーバーをある程度理解してる事をアピールしたほうが良いとアドバイスされたんだよね
まぁ取ってなくても早いうちに転職活動したほうがいいとも言われたけど
0275デフォルトの名無しさん (ワッチョイ b901-7+iI)
垢版 |
2019/04/05(金) 21:01:42.24ID:8A68roIQ0
PHPのエディタ、今までAtomを使ってて、VScodeも気になるんだけどどう?
0280デフォルトの名無しさん (オッペケ Sr91-Raum)
垢版 |
2019/04/05(金) 23:37:00.69ID:PMv6rz9+r
マカーはVSコードなど使わないからな
もちろんGithubも使わねえ
0281デフォルトの名無しさん (ワッチョイ ee2c-f03p)
垢版 |
2019/04/05(金) 23:44:48.07ID:xPcsbeSU0
PHP は多いけど、低価格っぽい。
多さの順は、COBOL > Ruby > Python

Ruby は、Vagrant, Chef など、サーバー管理構築運用の仕事もあるから、
OS をよく知っている印象が強い
0283デフォルトの名無しさん (ワッチョイ ee2c-f03p)
垢版 |
2019/04/05(金) 23:58:38.98ID:xPcsbeSU0
>>266
今はLPIC じゃなくて、LinuC。
OS の機能やサーバー管理構築運用なら、Vagrant, Chef などで使われている、Ruby がお勧め。
こういうシェルスクリプトの代替機能を、面倒なPython で学ぶ必要はない!

先に、Rails よりも、Sinatra をいじくりまわせ!

YouTube に、雑食系エンジニアのKENTA の動画がある。
転職者は、見ておくべき。

PHP は、転職での評価が低い

KENTA 自身は、Ruby にそっくりな関数型言語、
Elixir のフレームワークで、ポートフォリオを作ったらしい。
ここまで行くと、年収1千万超!
0284デフォルトの名無しさん (オッペケ Sr91-Raum)
垢版 |
2019/04/06(土) 00:24:48.26ID:uCKV04Asr
phpで年収1800万の俺にくらべたら下じゃん
0285283 (ワッチョイ ee2c-f03p)
垢版 |
2019/04/06(土) 01:23:26.51ID:f7FNE/du0
Rails は、年収3千万円超のハーバード大学でも、教えているほど!

プログラマーなんて、年収が1/5 ぐらいになるのに、なぜ教えるのか、わからないw
0287デフォルトの名無しさん (スップ Sd02-TtNY)
垢版 |
2019/04/06(土) 05:09:54.95ID:tnKohzU7d
KENTAって人の動画をマジで信じてる人いてビビったわ
技術を煽って自分のオンラインサロンに入らせる典型的な不安ビジネスやってる人じゃん

あとあの人のポートフォリオ見たらわかるけどHelloWorldレベルのことしかやってないぞ
0289283 (ワッチョイ ee2c-f03p)
垢版 |
2019/04/06(土) 08:22:38.32ID:f7FNE/du0
KENTA の言ってる事は、おおむね正しい。
また、Ruby から、Elixir までやっているから、てっきりトップ・エンジニアだと思っていた

>>286
Ruby なら、`〜` で囲むと、コマンドも実行できる。
puts `ls | wc -l`

1-liner なら、
ruby -e 'puts `ls | wc -l`'

だから、OS の機能や、サーバー管理構築運用のVagrant, Chef などで、Rubyが使われている

PowerShell コマンドも呼べる。
例えば、クリップボードを取得する

puts `powershell Get-Clipboard`

1-liner なら、
ruby -e 'puts `powershell Get-Clipboard`'
0290デフォルトの名無しさん (ワッチョイ b901-7+iI)
垢版 |
2019/04/06(土) 12:01:46.77ID:I7rc3KX60
>>287
kwsk
0292デフォルトの名無しさん (ワッチョイ 85da-KJrz)
垢版 |
2019/04/06(土) 20:44:27.91ID:luFKN00U0
このスレなら 「PukiWikiから○○に移行したよ」って人もいそうなのでお聞きします。
いま時の 小規模向けWiki でオススメのがあったら教えてください。 PHPベースでなくても構いません。
昔 PukiWiki で個人的なメモを管理してたんですが もう何年もご無沙汰しています。
0293デフォルトの名無しさん (ワッチョイ 4901-Fply)
垢版 |
2019/04/11(木) 04:36:20.03ID:yaNFrze20
ローカルでしかPHP触ったことないんだけどネットに繋ぐ場合ってどんな方法ある?サーバーを借りるの以外で
0296デフォルトの名無しさん (ワッチョイ 4901-Fply)
垢版 |
2019/04/11(木) 09:55:10.52ID:w1EtGven0
>>295
いまアパッチ使ってローカルでやってるんだけど設定変えて繋げたらセキュリティとかの対策必要なの?
仮想環境でやってないからちょい怖い
■ このスレッドは過去ログ倉庫に格納されています

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