PHPに関する質問スレです
前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 9
http://mevius.5ch.net/test/read.cgi/tech/1513760420/
次スレは>>980以降
本文の1行目に以下を追加すること
!extend:on:vvvvv:1000:512
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
探検
【PHP】下らねぇ質問はここに書き込みやがれ 10
レス数が900を超えています。1000を超えると表示できなくなるよ。
1デフォルトの名無しさん (ワッチョイ cfe8-+65u)
2018/11/28(水) 17:08:46.02ID:Nb5yTkdM0808デフォルトの名無しさん (ブーイモ MMa7-mtzg)
2020/02/21(金) 11:36:12.22ID:uhz6TO4QM809デフォルトの名無しさん (オイコラミネオ MM47-1Tph)
2020/02/21(金) 12:41:45.52ID:KI0NB2iSM >>808
一時ファイルの掃除のためにこの辺を読んでおくといいと思う。
https://www.php.net/manual/ja/session.customhandler.php
destroy とか gc で一時ファイルを掃除する必要があるはず。
一時ファイルの掃除のためにこの辺を読んでおくといいと思う。
https://www.php.net/manual/ja/session.customhandler.php
destroy とか gc で一時ファイルを掃除する必要があるはず。
810デフォルトの名無しさん (ワッチョイ 8f89-sS5o)
2020/02/23(日) 17:03:54.18ID:LPteoL8J0 preg_match_allを使ってリンク先が画像のURL取得したいんだけど正規表現がわかりません。
これを↓
<a href="http://img.hoge/001.jpg" target="_blank">
こうしたい↓
http://img.hoge/001.jpg
作ってみたのがこれ↓
preg_match_all('/href="(.*?)(jpg|jpeg|png)?"/', $html, $imgurllist);
わかる方いらっしゃいました教えて下さい。
これを↓
<a href="http://img.hoge/001.jpg" target="_blank">
こうしたい↓
http://img.hoge/001.jpg
作ってみたのがこれ↓
preg_match_all('/href="(.*?)(jpg|jpeg|png)?"/', $html, $imgurllist);
わかる方いらっしゃいました教えて下さい。
811デフォルトの名無しさん (ワッチョイ 8f02-wKkS)
2020/02/23(日) 17:21:12.17ID:UC/kHLCn0 "の前に\が必要かも?
href=\"(.*?\.png|.*?\.jpeg|.*?\.jpeg)\"
なんてどうでしょう
href=\"(.*?\.png|.*?\.jpeg|.*?\.jpeg)\"
なんてどうでしょう
812デフォルトの名無しさん (ワッチョイ 8f02-wKkS)
2020/02/23(日) 17:21:56.35ID:UC/kHLCn0 最後はjpgの間違い
813デフォルトの名無しさん (ワッチョイ a3a7-icXw)
2020/02/23(日) 18:39:43.25ID:p2aTkQco0 なんでもかんでも正規表現でやらんほうがいいよ
ちゃんとしたの書くの難しいし何より自分がわからないのは良くない
多少時間はかかるかもしれないが
getElementsByTagName('a')->getAttribute('href')でa hrefのリストとってきて
1個ずつpathinfo['extension']を見ていく感じ
pathinfo['extenstion']の?以降を除外してstrtolowerで拡張子小文字にした上で
in_arrayあたりで比較すればいいんでは?
ちゃんとしたの書くの難しいし何より自分がわからないのは良くない
多少時間はかかるかもしれないが
getElementsByTagName('a')->getAttribute('href')でa hrefのリストとってきて
1個ずつpathinfo['extension']を見ていく感じ
pathinfo['extenstion']の?以降を除外してstrtolowerで拡張子小文字にした上で
in_arrayあたりで比較すればいいんでは?
814デフォルトの名無しさん (アウアウウー Sae7-bgYn)
2020/02/23(日) 19:13:36.62ID:xNzf67+4a 正規表現なら一行で書けるのにごちゃごちゃ関数かます方が意味分からない
815デフォルトの名無しさん (ワッチョイ ff63-Nz9x)
2020/02/23(日) 19:21:02.12ID:S7JwB5qb0 あの呪文のような記述を受け付けない人もいるみたいだ
俺は好きなんだけどな
俺は好きなんだけどな
816デフォルトの名無しさん (ワントンキン MM9f-IDX8)
2020/02/23(日) 19:29:10.11ID:EUelPM9rM817デフォルトの名無しさん (アウアウウー Sae7-bgYn)
2020/02/23(日) 19:52:51.22ID:xNzf67+4a 新手の教えて君か?
その手には乗らねーよ
その手には乗らねーよ
818デフォルトの名無しさん (ワントンキン MM9f-IDX8)
2020/02/23(日) 20:18:07.28ID:EUelPM9rM ま、こんなもんだろ
口先だけで自信ないから書けない
正規表現なんて書けた気でいるやつが大半でバグの温床
本当にちゃんと書けるやつだけ使えな
口先だけで自信ないから書けない
正規表現なんて書けた気でいるやつが大半でバグの温床
本当にちゃんと書けるやつだけ使えな
819デフォルトの名無しさん (アウアウウー Sae7-bgYn)
2020/02/23(日) 20:46:46.39ID:xNzf67+4a 頭がバグってるやつに言われてもね
820デフォルトの名無しさん (ワッチョイ ffad-C6+A)
2020/02/23(日) 21:13:29.11ID:0sUq9sLC0821デフォルトの名無しさん (ワッチョイ 6fda-Nz9x)
2020/02/23(日) 21:37:24.28ID:rIVuphj20 先輩が書いたコードを見ると $_SERVER などの取得する値に対して
urldecode やら isset やらで本当にその値か正しいものかどうか、セットされてるかどうか
毎度調べてるようなのですが、正しくない場合の事例が書いてあるサイトってありますか?
また、この手のエスケープや存在確認やらがまとめてあるサイトもあれば教えていただけますでしょうか。
自分では追っかけきれず、毎度先輩に迷惑掛けてしまっている状態で申し訳ないっす…
urldecode やら isset やらで本当にその値か正しいものかどうか、セットされてるかどうか
毎度調べてるようなのですが、正しくない場合の事例が書いてあるサイトってありますか?
また、この手のエスケープや存在確認やらがまとめてあるサイトもあれば教えていただけますでしょうか。
自分では追っかけきれず、毎度先輩に迷惑掛けてしまっている状態で申し訳ないっす…
822デフォルトの名無しさん (ワッチョイ 8302-8E80)
2020/02/23(日) 22:27:34.54ID:jUm6GNGX0823デフォルトの名無しさん (ワッチョイ 3308-p4c1)
2020/02/24(月) 11:46:26.32ID:/D+Ss1rU0 >>821
$_SERVERで取れるのは環境変数
環境変数って言うぐらいだから、その値が必ずある保証なんてないし、めちゃくちゃな値をセットする事もできる
例えば
$_SERVER['HTTP_USER_AGENT']
とかな。自分でめちゃくちゃな値をセットして自分で実験してみたらいい
isset()なんか使わんけどねw
あるか無いか分からない時は getenv() 使えばいい
urldecode()にいたっては検証用の関数ですらない
URLエンコードされたデータをデコードしてるだけ
なんていうかHTTPの基礎から理解できてない
とりあえずGoogle Chromeのデベロッパツールでも眺めてHTTPの流れから理解した方がいいんじゃね?
$_SERVERで取れるのは環境変数
環境変数って言うぐらいだから、その値が必ずある保証なんてないし、めちゃくちゃな値をセットする事もできる
例えば
$_SERVER['HTTP_USER_AGENT']
とかな。自分でめちゃくちゃな値をセットして自分で実験してみたらいい
isset()なんか使わんけどねw
あるか無いか分からない時は getenv() 使えばいい
urldecode()にいたっては検証用の関数ですらない
URLエンコードされたデータをデコードしてるだけ
なんていうかHTTPの基礎から理解できてない
とりあえずGoogle Chromeのデベロッパツールでも眺めてHTTPの流れから理解した方がいいんじゃね?
824デフォルトの名無しさん (ワッチョイ 3308-p4c1)
2020/02/24(月) 11:58:40.79ID:/D+Ss1rU0825デフォルトの名無しさん (ワッチョイ 3308-p4c1)
2020/02/24(月) 12:00:32.05ID:/D+Ss1rU0 >>810
くそ適当に書くけど
$html = '<a href="http://img.hoge/001.jpg" target="_blank">';
preg_match_all('/href\s*=\s*([\'"])(.+?\.(?:jpe?g|png))\\1/i', $html, $match, PREG_SET_ORDER);
print_r($match);
・大文字小文字の考慮
・スペース文字の考慮
・シングルクォートで挟むのかダブルクォートで挟むのかの考慮
正規表現を使うならせめてこれぐらいはしようよw
くそ適当に書くけど
$html = '<a href="http://img.hoge/001.jpg" target="_blank">';
preg_match_all('/href\s*=\s*([\'"])(.+?\.(?:jpe?g|png))\\1/i', $html, $match, PREG_SET_ORDER);
print_r($match);
・大文字小文字の考慮
・スペース文字の考慮
・シングルクォートで挟むのかダブルクォートで挟むのかの考慮
正規表現を使うならせめてこれぐらいはしようよw
826デフォルトの名無しさん (ワッチョイ 3308-p4c1)
2020/02/24(月) 12:08:32.46ID:/D+Ss1rU0827デフォルトの名無しさん (ワッチョイ 8f89-sS5o)
2020/02/24(月) 12:27:06.58ID:bCyGnyrg0828デフォルトの名無しさん (ワッチョイ 4301-ChGR)
2020/02/24(月) 18:10:06.13ID:rxpR87T30 >>821
毎度?普通はそういう繰り返し使われる処理はライブラリ化すると思うけど
毎度?普通はそういう繰り返し使われる処理はライブラリ化すると思うけど
829デフォルトの名無しさん (ワッチョイ 4301-ChGR)
2020/02/24(月) 18:12:00.24ID:rxpR87T30 正規表現なら1行で書けるといいながらその1行すら書けずに逃げた>>814が恥ずかしすぎる
830デフォルトの名無しさん (ワッチョイ 6fda-Nz9x)
2020/02/24(月) 18:27:40.24ID:pG7e8gTP0831デフォルトの名無しさん (ワッチョイ 3308-p4c1)
2020/02/24(月) 19:35:47.79ID:/D+Ss1rU0 >>830
上のタブでNetworkを選んでHeadersのところを見る
Request Headersに書かれてるのが、ウェブサーバに対するHTTPリクエストの内容
例えばそこにAccept-Encoding: gzip とあれば
ウェブサーバがそれを見てコンテンツをgzip圧縮してレスポンスとして返す
そしてウェブブラウザがそれをデコードして元に戻す
User-Agentなんかも書かれてるはず
Accept-EncodingにせよUser-Agentにせよあくまでも自称であり、
そこには嘘でもめちゃくちゃな文字列でもなんでも書けるんだよ
だから値を信用したら駄目ってこと
上のタブでNetworkを選んでHeadersのところを見る
Request Headersに書かれてるのが、ウェブサーバに対するHTTPリクエストの内容
例えばそこにAccept-Encoding: gzip とあれば
ウェブサーバがそれを見てコンテンツをgzip圧縮してレスポンスとして返す
そしてウェブブラウザがそれをデコードして元に戻す
User-Agentなんかも書かれてるはず
Accept-EncodingにせよUser-Agentにせよあくまでも自称であり、
そこには嘘でもめちゃくちゃな文字列でもなんでも書けるんだよ
だから値を信用したら駄目ってこと
832デフォルトの名無しさん (ワッチョイ 3308-p4c1)
2020/02/24(月) 19:42:59.09ID:/D+Ss1rU0 >>830
自分でHTTPクライアントを作ってみるのが一番いい
fsockopen()やstream_socket_client()あたりでサーバに接続して
HTTPの命令を送ってレスポンスを受け取るみたいなコードを書けばHTTPの流れは一発で理解できる
「PHP stream_socket_client HTTP/1.1」とか適当にググったら、たぶんサンプルコードは見つかるはず
自分でHTTPクライアントを作ってみるのが一番いい
fsockopen()やstream_socket_client()あたりでサーバに接続して
HTTPの命令を送ってレスポンスを受け取るみたいなコードを書けばHTTPの流れは一発で理解できる
「PHP stream_socket_client HTTP/1.1」とか適当にググったら、たぶんサンプルコードは見つかるはず
833デフォルトの名無しさん (ワッチョイ ff2c-lQWV)
2020/02/24(月) 20:05:32.49ID:ZFXUbFog0 漏れは、5ch の投稿から、画像のリンクだけを取り出すために、
Ruby で、こういうモジュールを作っている
module MyUtility
require 'uri'
@@EXTS = %w(png jpg jpeg gif) # 画像の拡張子
# 画像の拡張子かどうか?
def check_picture_extname? ( picture_url )
return false if picture_url.empty?
begin
uri = URI.parse picture_url
rescue # 半角以外の文字
return false
end
file_name = File.basename(uri.path) # ファイル名
file_extname = File.extname(file_name) # 拡張子
return false if file_extname.empty?
# . を削除して、小文字にする
file_extname.delete!(".").downcase!
@@EXTS.include? file_extname # 含まれている?
end
module_function :check_picture_extname? # 公開
end
Ruby で、こういうモジュールを作っている
module MyUtility
require 'uri'
@@EXTS = %w(png jpg jpeg gif) # 画像の拡張子
# 画像の拡張子かどうか?
def check_picture_extname? ( picture_url )
return false if picture_url.empty?
begin
uri = URI.parse picture_url
rescue # 半角以外の文字
return false
end
file_name = File.basename(uri.path) # ファイル名
file_extname = File.extname(file_name) # 拡張子
return false if file_extname.empty?
# . を削除して、小文字にする
file_extname.delete!(".").downcase!
@@EXTS.include? file_extname # 含まれている?
end
module_function :check_picture_extname? # 公開
end
834デフォルトの名無しさん (ワッチョイ 6fda-Nz9x)
2020/02/24(月) 20:10:17.32ID:pG7e8gTP0835デフォルトの名無しさん (ワッチョイ ff2c-lQWV)
2020/02/24(月) 20:20:22.27ID:ZFXUbFog0 VSCode の拡張機能の、REST Client を使えばよい
### で区切れば、いくつでも書ける。
カーソルを置いて、右クリックメニューから送信
GET http://localhost:8888/?page=2&pageSize=10 HTTP/1.1
###
POST http://localhost:8888/ HTTP/1.1
content-type: application/json
{
"name": "sample",
"time": "Wed, 21 Oct 2015 18:27:50 GMT"
}
###
### で区切れば、いくつでも書ける。
カーソルを置いて、右クリックメニューから送信
GET http://localhost:8888/?page=2&pageSize=10 HTTP/1.1
###
POST http://localhost:8888/ HTTP/1.1
content-type: application/json
{
"name": "sample",
"time": "Wed, 21 Oct 2015 18:27:50 GMT"
}
###
836デフォルトの名無しさん (ワッチョイ fb5f-g6LZ)
2020/03/04(水) 00:36:08.76ID:4nMHG/7W0 phpファイルにパスワードを記入しているのですが
安全でしょうか?
もしくはもっと安全な方法はありますか?
安全でしょうか?
もしくはもっと安全な方法はありますか?
837デフォルトの名無しさん (ワッチョイ 9f63-xiWk)
2020/03/04(水) 01:50:10.45ID:9gBPL9dd0 安全かどうかと聞かれれば、安全ではないと答えるが
838デフォルトの名無しさん (ワッチョイ 4f89-x1Qw)
2020/03/07(土) 21:24:50.43ID:0OcB8lvE0 質問です。
テキストファイルにキーワードが書いてあり、
それを読み込んで一致する文字列があったらtrueを返します。
しかし、たまに一致箇所があるにも関わらずスルーされる場合があります。
なぜでしょうか?
判定は↓のような感じです。
strpos($str,'キーワード') !== false
テキストファイルにキーワードが書いてあり、
それを読み込んで一致する文字列があったらtrueを返します。
しかし、たまに一致箇所があるにも関わらずスルーされる場合があります。
なぜでしょうか?
判定は↓のような感じです。
strpos($str,'キーワード') !== false
839デフォルトの名無しさん (ワッチョイ 9fad-j73r)
2020/03/07(土) 22:30:19.72ID:olnFzWkU0840デフォルトの名無しさん (ワッチョイ 1fdd-BxM+)
2020/03/07(土) 22:38:56.40ID:1MRzagVb0 改行が混ざってるんじゃない?
841デフォルトの名無しさん (ワッチョイ 4f89-x1Qw)
2020/03/07(土) 23:48:46.74ID:0OcB8lvE0 すみません。
解決しました。
原因は、テスト用のフォルダのパスのままになっていたことと
試運転時のデータが一部使われていた事により
一部検出されていないというおかしな状態になっているということでした。
解決しました。
原因は、テスト用のフォルダのパスのままになっていたことと
試運転時のデータが一部使われていた事により
一部検出されていないというおかしな状態になっているということでした。
842デフォルトの名無しさん (ワッチョイ 9f63-yvuU)
2020/03/08(日) 01:24:36.29ID:yy8ndPXN0 原子力発電所じゃなくてよかったw
843デフォルトの名無しさん (ワッチョイ 4bda-R/kF)
2020/03/08(日) 16:38:04.82ID:o6nDRKvt0 die();
exit();
exit は言語構造です。 status を指定しない場合は括弧なしでコールできます。
って今知ったわー
exit();
exit は言語構造です。 status を指定しない場合は括弧なしでコールできます。
って今知ったわー
844デフォルトの名無しさん (ワッチョイ 86da-drwQ)
2020/03/13(金) 02:12:30.03ID:iVXMMcFW0 foreach ($this->_db->query($sql) as $v) {...}
query()やprepare()で準備した文はexecute()必須だと思ってましたが
↑の記述ではexecute()なしでSQL文を実行できているようでした
何故でしょうか?
query()やprepare()で準備した文はexecute()必須だと思ってましたが
↑の記述ではexecute()なしでSQL文を実行できているようでした
何故でしょうか?
845デフォルトの名無しさん (ワッチョイ c263-drwQ)
2020/03/13(金) 02:27:00.67ID:6hF2k6+W0 $sqlの内容が 直接実行可能なSQL文だったらそのままで行けるよ
846デフォルトの名無しさん (ワッチョイ 69f1-ZSAD)
2020/03/13(金) 13:42:16.08ID:3oUhS72l0 ->
=>
がよく混同する。
どれがどの用法かを一発で覚える方法ある?
数ヵ月以上使っていなかったり他言語やってたりすると覚えるのは困難。
=>
がよく混同する。
どれがどの用法かを一発で覚える方法ある?
数ヵ月以上使っていなかったり他言語やってたりすると覚えるのは困難。
847デフォルトの名無しさん (ワッチョイ 86da-drwQ)
2020/03/14(土) 09:55:43.61ID:Vu/3uGwv0 >>845
どうも
$sql のSQL文は下記なのですが、直接実行できるときとできない場合の
見分け方ってありますでしょうか?
$sql = "select answer, count(id) as c from answers group by answer";
bindValue() とかをかましているときに execute() 使っているようなので
プレースホルダの置換しなければおk的な感じなのでしょうか?
どうも
$sql のSQL文は下記なのですが、直接実行できるときとできない場合の
見分け方ってありますでしょうか?
$sql = "select answer, count(id) as c from answers group by answer";
bindValue() とかをかましているときに execute() 使っているようなので
プレースホルダの置換しなければおk的な感じなのでしょうか?
848デフォルトの名無しさん (ワッチョイ 86da-drwQ)
2020/03/14(土) 11:47:05.77ID:Vu/3uGwv0849デフォルトの名無しさん (ブーイモ MM8d-ZSAD)
2020/03/14(土) 12:06:04.05ID:ftz/XzuIM >>846
いまだ自己解決しません
いまだ自己解決しません
850デフォルトの名無しさん (ワッチョイ 068c-WOeG)
2020/03/14(土) 19:01:35.17ID:B3THKCTN0 >>846
->これはアロー演算子だから
オブジェクトとかクラスとか呼び出したときにメソッドを呼び出すときに使うから
クラス名->メソッドとかで
=>これは普通の演算子以下とか以上とかで使うやつだから
->これはアロー演算子だから
オブジェクトとかクラスとか呼び出したときにメソッドを呼び出すときに使うから
クラス名->メソッドとかで
=>これは普通の演算子以下とか以上とかで使うやつだから
851デフォルトの名無しさん (ワッチョイ ed5c-FfQu)
2020/03/14(土) 19:46:32.71ID:DYwfTyBB0 >>=>これは普通の演算子以下とか以上とかで使うやつだから
嘘つき
嘘つき
852デフォルトの名無しさん (ブーイモ MM8d-ZSAD)
2020/03/14(土) 19:58:46.89ID:hEp1GdU0M >>850
このウソつきめ
このウソつきめ
853デフォルトの名無しさん (ワッチョイ 7d02-FfQu)
2020/03/14(土) 20:34:45.23ID:GFwOalat0 >>850
You are a liar!
You are a liar!
854デフォルトの名無しさん (ワッチョイ 068c-WOeG)
2020/03/15(日) 12:42:37.91ID:dxrxQoIU0855デフォルトの名無しさん (ワッチョイ 69a7-R/wk)
2020/03/15(日) 19:54:07.87ID:NaNFV4Bh0 最近はfnとセットでアロー関数使うときにも使うけどね
856デフォルトの名無しさん (ワッチョイ 69d2-WWFo)
2020/03/16(月) 05:40:39.73ID:3OE3knP80857デフォルトの名無しさん (ワッチョイ 69f1-5Ayy)
2020/03/16(月) 10:12:02.17ID:n/UZHZ/90858デフォルトの名無しさん (ワッチョイ f9c4-ZeYt)
2020/03/16(月) 10:41:57.59ID:88XG2BvL0 なんでこうプログラマとかUNIX使いってめんどくさいのが多いかね
859デフォルトの名無しさん (ワッチョイ c263-drwQ)
2020/03/16(月) 14:37:23.52ID:UdSTQWc50 先にめんどくさいことを片付けるか、後からめんどくさいことにぶち当たるかの、違い
860デフォルトの名無しさん (ワッチョイ 1389-xsY/)
2020/03/22(日) 17:15:31.58ID:R2yf6A3f0 質問いいでしょうか?
ローカル環境XAMPPで動かしています。
外付けHDDから画像を表示させようとしたところ見つからないというエラーが出ました。
[an error occurred while processing this directive] 要求された URL は本サーバでは見つかりませんでした。 もし手入力で URL を入力した場合は、綴りを確認して再度お試し下さい。 [an error occurred while processing this directive]
リンクをコピーで確認したところURLの前に「http://localhost」が勝手に追加されていました。
これのせいで上手く表示されていないようです。
なんとかして画像を表示させる方法はないでしょうか?
ローカル環境XAMPPで動かしています。
外付けHDDから画像を表示させようとしたところ見つからないというエラーが出ました。
[an error occurred while processing this directive] 要求された URL は本サーバでは見つかりませんでした。 もし手入力で URL を入力した場合は、綴りを確認して再度お試し下さい。 [an error occurred while processing this directive]
リンクをコピーで確認したところURLの前に「http://localhost」が勝手に追加されていました。
これのせいで上手く表示されていないようです。
なんとかして画像を表示させる方法はないでしょうか?
861デフォルトの名無しさん (オッペケ Sr85-lbMX)
2020/03/22(日) 17:37:50.11ID:95kANOoTr >>860
諸々の知識が足りて無さすぎるのでサーバーとはなんぞやxamppとはなんぞやってとこから勉強してどうぞ
諸々の知識が足りて無さすぎるのでサーバーとはなんぞやxamppとはなんぞやってとこから勉強してどうぞ
862デフォルトの名無しさん (オッペケ Sr85-DLm1)
2020/03/22(日) 17:38:33.08ID:StD3gLg7r urlとファイルのパスは違う
ただそれだけ
ただそれだけ
863デフォルトの名無しさん (ワッチョイ 1389-xsY/)
2020/03/22(日) 18:26:04.76ID:R2yf6A3f0 ウ〜ンやっぱ無理か
一時的にコピーくらいしか思いつかんな
データとして貼り付けるにして多いし重すぎる
一時的にコピーくらいしか思いつかんな
データとして貼り付けるにして多いし重すぎる
864デフォルトの名無しさん (ワッチョイ 8b61-W5ce)
2020/03/22(日) 19:21:51.54ID:uAP5d0yV0 ドキュメントルート内のどこかからジャンクションやシンボリックリンク張るなり、サーバー設定でaliasすればいいんでね?
865デフォルトの名無しさん (ワッチョイ 9363-ED79)
2020/03/22(日) 19:38:15.03ID:sN305W7E0866デフォルトの名無しさん (ワッチョイ 1389-xsY/)
2020/03/22(日) 22:18:36.23ID:R2yf6A3f0867デフォルトの名無しさん (ワッチョイ 9363-ED79)
2020/03/22(日) 22:40:26.52ID:sN305W7E0868デフォルトの名無しさん (ワッチョイ fbda-ED79)
2020/03/22(日) 22:54:04.30ID:D4yHaglA0 相乗りで質問させてください。
>>867 のリンク先に書いてあるような設定を済ませて、chromeでは〇〇〇.localhostといった
URLで開けるようになったのですが、それ以外のブラウザではエラーが出てしまい開けません。
改善方法はありますでしょうか?
PHPと関係ないかもしれませんが、該当スレも見当たらず…
どうかご回答よろしくお願いいたします。
>>867 のリンク先に書いてあるような設定を済ませて、chromeでは〇〇〇.localhostといった
URLで開けるようになったのですが、それ以外のブラウザではエラーが出てしまい開けません。
改善方法はありますでしょうか?
PHPと関係ないかもしれませんが、該当スレも見当たらず…
どうかご回答よろしくお願いいたします。
869デフォルトの名無しさん (ワッチョイ 81da-ED79)
2020/03/22(日) 23:06:53.02ID:UY6UlDJY0870デフォルトの名無しさん (ワッチョイ 29a7-hdmr)
2020/03/22(日) 23:51:04.35ID:z2MML3bn0 virtualhostでもいいけどめんどいしalias追加でいいんじゃねえの
871デフォルトの名無しさん (ワッチョイ 8b2c-cvBQ)
2020/03/23(月) 07:16:27.59ID:jGS2rL5b0 Windows 10, WSL, Ubuntu 18.04 で、Ruby なら、Linux 側で、
1-liner で、Rubyで作られた遅いウェブサーバー、WEBrick が起動する
ruby -run -e httpd . -p 8080
そのフォルダに、index.html があれば、
Windows側から、これでブラウザでアクセスできる
http://localhost:8080
Linux側も、C ドライブ内にあるからかな?
アクセスするサーバーが、どのドライブのどのフォルダ内を、
カレントディレクトリとして起動したか
1-liner で、Rubyで作られた遅いウェブサーバー、WEBrick が起動する
ruby -run -e httpd . -p 8080
そのフォルダに、index.html があれば、
Windows側から、これでブラウザでアクセスできる
http://localhost:8080
Linux側も、C ドライブ内にあるからかな?
アクセスするサーバーが、どのドライブのどのフォルダ内を、
カレントディレクトリとして起動したか
872デフォルトの名無しさん (オイコラミネオ MM55-94HG)
2020/03/23(月) 21:22:44.81ID:w/tA8drNM 2ch風の掲示板を作ってます。
datファイルで一行に名前・メール・メッセージと管理用のIDやらを
記述するやり方で、レスアンカーやurlをループ処理の中で出力時に
aタグで囲む方法が思い付きません。
正規表現でメッセージから有無の判定はできましたが、そこから先で詰まってます。
ヒントをください。
datファイルで一行に名前・メール・メッセージと管理用のIDやらを
記述するやり方で、レスアンカーやurlをループ処理の中で出力時に
aタグで囲む方法が思い付きません。
正規表現でメッセージから有無の判定はできましたが、そこから先で詰まってます。
ヒントをください。
873デフォルトの名無しさん (オイコラミネオ MM55-8l36)
2020/03/23(月) 21:47:23.30ID:QTEdjjlGM874デフォルトの名無しさん (ワッチョイ 29a7-hdmr)
2020/03/23(月) 22:01:36.98ID:4wQQ+VSn0 後方参照がわからんのだろうな
matchじゃなくてreplaceでおk
正規表現でマッチした()の中身を置き換えのとこで$n or \\nで参照できる
例えばこんなん
https://ideone.com/lJv04e
matchじゃなくてreplaceでおk
正規表現でマッチした()の中身を置き換えのとこで$n or \\nで参照できる
例えばこんなん
https://ideone.com/lJv04e
875デフォルトの名無しさん (ワッチョイ fbda-ED79)
2020/03/24(火) 02:26:45.30ID:84LIBSDP0876デフォルトの名無しさん (ワッチョイ b6da-Cd0d)
2020/03/25(水) 23:42:46.36ID:YJCiq0GG0 >>874
下記記述で行けました。
本当にありがとうございました(涙)
preg_replace('/>>([0-9]{1,3})/', '<a href="#$1">>>$1</a>', $message);
ちなみにセキュリティに対して理解が浅すぎるのですが、渡ってくる文字列に対して警戒していればおkで
置換でa要素を使ったり、HTMLエンティティ対象の文字列をそのまま書いても大丈夫なのでしょうか?
下記記述で行けました。
本当にありがとうございました(涙)
preg_replace('/>>([0-9]{1,3})/', '<a href="#$1">>>$1</a>', $message);
ちなみにセキュリティに対して理解が浅すぎるのですが、渡ってくる文字列に対して警戒していればおkで
置換でa要素を使ったり、HTMLエンティティ対象の文字列をそのまま書いても大丈夫なのでしょうか?
877デフォルトの名無しさん (ワッチョイ b1a7-B4Y8)
2020/03/26(木) 08:37:27.85ID:uQPl4pkP0 5chはテキストログで1レス1行が都合が良さそうなのと区切り文字が必要になるので
そのへんの改行(<br>)と区切り(<>)考慮するとエスケープ済みのほうが扱いやすい
ただ欠点としてはログサイズが肥大する
もちろん必要最小限のエスケープでもできるけどめんどくさいので完全再現じゃないが
ログ保存時
$message = preg_replace('/\r?\n/', '<br>', htmlspecialchars($_POST['message'], ENT_QUOTES, 'UTF-8'));
出力時
$message = preg_replace(['/>>([0-9]{1,3})/', '%(https?://[^\s&]+)%'], ['<a href="#$1">>>$1</a>', '<a href="$1">$1</a>'], $message);
とかなんじゃないかなと
リンクつける仕様上一旦エスケープしたのを戻す箇所があるので
そこでXSSを成立させないよう注意してコーディングする必要がある
エスケープ済みの文字は<や"のように&がつくので
[^\s&]のとこのように&でぶったぎるのが簡単
ちなみにurlの複数パラメータでも使われる&の扱いは面倒なので適当だけど
>>835のように&でリンク切れてるの見る限り5chも適当なのでおkってことで
そのへんの改行(<br>)と区切り(<>)考慮するとエスケープ済みのほうが扱いやすい
ただ欠点としてはログサイズが肥大する
もちろん必要最小限のエスケープでもできるけどめんどくさいので完全再現じゃないが
ログ保存時
$message = preg_replace('/\r?\n/', '<br>', htmlspecialchars($_POST['message'], ENT_QUOTES, 'UTF-8'));
出力時
$message = preg_replace(['/>>([0-9]{1,3})/', '%(https?://[^\s&]+)%'], ['<a href="#$1">>>$1</a>', '<a href="$1">$1</a>'], $message);
とかなんじゃないかなと
リンクつける仕様上一旦エスケープしたのを戻す箇所があるので
そこでXSSを成立させないよう注意してコーディングする必要がある
エスケープ済みの文字は<や"のように&がつくので
[^\s&]のとこのように&でぶったぎるのが簡単
ちなみにurlの複数パラメータでも使われる&の扱いは面倒なので適当だけど
>>835のように&でリンク切れてるの見る限り5chも適当なのでおkってことで
878デフォルトの名無しさん (ワッチョイ b6da-Cd0d)
2020/03/26(木) 22:20:23.54ID:pJp2pNNg0 >>877
詳しくありがとうございます。
5chのログの内容は最初にチェックしてたはずなのに、すっかり忘れてました。
再度確認したところ、エスケープ処理済みな上にタグまで付いてました…
てっきり出力前にエスケープするのがPHPのルールだと思ってたのですが、
まさか事前にエスケープしておくとは…
出力時のpreg_replaceも配列にすれば一回で済むのですね…
レスアンカーとリンクで分けてました
>>835のリンクについては、専ブラで見てたので気づきませんでした。
直リン避けも考慮してhttps://まで見て、後は半角英数なら置換対象に
してしまおう!…って感じで雑に考えてました。
preg_replace('/(h?ttps?:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:@&=+$,%#]+)/', '<a href="$1">$1</a>', $replaceMessage);
凄く参考になりました。
どうもです。
詳しくありがとうございます。
5chのログの内容は最初にチェックしてたはずなのに、すっかり忘れてました。
再度確認したところ、エスケープ処理済みな上にタグまで付いてました…
てっきり出力前にエスケープするのがPHPのルールだと思ってたのですが、
まさか事前にエスケープしておくとは…
出力時のpreg_replaceも配列にすれば一回で済むのですね…
レスアンカーとリンクで分けてました
>>835のリンクについては、専ブラで見てたので気づきませんでした。
直リン避けも考慮してhttps://まで見て、後は半角英数なら置換対象に
してしまおう!…って感じで雑に考えてました。
preg_replace('/(h?ttps?:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:@&=+$,%#]+)/', '<a href="$1">$1</a>', $replaceMessage);
凄く参考になりました。
どうもです。
879デフォルトの名無しさん (ワッチョイ 09da-Cd0d)
2020/03/29(日) 10:25:07.65ID:wUzzaaBN0 文字列と多次元配列の値に対して一括で処理できるメソッドで質問です。
下記メソッドで$hogeに多次元配列が渡ってきたと仮定しまして、
値が配列であれば再起処理でメソッドが再度呼び出されるそうです。
私の考えでは、再起処理で多次元配列の中の値が配列ではなかったときは、
Aの文字列の方に流れるのではと思っていたのですが、実際は@に流れるようです。
多次元配列の中の文字列にis_array()を掛けてもfalseなのですが、どういった理由で
@に流れるのでしょうか?
function test($hoge) {
// 配列の場合
if (is_array($hoge)) {
foreach ($hoge as $key => $value) {
// 再起処理
if (is_array($value)) {
test($value);
}
// @配列の中の値が配列でない場合
else {
...
}
}
return;
}
// A文字列の場合
return;
}
下記メソッドで$hogeに多次元配列が渡ってきたと仮定しまして、
値が配列であれば再起処理でメソッドが再度呼び出されるそうです。
私の考えでは、再起処理で多次元配列の中の値が配列ではなかったときは、
Aの文字列の方に流れるのではと思っていたのですが、実際は@に流れるようです。
多次元配列の中の文字列にis_array()を掛けてもfalseなのですが、どういった理由で
@に流れるのでしょうか?
function test($hoge) {
// 配列の場合
if (is_array($hoge)) {
foreach ($hoge as $key => $value) {
// 再起処理
if (is_array($value)) {
test($value);
}
// @配列の中の値が配列でない場合
else {
...
}
}
return;
}
// A文字列の場合
return;
}
880デフォルトの名無しさん (ワッチョイ b1d2-pf+t)
2020/03/29(日) 12:47:17.78ID:XdbgZgVO0 @は再帰呼び出しで、Aは再帰の終了条件だね。
配列の中に配列があったときは@が呼ばれるようになってる。
再帰を一度じっくり勉強したほうがいいよ。誤字も含めて。
配列の中に配列があったときは@が呼ばれるようになってる。
再帰を一度じっくり勉強したほうがいいよ。誤字も含めて。
881デフォルトの名無しさん (ワッチョイ 09da-Cd0d)
2020/03/29(日) 14:07:51.77ID:wUzzaaBN0 >>880
誤字失礼しました。
どうにも理解できなくて、再度質問しようと文字に起こしていたところ自己解決できました。
Aは文字列専用の終了条件で@は配列専用の終了条件だったようです。
再帰処理の際に値が文字列なのに、何で配列判定で true が出るのだろう?
というところが疑問だったのですが、
本来であれば配列の中の配列である [] で再帰処理されるところを、その中の値Bで
再帰処理されていると勘違いしておりました。
ご迷惑おかけしました。
$hoge = [
'piyo1',
'piyo2',
[
// B
'piyo3'
]
];
誤字失礼しました。
どうにも理解できなくて、再度質問しようと文字に起こしていたところ自己解決できました。
Aは文字列専用の終了条件で@は配列専用の終了条件だったようです。
再帰処理の際に値が文字列なのに、何で配列判定で true が出るのだろう?
というところが疑問だったのですが、
本来であれば配列の中の配列である [] で再帰処理されるところを、その中の値Bで
再帰処理されていると勘違いしておりました。
ご迷惑おかけしました。
$hoge = [
'piyo1',
'piyo2',
[
// B
'piyo3'
]
];
882デフォルトの名無しさん (ワッチョイ adda-Cd0d)
2020/03/29(日) 15:05:54.62ID:r8VR5IyJ0 書き方としては終了条件を早期returnして終了するべき(そうじゃないとひどく読みにくい)
一般化するなら
function apply_recursively($target, callable $callback) {
if (!is_array($target)) {
return $callback($target);
}
return array_map(function ($target) use ($callback) { return apply_recursively($target, $callback); }, $target);
// return array_map(fn($target) => apply_recursively($target, $callback), $target); // -> for PHP >= 7.4.0
}
一般化するなら
function apply_recursively($target, callable $callback) {
if (!is_array($target)) {
return $callback($target);
}
return array_map(function ($target) use ($callback) { return apply_recursively($target, $callback); }, $target);
// return array_map(fn($target) => apply_recursively($target, $callback), $target); // -> for PHP >= 7.4.0
}
883デフォルトの名無しさん (ワッチョイ a9ca-Emx9)
2020/03/29(日) 19:30:19.50ID:KCykJRwi0 >>879
foreach 直後の if は不要で無条件に test($value) を行い、
Aは else にして @ に書いてた処理を書き、
関数の引数は function hoge(&$value) で参照で受けとるようにし、
foreach も foreach($hoge as &$value) にする。
こうしないと動かなくない?
foreach 直後の if は不要で無条件に test($value) を行い、
Aは else にして @ に書いてた処理を書き、
関数の引数は function hoge(&$value) で参照で受けとるようにし、
foreach も foreach($hoge as &$value) にする。
こうしないと動かなくない?
884デフォルトの名無しさん (ワッチョイ a9ca-Emx9)
2020/03/29(日) 19:31:44.20ID:KCykJRwi0885デフォルトの名無しさん (ワッチョイ 4f5f-JsNC)
2020/04/11(土) 19:45:53.72ID:9fxAF0s30 phpのechoを使ってルートフォルダからの絶対パスを指定して
ナビ部分のリンク変更をサイト全体に一括で行えるような書き方を教えてください
3年くらい前にやってたんですが
やり方がわからなくなってしまいました
ナビ部分のリンク変更をサイト全体に一括で行えるような書き方を教えてください
3年くらい前にやってたんですが
やり方がわからなくなってしまいました
886デフォルトの名無しさん (ワッチョイ 6fa7-kpEi)
2020/04/12(日) 01:01:57.54ID:9sN7iYc+0 >>885
echoにそんな機能ないし、何が聞きたいのか伝わらないと思う。
find(grep)+sedのような、ファイルの中身に特定の文字列があれば、
それを一括で書き換えるようなことをしたいわけでもなさそうだし、
何かナビ用のリンクのリストをincludeしてるなら、
そのリストの中身を書き換えろで終わる話だけど、そんな簡単な話でもなさそうだし。
echoにそんな機能ないし、何が聞きたいのか伝わらないと思う。
find(grep)+sedのような、ファイルの中身に特定の文字列があれば、
それを一括で書き換えるようなことをしたいわけでもなさそうだし、
何かナビ用のリンクのリストをincludeしてるなら、
そのリストの中身を書き換えろで終わる話だけど、そんな簡単な話でもなさそうだし。
887デフォルトの名無しさん (ワッチョイ 4f5f-JsNC)
2020/04/12(日) 07:18:43.42ID:xGytKmNW0 細かく言いますと
一時期Web製作会社でコーディング業務をしており
html/cssは扱えるのですがphpはヘッダー、ナビ、フッターなど共通部分をincludeフォルダで共通化できる程度しか扱えませんでした
そして自社のドメインのサブドメインでテスト環境を作り、そこでHPを作成して客先の本番サーバにアップロードという工程で納品、保守管理をしていました
その場合、リンク先を絶対パスで書けないので相対パスにする訳ですが
phpで常にルートフォルダを取得して書き出し、それに続けて下層のリンク先を明記するようにしていたんですが
そのやり方を忘れてしまったので教えて欲しいのです
一時期Web製作会社でコーディング業務をしており
html/cssは扱えるのですがphpはヘッダー、ナビ、フッターなど共通部分をincludeフォルダで共通化できる程度しか扱えませんでした
そして自社のドメインのサブドメインでテスト環境を作り、そこでHPを作成して客先の本番サーバにアップロードという工程で納品、保守管理をしていました
その場合、リンク先を絶対パスで書けないので相対パスにする訳ですが
phpで常にルートフォルダを取得して書き出し、それに続けて下層のリンク先を明記するようにしていたんですが
そのやり方を忘れてしまったので教えて欲しいのです
888デフォルトの名無しさん (ワッチョイ 671a-KRXG)
2020/04/12(日) 08:39:06.07ID:3vwO7tAb0 それだけ具体的に説明できるんならググった方が早いぞw
889デフォルトの名無しさん (ワッチョイ f7da-AglQ)
2020/04/12(日) 11:56:55.73ID:+wetVu4e0 2ch風の掲示板を作っており、考え方についてアドバイスをいただきたいです。
ログファイルでレスを記録して、1レス1行で構成されています。
ajaxを用いて遷移なしでの投稿反映と、レスアンカーにホバーすると、該当のレスを引っ張ってくる
ようになっています。
このレスアンカーへのホバーを行うと、当たり前なのかもしれませんが、添付の画像のように
どんどん_ajax.phpのファイルへのアクセス?が増えていってしまい、投稿ならまだしも、
ホバーするだけでPOSTを行うなんて、無駄な処理をさせているのではないか?
と考え出しております。
ログファイルは数百kb程度なので、投稿内容の全てをJS側で配列で保持をしていく方が
無難だったりしますでしょうか?
ttps://f.easyuploader.app/eu-prd/upload/20200412115052_69364c5954346f304857.png
ログファイルでレスを記録して、1レス1行で構成されています。
ajaxを用いて遷移なしでの投稿反映と、レスアンカーにホバーすると、該当のレスを引っ張ってくる
ようになっています。
このレスアンカーへのホバーを行うと、当たり前なのかもしれませんが、添付の画像のように
どんどん_ajax.phpのファイルへのアクセス?が増えていってしまい、投稿ならまだしも、
ホバーするだけでPOSTを行うなんて、無駄な処理をさせているのではないか?
と考え出しております。
ログファイルは数百kb程度なので、投稿内容の全てをJS側で配列で保持をしていく方が
無難だったりしますでしょうか?
ttps://f.easyuploader.app/eu-prd/upload/20200412115052_69364c5954346f304857.png
890デフォルトの名無しさん (ワッチョイ a201-vZv9)
2020/04/12(日) 13:52:29.72ID:tx1YNXXn0891デフォルトの名無しさん (ワッチョイ f7da-AglQ)
2020/04/12(日) 14:07:51.14ID:+wetVu4e0892デフォルトの名無しさん (ワッチョイ 6ff1-Xgk8)
2020/04/12(日) 14:43:40.33ID:1ZMEMPeI0 ->
=>
この使い分けをよく忘れるのですが
覚えておくコツはありますかね?
メインでPHP言語以外をやってるのでたまにPHP書くときよく混乱します。
=>
この使い分けをよく忘れるのですが
覚えておくコツはありますかね?
メインでPHP言語以外をやってるのでたまにPHP書くときよく混乱します。
893デフォルトの名無しさん (ワッチョイ 6ff1-Xgk8)
2020/04/12(日) 14:46:43.20ID:1ZMEMPeI0894デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/12(日) 15:36:12.26ID:ATqenNPh0895デフォルトの名無しさん (ワッチョイ f7da-AglQ)
2020/04/12(日) 16:48:22.18ID:+wetVu4e0 >>894
ども。
おっしゃる通りかもしれません。
投稿以外でサーバーに負荷掛けるより、クライアント側で処理した方が
良い気がしてきました。
1回投稿での文字数を制限してしまえばサイズも制御できそうですし。
ども。
おっしゃる通りかもしれません。
投稿以外でサーバーに負荷掛けるより、クライアント側で処理した方が
良い気がしてきました。
1回投稿での文字数を制限してしまえばサイズも制御できそうですし。
896デフォルトの名無しさん (ワッチョイ 062c-5WFu)
2020/04/12(日) 22:01:27.62ID:JZPIrIOa0 Ruby なら、0〜1,000 までの配列を作っておいて、
読み込んだレス番号だけは、その文字列を設定していく
p posts = Array.new( 1001 )
出力
[ nil, nil, nil, 続く... ]
読み込んだレス番号だけは、その文字列を設定していく
p posts = Array.new( 1001 )
出力
[ nil, nil, nil, 続く... ]
897デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/13(月) 00:40:29.11ID:DZv8piin0 どうせなら ruby じゃなくて JS で例示してやれよ。
phpのスレでなんなんだけどさ。
phpのスレでなんなんだけどさ。
898デフォルトの名無しさん (ワッチョイ a263-AglQ)
2020/04/13(月) 00:57:20.05ID:uI4POseh0 何かスレ番が飛んでいるんだけど
899デフォルトの名無しさん (ワッチョイ 6fa7-kpEi)
2020/04/13(月) 10:11:39.65ID:Hsuo/bvd0 RubyならRubyならってよく布教しに来るけどいい加減場違い空気嫁
>>887
URLの話じゃないでしょ?
内部の話なら別に相対パスにしなくても絶対パスでも問題ないんだけど。
その絶対パスがわからんって話?
自スクリプトから見た自分の絶対パスは__FILE__定数でわかる。
サーバのドキュメントルートが知りたいなら$_SERVER['DOCUMENT_ROOT']
ただしこういう環境変数($_SERVERや$_ENV)はあんまり過信しないほうがいいね。
>>887
URLの話じゃないでしょ?
内部の話なら別に相対パスにしなくても絶対パスでも問題ないんだけど。
その絶対パスがわからんって話?
自スクリプトから見た自分の絶対パスは__FILE__定数でわかる。
サーバのドキュメントルートが知りたいなら$_SERVER['DOCUMENT_ROOT']
ただしこういう環境変数($_SERVERや$_ENV)はあんまり過信しないほうがいいね。
900デフォルトの名無しさん (ワッチョイ 77b0-dkLK)
2020/04/16(木) 13:03:40.61ID:emwZ0tr20 Eclipseで参考書通りに
print “¥n”入れてもコンソールで改行してくれないんだけどなんで?
print “¥n”入れてもコンソールで改行してくれないんだけどなんで?
901デフォルトの名無しさん (ワッチョイ 9fad-9n34)
2020/04/16(木) 17:50:16.15ID:mDx3pHSK0902デフォルトの名無しさん (ワッチョイ 77a7-csEB)
2020/04/16(木) 18:32:43.61ID:jzlLoXMF0 Eclipseとかprint ""とかいう表記を見ると
古いか一般のPHP書籍とかかけ離れたもののきがするわ
あんま参考にしないほうがいいかもしれんね
古いか一般のPHP書籍とかかけ離れたもののきがするわ
あんま参考にしないほうがいいかもしれんね
903デフォルトの名無しさん (ワッチョイ 77b0-dkLK)
2020/04/16(木) 22:40:26.71ID:emwZ0tr20 OSはMac
eclipseでphp7
<?php
print “hello”;
print “¥n”;
print “world”;
print “¥n”;
?>
Kindle Unlimitedの参考書によるとこれで
hello
world
と出力されるみたいなんだけど実行すると
hello¥nworld¥n
ってなる
eclipseでphp7
<?php
print “hello”;
print “¥n”;
print “world”;
print “¥n”;
?>
Kindle Unlimitedの参考書によるとこれで
hello
world
と出力されるみたいなんだけど実行すると
hello¥nworld¥n
ってなる
904デフォルトの名無しさん (ワッチョイ 9f63-Ho7r)
2020/04/16(木) 22:55:55.17ID:Vn4RPyR40 そりゃなるだろな
905デフォルトの名無しさん (ワッチョイ ff2c-8Jcx)
2020/04/16(木) 23:11:06.27ID:tywb42E30 これを、Ruby で、実行してもエラーになる!
print “\n”;
基本的にプログラミングは、どの言語でも、半角英数字しか使えない。
全角文字のクォーテーション・全角空白なども使えない
\ も、日本語キーボードでは、バックスラッシュキーのこと!
\ という文字を使っちゃいけない!
これなら、Ruby でも改行される。
print "\n" ;
print “\n”;
基本的にプログラミングは、どの言語でも、半角英数字しか使えない。
全角文字のクォーテーション・全角空白なども使えない
\ も、日本語キーボードでは、バックスラッシュキーのこと!
\ という文字を使っちゃいけない!
これなら、Ruby でも改行される。
print "\n" ;
906デフォルトの名無しさん (ワッチョイ 9702-o1R8)
2020/04/16(木) 23:33:15.15ID:H8AaCGjg0907デフォルトの名無しさん (ワッチョイ 77a7-csEB)
2020/04/17(金) 06:24:31.98ID:9clD5XXx0 半角で書くべきとこを全角で書いてるのは
動いてるようだから書き込んだときのミスとして
文字コードがおかしいんだろう
文字コード変えるか\nやめてPHP_EOLにしとけば
動いてるようだから書き込んだときのミスとして
文字コードがおかしいんだろう
文字コード変えるか\nやめてPHP_EOLにしとけば
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ [冬月記者★]
- 自民・麻生太郎副総裁 石破政権の1年は「どよーん」 高市政権発足で「何となく明るくなった」「世の中のことが決まり動いている」★2 [Hitzeschleier★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- 【山形】クマ駆除で誤射した猟友会隊員に町が1663万円請求へ...弾当たり男性大けが2023年 小国町 [nita★]
- 【27歳会社員】「自慰行為に使うために」コインランドリーの乾燥機から24歳女性の下着など計11点(時価8万2080円相当)盗んだ疑い [nita★]
