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
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ cfe8-+65u)
2018/11/28(水) 17:08:46.02ID:Nb5yTkdM0340デフォルトの名無しさん (ササクッテロル Sp79-Br+Y)
2019/04/19(金) 13:19:25.89ID:Rb5u/z0hp https://i.imgur.com/8QFDaAE.jpg
こんな感じで書いた
こんな感じで書いた
341デフォルトの名無しさん (オッペケ Sr79-kqL6)
2019/04/19(金) 13:41:03.84ID:7RHvbYhAr Windows7はサポート外だからすてろ
342さまよえる蟻人間 ◆T6xkBnTXz7B0 (スププ Sdb2-9jZb)
2019/04/19(金) 14:42:39.28ID:KhPbBDNPd >>340
SJISとかUTF-8などの文字コードを勉強して、UTF-8が使えるテキストエディタ使え。和解の
SJISとかUTF-8などの文字コードを勉強して、UTF-8が使えるテキストエディタ使え。和解の
343デフォルトの名無しさん (ブーイモ MMd5-wZci)
2019/04/19(金) 15:47:12.43ID:ih/g4VJWM URLですが.../と打ち込んだ場合
...というファイルにアクセスするのですか?
...というファイルにアクセスするのですか?
344さまよえる蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 8101-9jZb)
2019/04/19(金) 16:35:39.59ID:Y4E9vn3W0 >>343
ディレクトリ名で「..」は一つ上のフォルダという意味がある。点二つね。
ディレクトリ名で「..」は一つ上のフォルダという意味がある。点二つね。
345デフォルトの名無しさん (アメ MMd5-DUFY)
2019/04/19(金) 17:59:38.21ID:er92Du55M 一つ上の男はどのように書き表しますか?
346デフォルトの名無しさん (ワッチョイ 8101-hooH)
2019/04/20(土) 09:38:04.02ID:EzpoiD680 ガイアが俺にもっと輝けと囁いている
347デフォルトの名無しさん (ワッチョイ 8101-hooH)
2019/04/20(土) 13:44:38.61ID:EzpoiD680 >>339
Dreamweaverで修正できるぞ
Dreamweaverで修正できるぞ
348デフォルトの名無しさん (アウアウカー Sab1-v9Kr)
2019/04/20(土) 17:06:43.02ID:nmBhveLxa >>339
PHPなのか?
PHPなのか?
349デフォルトの名無しさん (スププ Sdb2-XV4o)
2019/04/20(土) 17:10:50.63ID:46SaaHhXd350デフォルトの名無しさん (ワッチョイ 8101-hooH)
2019/04/21(日) 00:22:00.24ID:Aeq/r6ow0 小学生のプログラム教材見たけど、
ロボを前へ3歩右へ2歩動かす命令をみたいなやつとか
PHPの教科書と同じレベルだわ
算数で足し算とか習ってるレベルの子供にほんとに理解できるのかな?
ロボを前へ3歩右へ2歩動かす命令をみたいなやつとか
PHPの教科書と同じレベルだわ
算数で足し算とか習ってるレベルの子供にほんとに理解できるのかな?
351デフォルトの名無しさん (ワッチョイ f6ad-Eh39)
2019/04/21(日) 06:43:46.32ID:i48F5tCc0352デフォルトの名無しさん (ワッチョイ f6ad-Eh39)
2019/04/21(日) 06:46:56.90ID:i48F5tCc0 >>350
アングリーバードのプログラミング教材は面白かった
でも、プログラミングってよりブロックタイプのやつだから
アルゴリズムを考える作業が殆だよね
micro:bitのブロックで書いたコードをJSやPythonなどに変換できる機能は良いなと思った
アングリーバードのプログラミング教材は面白かった
でも、プログラミングってよりブロックタイプのやつだから
アルゴリズムを考える作業が殆だよね
micro:bitのブロックで書いたコードをJSやPythonなどに変換できる機能は良いなと思った
353デフォルトの名無しさん (ワッチョイ 8101-hooH)
2019/04/21(日) 08:13:48.42ID:Aeq/r6ow0 >>352
俺見た本はぱっと見は絵が多くて小学生用なんだが普通に
条件分岐if文、ループfor文とか説明されてて
英語も算数も絡んでくるけど、今後の小中学生が脅威にかんじたわ
小さいうちから当たり前になじんでれば抵抗ないんだろうな
俺見た本はぱっと見は絵が多くて小学生用なんだが普通に
条件分岐if文、ループfor文とか説明されてて
英語も算数も絡んでくるけど、今後の小中学生が脅威にかんじたわ
小さいうちから当たり前になじんでれば抵抗ないんだろうな
354デフォルトの名無しさん (ワッチョイ d91f-gS4L)
2019/04/21(日) 12:58:09.77ID:g2z5hubB0 まあphpとか仕事にしてるような奴らは仕事なくなるだろな
355デフォルトの名無しさん (ワッチョイ b6da-wZci)
2019/04/21(日) 19:56:01.27ID:0JlZuQqp0 >>349
...というファイル名を参照したよ
...というファイル名を参照したよ
356デフォルトの名無しさん (スフッ Sdb2-XV4o)
2019/04/21(日) 22:05:37.01ID:jRd0U4G2d357デフォルトの名無しさん (ワッチョイ 9eff-nFeC)
2019/04/24(水) 18:35:41.45ID:AdJPrH9y0 PHPでradioにチェックマークを付けたい場合、下記は間違ってますか?
<input type="radio" name="AAA" value="OK" <?php if($HEN['AAA'] === 'OK' ){ echo 'checked'; } ?> required>OK
$HEN['AAA']は確実に'ON'です。
入力フォームで入力確認画面からsubmitで最初の画面に戻すやり方です。
戻ってきてON状態にしたいのですが、なってくれません。
<input type="radio" name="AAA" value="OK" <?php if($HEN['AAA'] === 'OK' ){ echo 'checked'; } ?> required>OK
$HEN['AAA']は確実に'ON'です。
入力フォームで入力確認画面からsubmitで最初の画面に戻すやり方です。
戻ってきてON状態にしたいのですが、なってくれません。
358デフォルトの名無しさん (ワッチョイ 5e63-JNgg)
2019/04/24(水) 19:07:44.04ID:wb+dbNkk0359357 (ワッチョイ 9eff-nFeC)
2019/04/24(水) 19:12:31.45ID:AdJPrH9y0360さまよえる蟻人間 ◆T6xkBnTXz7B0 (スププ Sdb2-9jZb)
2019/04/24(水) 19:13:17.51ID:17biHAgbd ONとOK
361さまよえる蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 8101-9jZb)
2019/04/24(水) 19:13:54.31ID:gP7Kc+nL0 checkedとrequiredがつながってる可能性
362さまよえる蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 8101-9jZb)
2019/04/24(水) 19:15:38.78ID:gP7Kc+nL0 つーか、HTMLソース見れば一目瞭然
363デフォルトの名無しさん (ワッチョイ 9eff-nFeC)
2019/04/24(水) 19:20:56.00ID:AdJPrH9y0 ソースをみると、
<input type="radio" name="AAA" value="OK" required>
こうなります。
OKのあとに半角2つスペースでrequired
<input type="radio" name="AAA" value="OK" required>
こうなります。
OKのあとに半角2つスペースでrequired
364さまよえる蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 8101-9jZb)
2019/04/24(水) 19:28:05.74ID:gP7Kc+nL0 ONとOKを間違えてるか、型が違うか。
365さまよえる蟻人間 ◆T6xkBnTXz7B0 (スププ Sdb2-9jZb)
2019/04/24(水) 19:31:32.04ID:17biHAgbd 全角と半角。
366デフォルトの名無しさん (ワッチョイ 5e63-JNgg)
2019/04/24(水) 19:56:23.89ID:wb+dbNkk0 >>363
提案
radioをcheckboxに変えてみる
=== を == に変えてみる
if($HEN['AAA'] === 'OK' ){ echo 'checked'; } を echo 'checked'; だけにしてみる
いずれかで何か変わりませんか?
どこかに間違いがあると思うけど、提示された範囲では分からないです
提案
radioをcheckboxに変えてみる
=== を == に変えてみる
if($HEN['AAA'] === 'OK' ){ echo 'checked'; } を echo 'checked'; だけにしてみる
いずれかで何か変わりませんか?
どこかに間違いがあると思うけど、提示された範囲では分からないです
367デフォルトの名無しさん (ワッチョイ 922c-61/s)
2019/04/24(水) 21:46:15.30ID:kFXKi6KY0 >>357
><input type="radio" name="AAA" value="OK" <?php if($HEN['AAA'] === 'OK' ){ echo 'checked'; } ?> required>OK
例えば、Ruby のERB なら、
<p>
Name: <%=h name %>
</p>
h は、<, > などの特殊文字を、HTML Escape する。
でも、君のはコンテンツじゃなく、属性だから、HTML Escape してはいけない
一旦、php 文を変数に入れて、その変数をそこに書けば?
ERB では、<% 〜 %> は、Ruby式を実行するだけで、出力しない。
<%= 〜 %> は、式を実行して、そこへ出力する
同様に、phpにも、出力する記法があるのでは?
そんな、echo などを、わざわざ使うかな?
><input type="radio" name="AAA" value="OK" <?php if($HEN['AAA'] === 'OK' ){ echo 'checked'; } ?> required>OK
例えば、Ruby のERB なら、
<p>
Name: <%=h name %>
</p>
h は、<, > などの特殊文字を、HTML Escape する。
でも、君のはコンテンツじゃなく、属性だから、HTML Escape してはいけない
一旦、php 文を変数に入れて、その変数をそこに書けば?
ERB では、<% 〜 %> は、Ruby式を実行するだけで、出力しない。
<%= 〜 %> は、式を実行して、そこへ出力する
同様に、phpにも、出力する記法があるのでは?
そんな、echo などを、わざわざ使うかな?
368デフォルトの名無しさん (ワッチョイ 5e63-JNgg)
2019/04/24(水) 21:52:45.02ID:wb+dbNkk0 見た感じでは構文的な間違いはなさそうなんだよな
ただ全体を晒しているわけではないので、間違い部分が分からない
ただ全体を晒しているわけではないので、間違い部分が分からない
369デフォルトの名無しさん (ワッチョイ 0dff-AoSc)
2019/04/24(水) 22:53:46.57ID:S39z++Og0 if($HEN['AAA'] !== 'OK' ) に試しにしてみる
370デフォルトの名無しさん (ワッチョイ 4ba7-KI0z)
2019/04/25(木) 00:24:58.08ID:sHpBR2uH0 OKっていうyvalueはちゃんと入れてるのか?
入れてないならチェックつけたらonって入ると思うけど
それは大文字ではなくて小文字のonになる
$HEN['AAA']って名前の変数は定義されてるのか?
普通に考えるとそこに入るのは$_GET['AAA']もしくは$_POST['AAA']
テンプレートエンジン使ったほうがいいと思うけど
バカ正直に書くとこんな感じになるはず
<input type="radio" name="AAA" value="OK" <?php if (isset($_POST['AAA']) && $_POST['AAA'] === 'OK') { echo 'checked '; } ?>required>
読みにくくなるが三項演算子を使えばもうちょいスッキリ書ける
もうちょい読みやすく書くと
<?php if (isset($_POST['AAA']) && $_POST['AAA'] === 'OK'): ?>
<input type="radio" name="AAA" value="OK" checked required>
<?php else: ?>
<input type="radio" name="AAA" value="OK" required>
<?php endif; ?>
>>367も言ってるけど
この条件文の前に$HENなんていう変数を本当に用意してるのであれば
その$HENの中身を'checked 'か''にするところまでやって
<input type="radio" name="AAA" value="OK" <?= $HEN ?>required>
にすりゃいいだけ
入れてないならチェックつけたらonって入ると思うけど
それは大文字ではなくて小文字のonになる
$HEN['AAA']って名前の変数は定義されてるのか?
普通に考えるとそこに入るのは$_GET['AAA']もしくは$_POST['AAA']
テンプレートエンジン使ったほうがいいと思うけど
バカ正直に書くとこんな感じになるはず
<input type="radio" name="AAA" value="OK" <?php if (isset($_POST['AAA']) && $_POST['AAA'] === 'OK') { echo 'checked '; } ?>required>
読みにくくなるが三項演算子を使えばもうちょいスッキリ書ける
もうちょい読みやすく書くと
<?php if (isset($_POST['AAA']) && $_POST['AAA'] === 'OK'): ?>
<input type="radio" name="AAA" value="OK" checked required>
<?php else: ?>
<input type="radio" name="AAA" value="OK" required>
<?php endif; ?>
>>367も言ってるけど
この条件文の前に$HENなんていう変数を本当に用意してるのであれば
その$HENの中身を'checked 'か''にするところまでやって
<input type="radio" name="AAA" value="OK" <?= $HEN ?>required>
にすりゃいいだけ
371デフォルトの名無しさん (ワッチョイ 232c-vaK/)
2019/04/26(金) 13:58:13.68ID:A/WNBxWE0 ><?= $HEN ?>required
ああ!
前後に、空白が無いから、
checkedrequired みたいに、文字列がつながって、HTML の構文エラーになるのだろう!
必ず、前後に空白を入れるべし!
ああ!
前後に、空白が無いから、
checkedrequired みたいに、文字列がつながって、HTML の構文エラーになるのだろう!
必ず、前後に空白を入れるべし!
372デフォルトの名無しさん (ワッチョイ e51f-K1VX)
2019/04/29(月) 12:04:33.45ID:vct+Ltv00 phpで、画像にアクセスしてきたIPを保存することってできますか?
373デフォルトの名無しさん (ワッチョイ 4b63-MRXB)
2019/04/29(月) 12:29:23.82ID:EyyZk+++0 ダイレクトに画像アクセスされたら分からないだろう
Webサーバーのログ見るしかない
Webサーバーのログ見るしかない
374デフォルトの名無しさん (ワッチョイ e51f-K1VX)
2019/04/29(月) 12:48:02.00ID:vct+Ltv00 そういうものなんですね
ありがとうございます
ありがとうございます
375デフォルトの名無しさん (アウアウエー Sa13-3nb/)
2019/04/29(月) 17:43:20.49ID:loz4DS5aa apacheでやっていることをphpでやるようにしたらできるぞ
376デフォルトの名無しさん (ワッチョイ 5d0b-qYff)
2019/04/29(月) 22:11:30.94ID:iMBvrM8u0 画像は非公開領域に置いて、PHP経由で画像を出力するとかできたような
377デフォルトの名無しさん (ワッチョイ e51f-K1VX)
2019/04/29(月) 22:39:29.73ID:vct+Ltv00 ありがとうございます、もうちょっとphpを勉強してから
また考えてみます
また考えてみます
378デフォルトの名無しさん (ワッチョイ ff61-5AMV)
2019/05/09(木) 00:45:39.61ID:RU31sPhL0379デフォルトの名無しさん (アウアウウー Sa1b-y0Vo)
2019/05/13(月) 18:40:53.35ID:roML+UDma 呼んだ関数の返り値がfalse相当でなければ、その値を返す
そうでなければ、次の関数を呼んで、その値を返す
というのをスマートに書くにはどうしたらいいですか?
return func0() || func1()
と書けばいい気がしたのですが、func0の返り値が文字列の場合、うまくいきません
そうでなければ、次の関数を呼んで、その値を返す
というのをスマートに書くにはどうしたらいいですか?
return func0() || func1()
と書けばいい気がしたのですが、func0の返り値が文字列の場合、うまくいきません
380デフォルトの名無しさん (ワッチョイ 77f3-3bTL)
2019/05/13(月) 22:24:51.96ID:tr/4p/4f0 if (func0() !== false) {
return func0();
}
return func1();
return func0();
}
return func1();
381デフォルトの名無しさん (ワッチョイ 97ba-gMth)
2019/05/13(月) 23:37:45.04ID:xlLeel7b0 2回実行しやらんか
382デフォルトの名無しさん (オイコラミネオ MM6b-fR1T)
2019/05/13(月) 23:46:55.40ID:NT7m3BJtM383デフォルトの名無しさん (アウアウエー Sadf-FgmB)
2019/05/14(火) 00:21:30.17ID:C/lwgk7za ??
384デフォルトの名無しさん (ワッチョイ 1f4d-gMth)
2019/05/14(火) 00:52:38.99ID:+1EhYDa60 >>379
イマイチ何がしたいのかわからないが、↓は駄目なんだよね?
http://codepad.org/Pmd52Nk7
↓みたいに、falseで無い文字列の場合はその文字列を返したいの?
https://ideone.com/HjePmQ
イマイチ何がしたいのかわからないが、↓は駄目なんだよね?
http://codepad.org/Pmd52Nk7
↓みたいに、falseで無い文字列の場合はその文字列を返したいの?
https://ideone.com/HjePmQ
385デフォルトの名無しさん (ワッチョイ ffa7-BD3m)
2019/05/15(水) 05:58:37.58ID:vAqxpv060386デフォルトの名無しさん (ワッチョイ bfca-fR1T)
2019/05/15(水) 07:21:00.71ID:WsD3jNK80 スマートってのがばく然とし過ぎてるよ。
何を叶えたくてそういう書き方をしたいのか。
それ用の構文が用意されてるか聞いてるのかな。
COALESCE みたいなのを探してるならPHP7で ??(null合体演算子)が追加されたけど、false や 0 にも適用させたいなら合わないだろうね。
if文で書くのが見やすいしメンテもしやすくてスマートなんじゃね。
何を叶えたくてそういう書き方をしたいのか。
それ用の構文が用意されてるか聞いてるのかな。
COALESCE みたいなのを探してるならPHP7で ??(null合体演算子)が追加されたけど、false や 0 にも適用させたいなら合わないだろうね。
if文で書くのが見やすいしメンテもしやすくてスマートなんじゃね。
387デフォルトの名無しさん (アウアウエー Sadf-FgmB)
2019/05/15(水) 09:10:52.73ID:TijlUNhYa 戻り値がboolじゃない時点でクソなんだがな
388デフォルトの名無しさん (ワッチョイ ffa7-BD3m)
2019/05/15(水) 16:10:31.93ID:vAqxpv060 動的言語じゃ短絡評価の型がboolじゃないのは普通だよ
389デフォルトの名無しさん (ワッチョイ 97ba-gMth)
2019/05/15(水) 20:27:21.35ID:+XInXPJh0 C「せやで、intやで
390デフォルトの名無しさん (ワッチョイ 0aad-+M87)
2019/05/16(木) 03:25:20.50ID:neNHVSKA0 CakePHPって人気無いのか?(´・ω・`)
今、参考書読み始めたばかりなんだが
今、参考書読み始めたばかりなんだが
391デフォルトの名無しさん (ワッチョイ 7c07-wkih)
2019/05/16(木) 15:45:22.32ID:fgD0r/Q+0 成熟したFWって感じだと思う。今から学んでも良いと思うよ
392デフォルトの名無しさん (ワッチョイ 0aad-+M87)
2019/05/16(木) 17:28:06.18ID:neNHVSKA0 ほうほう(´・ω・`)
393デフォルトの名無しさん (ワッチョイ dfad-u4A8)
2019/05/25(土) 13:44:57.44ID:BtUlhHLe0 twitterのBotを作りたいと思っています
指定ワードに引っかかったらブロックするという動作を入れたいのでアプリだと対応できなさそうです
と言うか PHP でもそもそもそんな仕様で作れるのかも分からないので参考になりそうな資料があったら教えてください
指定ワードに引っかかったらブロックするという動作を入れたいのでアプリだと対応できなさそうです
と言うか PHP でもそもそもそんな仕様で作れるのかも分からないので参考になりそうな資料があったら教えてください
394蟻人間 ◆T6xkBnTXz7B0 (スフッ Sdff-uiLC)
2019/05/25(土) 14:07:06.16ID:ro0ZuUFGd395デフォルトの名無しさん (ワッチョイ dfa9-Fpyl)
2019/05/25(土) 20:12:23.16ID:LACToUkl0 勉強中の身であり、変数の名前に気になるところがあるのですが、
$productName
$productColorとか、単語を並べてわかりやすくする時、2単語目は1文字目は大文字なのに、
先頭の単語は大文字にならないのをよく見受けるのですがなぜでしょうか?
$productName
$productColorとか、単語を並べてわかりやすくする時、2単語目は1文字目は大文字なのに、
先頭の単語は大文字にならないのをよく見受けるのですがなぜでしょうか?
396デフォルトの名無しさん (アウアウエー Sa9f-AYWk)
2019/05/26(日) 01:01:52.69ID:R35t2Hzta テキトーでええねん
397デフォルトの名無しさん (ワッチョイ 7f63-+klA)
2019/05/26(日) 01:15:23.48ID:mCW+tIqA0 世の中にはいろんな宗教があって、それぞれが信じる神に従ってる
何故その宗教なのか、人によって違うrだろうけど
好きなのを選べ
何故その宗教なのか、人によって違うrだろうけど
好きなのを選べ
398デフォルトの名無しさん (オッペケ Sr5b-rvs9)
2019/05/26(日) 01:17:46.53ID:H/eCV4+Ur399デフォルトの名無しさん (ワッチョイ a7ba-buEI)
2019/05/26(日) 13:54:59.26ID:QXjH/q9Q0 phpの変数の場合は先頭に$がつくから大文字開始でもいいわなと適当に無責任に思ったりする
アンダーバー使いからでした
アンダーバー使いからでした
400デフォルトの名無しさん (ワッチョイ dfa9-Fpyl)
2019/05/26(日) 19:42:15.61ID:l16JnEYu0 レスどうもです、色々見てみました。
たしかに組織の中でルールを統一しないと色々不便があると思うので、こういうのがあるのですね。
for文のどこに半角スペースを入れるか入れないかでも悩んで居るので
できるだけ「ベタ」なやり方に沿っていたほうが良いとは思うのですが、標準化というのかわかりませんが、
そういう心構えを案内しているサイトは、何でググればいいでしょうか?
たしかに組織の中でルールを統一しないと色々不便があると思うので、こういうのがあるのですね。
for文のどこに半角スペースを入れるか入れないかでも悩んで居るので
できるだけ「ベタ」なやり方に沿っていたほうが良いとは思うのですが、標準化というのかわかりませんが、
そういう心構えを案内しているサイトは、何でググればいいでしょうか?
401デフォルトの名無しさん (アウアウエー Sa9f-g/Ks)
2019/05/26(日) 19:44:56.69ID:kz8BVyYaa psr
402蟻人間 ◆T6xkBnTXz7B0 (スフッ Sdff-uiLC)
2019/05/26(日) 19:46:34.19ID:zbyp88Owd PHP コーディング規約
403デフォルトの名無しさん (ワッチョイ 671f-3Zqm)
2019/05/26(日) 19:55:20.42ID:4NUXcUki0 glassfishは使えますか?
また、類似のものはありますか?
また、類似のものはありますか?
404デフォルトの名無しさん (ワッチョイ dfa9-Fpyl)
2019/05/28(火) 07:44:27.33ID:qfX7VqbU0405デフォルトの名無しさん (ワッチョイ 6aa9-yed5)
2019/06/02(日) 05:20:27.00ID:+gCp7rkB0 ファイルの読み書きの練習でカウンターを始めたのですが、とりあえずロック無しやエラー分岐無しでも上手く動かず
var_dumpなる便利なものがあるので使ったところ、
string(3) "1 " string(3) "1 " あなたは1 人目のお客様です、 と出るようで
文字列で読んでいるため ++が効かないようです。
ただ、$count = $count = 1;とすると
string(3) "1 "
Notice: A non well formed numeric value encountered in c:\********\counter\index.php on line 7
int(2) あなたは2人目のお客様です
とファイルには1を足されて書き込めるのですが、$count++; を使って動くようにするためにはどうすればいいでしょうか。
<?php
$counter_file = "count.dat";
$counter_length = 5;
$fp = fopen($counter_file, "r+" );
$count = fgets($fp, $counter_length);
var_dump($count);
$count++;
var_dump($count);
rewind($fp);
fputs($fp, $count);
fclose($fp);
echo 'あなたは'.$count.'人目のお客様です';
?>
var_dumpなる便利なものがあるので使ったところ、
string(3) "1 " string(3) "1 " あなたは1 人目のお客様です、 と出るようで
文字列で読んでいるため ++が効かないようです。
ただ、$count = $count = 1;とすると
string(3) "1 "
Notice: A non well formed numeric value encountered in c:\********\counter\index.php on line 7
int(2) あなたは2人目のお客様です
とファイルには1を足されて書き込めるのですが、$count++; を使って動くようにするためにはどうすればいいでしょうか。
<?php
$counter_file = "count.dat";
$counter_length = 5;
$fp = fopen($counter_file, "r+" );
$count = fgets($fp, $counter_length);
var_dump($count);
$count++;
var_dump($count);
rewind($fp);
fputs($fp, $count);
fclose($fp);
echo 'あなたは'.$count.'人目のお客様です';
?>
406405 (ワッチョイ 6aa9-yed5)
2019/06/02(日) 06:57:52.85ID:+gCp7rkB0 ×:ただ、$count = $count = 1;とすると
○:ただ、$count = $count + 1;とすると
です、すいません。
○:ただ、$count = $count + 1;とすると
です、すいません。
407デフォルトの名無しさん (ワッチョイ f384-Trtn)
2019/06/02(日) 11:07:27.99ID:mXZMYbpt0 $count = intval(trim(fgets($fp, $counter_length)));
408デフォルトの名無しさん (ワッチョイ 66ca-4mik)
2019/06/02(日) 22:38:21.40ID:8A/taE5v0 >>405
string(3) ってのは長さ 3 の文字列ということを示してるから、カウンタファイルにカウント値に続いてスペースとか改行コードがくっついてるんだろうね。
fgets した値を trim すればいいんじゃないかな。
文字列変数を数値としてそのまま計算することは可能だから、intval は必須ではない。
あと fgets や fputs じゃなく fread と fwrite を使ってはいかが。
string(3) ってのは長さ 3 の文字列ということを示してるから、カウンタファイルにカウント値に続いてスペースとか改行コードがくっついてるんだろうね。
fgets した値を trim すればいいんじゃないかな。
文字列変数を数値としてそのまま計算することは可能だから、intval は必須ではない。
あと fgets や fputs じゃなく fread と fwrite を使ってはいかが。
409デフォルトの名無しさん (ワッチョイ 731a-yJVk)
2019/06/03(月) 00:23:29.48ID:6fgKmexV0 PHPにおける連想配列はキーが文字列の場合を指すのでしょうか?
$yasai = [1 => 'キャベツ', 'にんじん', 'レタス', 'トマト'];
これはキーが1から始まる整数ですが、
プログラマが指定しているので連想配列ですか?
$yasai = [1 => 'キャベツ', 'にんじん', 'レタス', 'トマト'];
これはキーが1から始まる整数ですが、
プログラマが指定しているので連想配列ですか?
410デフォルトの名無しさん (ワッチョイ 6aa9-yed5)
2019/06/03(月) 01:48:26.16ID:AHqJ7vTG0 >>408
なんとなく使い出したatomの仕様でした。
datファイルを1バイトの文字だけ書いて上書き保存すると0A0Dの文字コードが足されていました・・・
string(3)というのが不思議だったのですが、自分で1バイトなのになぜ?と思い込みが強く気付くのが遅れてしまいました。
fread, fwriteというのがあるのですね。
検索すると色々出てきたりするのですが、どれも正しいものと思っていたのですが、
時代的に推奨されない関数などがあるようで、そのあたりの見極めが良くなりたいです。
>>407
excelの関数でたくさん入れ子になったものを見たことがあります、こんな感じでまとめられるのですね。
なんとなく使い出したatomの仕様でした。
datファイルを1バイトの文字だけ書いて上書き保存すると0A0Dの文字コードが足されていました・・・
string(3)というのが不思議だったのですが、自分で1バイトなのになぜ?と思い込みが強く気付くのが遅れてしまいました。
fread, fwriteというのがあるのですね。
検索すると色々出てきたりするのですが、どれも正しいものと思っていたのですが、
時代的に推奨されない関数などがあるようで、そのあたりの見極めが良くなりたいです。
>>407
excelの関数でたくさん入れ子になったものを見たことがあります、こんな感じでまとめられるのですね。
411デフォルトの名無しさん (ワッチョイ 66ca-4mik)
2019/06/03(月) 09:41:17.43ID:3s7VSFTB0 >>410
php では fputs と fwrite は全く一緒。
C なんかだと文字列長をサイズなり終端文字なりで示す必要があるので、その示し方の違いで関数が別れてる。
php の変数は文字列の長さを変数自体が知っているから、fputs と fwrite に違いを付けようがない。
fgets については、改行かファイル終端まで、または指定サイズに達するまで読み込むが、fread は改行で読み取りをやめない点が違う。
対象のファイルが改行区切りのテキストファイルを読む場合は fgets が便利に使えることも多い。
でも今回のカウンタファイルはカウント値がひとつ書いてあるだけのファイルだから fgets でも fread でも表向きの結果は一緒だけど、
それでも fgets は改行を探しながら読み取る分少し遅いことが予想される。
そもそも fgets を使う場面では、そのファイルが改行で区切られていることを暗に示しているので、今回の使用を表すコードとしては適切と言えない。
php では fputs と fwrite は全く一緒。
C なんかだと文字列長をサイズなり終端文字なりで示す必要があるので、その示し方の違いで関数が別れてる。
php の変数は文字列の長さを変数自体が知っているから、fputs と fwrite に違いを付けようがない。
fgets については、改行かファイル終端まで、または指定サイズに達するまで読み込むが、fread は改行で読み取りをやめない点が違う。
対象のファイルが改行区切りのテキストファイルを読む場合は fgets が便利に使えることも多い。
でも今回のカウンタファイルはカウント値がひとつ書いてあるだけのファイルだから fgets でも fread でも表向きの結果は一緒だけど、
それでも fgets は改行を探しながら読み取る分少し遅いことが予想される。
そもそも fgets を使う場面では、そのファイルが改行で区切られていることを暗に示しているので、今回の使用を表すコードとしては適切と言えない。
412デフォルトの名無しさん (ワッチョイ 66ca-4mik)
2019/06/03(月) 09:43:52.91ID:3s7VSFTB0413デフォルトの名無しさん (ワッチョイ 4aa7-Trtn)
2019/06/03(月) 18:57:23.86ID:lAZ+x+Rt0 行というのは改行で終わるものだからね
414デフォルトの名無しさん (ワッチョイ 6aa9-yed5)
2019/06/05(水) 02:56:36.81ID:a7gcDC7N0 遅くなってすいません。
カウンターのデータとしてあるべき姿ではありませんが、複数行に数字を書いたファイルを
fgetとfreadを使って読むと、fgetは改行付きの1行、freadはすべての数字と改行を読みましたが、
意外と後者でも1つ目の数字だけをインクリメントして書き戻しました。
最終的にはLAMP環境でDBとの読み書きを行いたいのですが、
やはりアプリケーションのログとかをディレクトリ内で追記することを考えると
ファイルの読み書きコマンドは必須ですよね。
カウンターのデータとしてあるべき姿ではありませんが、複数行に数字を書いたファイルを
fgetとfreadを使って読むと、fgetは改行付きの1行、freadはすべての数字と改行を読みましたが、
意外と後者でも1つ目の数字だけをインクリメントして書き戻しました。
最終的にはLAMP環境でDBとの読み書きを行いたいのですが、
やはりアプリケーションのログとかをディレクトリ内で追記することを考えると
ファイルの読み書きコマンドは必須ですよね。
415デフォルトの名無しさん (スプッッ Sddb-Gzfa)
2019/06/09(日) 12:58:24.47ID:FDYkpc7vd オススメな本ある?
416デフォルトの名無しさん (ワッチョイ 768c-EjMK)
2019/06/15(土) 23:50:27.88ID:6CnMECf20 データベースに書き込みコードを作ったんだけどどうしてもカラムがカラムとして認識されなくてエラーになるんだけどなぜか教えてくれ
$sql = "INSERT INTO comments(
number, name, time, comment←ここ
) VALUES (
'', '$myname', '$time', '$comment'
)";
$sql = "INSERT INTO comments(
number, name, time, comment←ここ
) VALUES (
'', '$myname', '$time', '$comment'
)";
417デフォルトの名無しさん (ワッチョイ 275f-xU2V)
2019/06/15(土) 23:59:21.35ID:sjL7iEiN0 >>409
型が不定型なら連想配列なんじゃね
型が不定型なら連想配列なんじゃね
418デフォルトの名無しさん (ワッチョイ 4e63-9ye8)
2019/06/16(日) 00:00:24.76ID:RqGVrKm70 >>416
desc comments か show create table comments の結果を見せて
desc comments か show create table comments の結果を見せて
419デフォルトの名無しさん (ワッチョイ 768c-EjMK)
2019/06/16(日) 00:46:03.82ID:mnCyhttK0 `number`
`name`
`time`
`comment`
`name`
`time`
`comment`
420蟻人間 ◆T6xkBnTXz7B0 (スフッ Sdba-1i7F)
2019/06/16(日) 00:53:30.95ID:QegIZpn+d BUCK-TICK
421デフォルトの名無しさん (ワッチョイ 5ab6-aDQK)
2019/06/16(日) 00:54:21.78ID:iLpQBBTE0 エラーの内容くらい貼れよ
422デフォルトの名無しさん (ワッチョイ 768c-EjMK)
2019/06/16(日) 01:16:21.26ID:mnCyhttK0 >>416
解決しました、このコードの前の変数代入のスペルミスでした、お騒がせしました
解決しました、このコードの前の変数代入のスペルミスでした、お騒がせしました
423デフォルトの名無しさん (アウアウエー Sa52-T4Zx)
2019/06/16(日) 01:35:18.28ID:nxr18ojea sqlインジェクション
424デフォルトの名無しさん (ワッチョイ 9a2c-oZrO)
2019/06/16(日) 01:43:15.14ID:z9IiVZ7F0 自分で、SQL 文を組み立てて送信するのは、
SQLインジェクションもあり、お勧めできない!
フレームワークには、O/R マッパーが付いている
Ruby on Rails を知っているなら、CakePHP も出来る。
CakePHPは、Rails のコピーだから!
掌田津耶乃が、CakePHPの本も書いてる。
彼は、ほとんどのフレームワーク・ゲームエンジンの本も書いてる
SQLインジェクションもあり、お勧めできない!
フレームワークには、O/R マッパーが付いている
Ruby on Rails を知っているなら、CakePHP も出来る。
CakePHPは、Rails のコピーだから!
掌田津耶乃が、CakePHPの本も書いてる。
彼は、ほとんどのフレームワーク・ゲームエンジンの本も書いてる
425デフォルトの名無しさん (ワッチョイ b6ca-JHSl)
2019/06/17(月) 04:24:41.50ID:uk/AI0sh0 in とか like とか動的な条件式を構成する程度のありふれたことをやるにもおかしなラッパやライブラリを作るハメになるから、
SQLインジェクション対策ごときで有りもののフレームワークに拘る必要なんて全く無い。
SQLインジェクション対策ごときで有りもののフレームワークに拘る必要なんて全く無い。
426デフォルトの名無しさん (ワッチョイ fa5c-2qry)
2019/06/17(月) 08:29:41.28ID:1fS1Pgsf0 プレースホルダ使えばいいじゃん
427デフォルトの名無しさん (ワッチョイ b6ca-JHSl)
2019/06/17(月) 08:48:58.25ID:uk/AI0sh0 >>426
だからPDOで充分じゃん。
でもPDOの名前つきプレースホルダは、値を入れる連想配列に余剰な項目があるとエラーになっちゃうのがイケてないんだよな。
いくつかSQLを続けて発行しようと思っても、同じ連想配列の使い回しがやりづらい、というか実質できない。
なんでこんな余計なお世話の仕様にした。
だからPDOで充分じゃん。
でもPDOの名前つきプレースホルダは、値を入れる連想配列に余剰な項目があるとエラーになっちゃうのがイケてないんだよな。
いくつかSQLを続けて発行しようと思っても、同じ連想配列の使い回しがやりづらい、というか実質できない。
なんでこんな余計なお世話の仕様にした。
428デフォルトの名無しさん (ワッチョイ fa5c-2qry)
2019/06/17(月) 09:16:38.19ID:1fS1Pgsf0 そのつもりで言ったんだけどね
429デフォルトの名無しさん (アウアウウー Sac7-2qry)
2019/06/18(火) 00:39:27.92ID:90gU7PyPa PHP7.2をインストールしたサーバから外部サイトを取得しているfile_get_contentsで
SSL routines:ssl3_get_server_certificate:certificate verify failed
というエラーが出たので
ググったところ、サーバのSSL証明書ファイルが古かったりうまく設定できていない時に出るエラーのようでした
ググった先の情報に従って、
opensslをアップデートしてから、php.iniで
openssl.cafile=/etc/ssl/certs/ca-bundle.crt
と設定したのですが現象は変わらず(phpinfoで設定の反映は確認済み)
http://curl.haxx.se/ca/cacert.pem
を取得してそれをopenssl.cafileに設定しても、やはり現象に変化なしでした
しかたなくfile_get_contentsのオプションでverify_peerとverify_peer_nameをfalseにして、
証明書のチェック自体をしないようにしたらエラーは消えましたが、
なぜ証明書ファイルを設定してもエラーになったのかが気になります
どんな原因が考えられるでしょうか?
SSL routines:ssl3_get_server_certificate:certificate verify failed
というエラーが出たので
ググったところ、サーバのSSL証明書ファイルが古かったりうまく設定できていない時に出るエラーのようでした
ググった先の情報に従って、
opensslをアップデートしてから、php.iniで
openssl.cafile=/etc/ssl/certs/ca-bundle.crt
と設定したのですが現象は変わらず(phpinfoで設定の反映は確認済み)
http://curl.haxx.se/ca/cacert.pem
を取得してそれをopenssl.cafileに設定しても、やはり現象に変化なしでした
しかたなくfile_get_contentsのオプションでverify_peerとverify_peer_nameをfalseにして、
証明書のチェック自体をしないようにしたらエラーは消えましたが、
なぜ証明書ファイルを設定してもエラーになったのかが気になります
どんな原因が考えられるでしょうか?
430デフォルトの名無しさん (アウアウウー Sac7-2qry)
2019/06/18(火) 01:05:53.87ID:90gU7PyPa >>429
もしかして読み込み先のサーバに問題があるのでは?
と思ってhttps://yahoo.co.jp/をfile_get_contentsで取得してみたら、
エラーは出ませんでした
そこで読み込み先のサイトをブラウザで表示して、証明書を確認したところ、
有効期間が2019/6/14〜になっていました
つまり、最近証明書を更新したようです
file_get_contentsでは古い証明書を取得しまっている、ということだと思いますが
何故そんなことが起きるのでしょうか?
どうすれば解決できますか?
もしかして読み込み先のサーバに問題があるのでは?
と思ってhttps://yahoo.co.jp/をfile_get_contentsで取得してみたら、
エラーは出ませんでした
そこで読み込み先のサイトをブラウザで表示して、証明書を確認したところ、
有効期間が2019/6/14〜になっていました
つまり、最近証明書を更新したようです
file_get_contentsでは古い証明書を取得しまっている、ということだと思いますが
何故そんなことが起きるのでしょうか?
どうすれば解決できますか?
431デフォルトの名無しさん (ワッチョイ 1ab0-bbbA)
2019/06/18(火) 06:22:32.87ID:3nOE2mBA0 プログラム板にキチガイ降臨中!botに一晩も反応する異常さ
一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。
https://mevius.5ch.net/test/read.cgi/tech/1559872586/
142 名前:a4 ◆700L1Efzuv 投稿日:2019/06/18(火) 05:29:55 ID://qVkzO
>>141
名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、
片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか?
一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。
一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。
https://mevius.5ch.net/test/read.cgi/tech/1559872586/
142 名前:a4 ◆700L1Efzuv 投稿日:2019/06/18(火) 05:29:55 ID://qVkzO
>>141
名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、
片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか?
一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。
432デフォルトの名無しさん (ワッチョイ 5b0f-hwLH)
2019/06/18(火) 17:22:41.03ID:HA3mKCJN0 ファイルの書き出し処理で分からないことがあったので質問します
Windowsでファイル名に使えない文字がありますよね
日本語だと、全角文字に置き換えるということができますが
海外だと、どんな方法で対処してるのでしょうか?
英語というか、1バイト文字でどう回避してるのか、よく分からないです
全部 _(アンダースコア)で置き換えとか?
Windowsでファイル名に使えない文字がありますよね
日本語だと、全角文字に置き換えるということができますが
海外だと、どんな方法で対処してるのでしょうか?
英語というか、1バイト文字でどう回避してるのか、よく分からないです
全部 _(アンダースコア)で置き換えとか?
433デフォルトの名無しさん (ワッチョイ 9961-f3ih)
2019/06/24(月) 20:15:24.96ID:m1x6Lozf0 音楽ファイルなんかでよく見るけど予約文字は大体アンダースコアになってるね
アポストロフィや?は省略されてることが多い
アポストロフィや?は省略されてることが多い
434デフォルトの名無しさん (ワッチョイ d35c-Im5L)
2019/06/24(月) 20:38:24.35ID:OkN3wkON0 XML文字参照とかコードポイントとか
435デフォルトの名無しさん (ワッチョイ caa9-Eaty)
2019/07/03(水) 08:09:50.05ID:NH/ScEyz0 単一のphpで、1つのinput textからポストしてデータベースに接続してselectしてレコードを
input textの下に表示する、というコードを書いて動いたのは嬉しいのですが、
functionは使っていません。
いずれclassの中にfunctionを入れたいのですが、私のphp部分なら30行ぐらいのコードでもそういう
ことができるのでしょうか?
人のコードで、functionばかりあって、最後に
main();
みたいなのがありますが、それが行き着く先の形なのでしょうか。
input textの下に表示する、というコードを書いて動いたのは嬉しいのですが、
functionは使っていません。
いずれclassの中にfunctionを入れたいのですが、私のphp部分なら30行ぐらいのコードでもそういう
ことができるのでしょうか?
人のコードで、functionばかりあって、最後に
main();
みたいなのがありますが、それが行き着く先の形なのでしょうか。
436デフォルトの名無しさん (ワッチョイ caa9-Eaty)
2019/07/03(水) 08:11:47.66ID:NH/ScEyz0 補足です。
sqlインジェクションとかXSSとかの対策も知らないのでそのままではダメですが、
自分なりの堅牢なfunctionを作って、それを組み合わせるというのがphpプログラマーなのでしょうか。
sqlインジェクションとかXSSとかの対策も知らないのでそのままではダメですが、
自分なりの堅牢なfunctionを作って、それを組み合わせるというのがphpプログラマーなのでしょうか。
437デフォルトの名無しさん (ワッチョイ 9565-NNfO)
2019/07/03(水) 11:15:42.58ID:XrINKmpg0 >>435
「PHP デザインパターン」で検索
「PHP デザインパターン」で検索
438デフォルトの名無しさん (ワッチョイ caa9-Eaty)
2019/07/03(水) 18:55:14.56ID:NH/ScEyz0 >>437
ありとうございます。デザインパターンで検索するとちょっと内容が濃すぎました。
オンラインの学習でclassやextendを使った内容は一通りやってみたのですが、
既存のfunction無しのコードを、classやfunctionありのコードに直すのではなくて、
始めから書き直すことになりそうですね。
ありとうございます。デザインパターンで検索するとちょっと内容が濃すぎました。
オンラインの学習でclassやextendを使った内容は一通りやってみたのですが、
既存のfunction無しのコードを、classやfunctionありのコードに直すのではなくて、
始めから書き直すことになりそうですね。
439デフォルトの名無しさん (ワッチョイ 6aa7-NNfO)
2019/07/03(水) 19:37:45.44ID:G8Yh9hPC0 >>438
「PHP リファクタリング」で検索
リファクタリングして、デザインパターンに寄せるのがいい設計のひとつ。
30行ぐらいのコードでも機能が3つあれば、10行ずつ3つに分けてfunctionにしてもいい。
そして、それをまとめて1つのclassにしてもいい。
試しにfunction化して動かしてみて、それが出来たら更にclass化して動かしてみればいいよ。
思ったより簡単に動くから。
「PHP リファクタリング」で検索
リファクタリングして、デザインパターンに寄せるのがいい設計のひとつ。
30行ぐらいのコードでも機能が3つあれば、10行ずつ3つに分けてfunctionにしてもいい。
そして、それをまとめて1つのclassにしてもいい。
試しにfunction化して動かしてみて、それが出来たら更にclass化して動かしてみればいいよ。
思ったより簡単に動くから。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ [冬月記者★]
- 自民・麻生太郎副総裁 石破政権の1年は「どよーん」 高市政権発足で「何となく明るくなった」「世の中のことが決まり動いている」★2 [Hitzeschleier★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- 【山形】クマ駆除で誤射した猟友会隊員に町が1663万円請求へ...弾当たり男性大けが2023年 小国町 [nita★]
- 【27歳会社員】「自慰行為に使うために」コインランドリーの乾燥機から24歳女性の下着など計11点(時価8万2080円相当)盗んだ疑い [nita★]
