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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 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
2019/04/11(木) 14:00:08.37ID:8je0Y1Lmd
>>300
動画なら通信環境があれば見せられるんじゃね?
302デフォルトの名無しさん (ワッチョイ 4901-Fply)
垢版 |
2019/04/11(木) 14:36:54.31ID:1s3wCd4l0
>>301
やっぱ相手側が触ることは出来んよね
awsとか使えば相手が動かせる事も出来るよね
303デフォルトの名無しさん (ワッチョイ 0b82-3VJR)
垢版 |
2019/04/11(木) 18:37:47.44ID:ucvbVgLJ0
ファイルアップロードフォームを作って、
iPhoneから写真や動画をアップロードして、
$_Filesからファイル名を取り出すと、
6CCC151C-DF3B-486F-8C97-AA06485047BD.jpeg
こんな感じの文字列になってしまいます。
元はIMG_0000.jpgのような名称だと思います。

iPhoneからの場合はどうすれば、正しい名称になるんでしょうか?
2019/04/11(木) 19:07:45.95ID:ZpA9hK1A0
phpはフロント専任だな…
305デフォルトの名無しさん (ワッチョイ b3bd-0Hjf)
垢版 |
2019/04/11(木) 22:38:53.56ID:ScFKV4yk0
phpでデータベースのカラムに寿命付けるのってどうすれば出来る?
takashiが一時ログインしたらタカシのデータを24時間で削除したいんやけど…
セッションやクッキーに保存するのは何か駄目な気がして。。
2019/04/11(木) 22:45:31.86ID:GF1IL3KP0
cron使って定期的にアップデートかけるってのは
307デフォルトの名無しさん (ワッチョイ b3bd-0Hjf)
垢版 |
2019/04/11(木) 22:57:43.87ID:ScFKV4yk0
>>306
登録した時間によって削除の時間が変わったりせんかな…
なんつーか個別にイベントを発行する感じにしたいんや。
一時的に登録して登録から24時間立ったら削除するみたいな。cron使う頭いいやり方があるなら知りてえ
308デフォルトの名無しさん (ワッチョイ b3bd-0Hjf)
垢版 |
2019/04/11(木) 23:00:29.30ID:ScFKV4yk0
>>307
あっそうか。それをcronで判定すればいいのか。アホやな俺
309デフォルトの名無しさん (ワッチョイ b3bd-0Hjf)
垢版 |
2019/04/11(木) 23:03:22.14ID:ScFKV4yk0
>>306
ありがとう😊
2019/04/12(金) 04:28:30.68ID:WO5SLys30
そういうのを銀行などの運用業務では、日次処理と言う。
他にも、週次・月次処理もある

>>300-302
PC 内でサーバーを構築しておいて、PC を持っていって、ブラウザで動かせば?
2019/04/12(金) 04:53:44.93ID:cg9pp3DB0
バッチ処理ですな
2019/04/12(金) 09:30:52.80ID:43Lr2rro0
>>311
手動でもバッチ処理と言うよ。
313デフォルトの名無しさん (ワッチョイ 0b07-2loy)
垢版 |
2019/04/12(金) 15:57:53.38ID:DpwHJL1Z0
$array = ['name'=>'ななし','age'=>'20','sex=>'男']

という配列があるとして、
$array = ['member_name'=>'ななし','member_age'=>'20','member_sex=>'男']

と、キーにmember_を追加する方法を模索しています。
foreachで代入し直す以外に、簡単な方法はありますでしょうか?
2019/04/12(金) 18:10:06.99ID:zC61PQSSa
>>313
PHPの配列は原則的にハッシュマップだからそういう操作は想定してない
2019/04/12(金) 23:41:15.74ID:8ZS6XE5Oa
$array = [
member_name => $array[name],
...
];
2019/04/13(土) 00:00:28.74ID:ukoM+IiZa
$array = array_combine(array_map(function($v){
return 'member_'.$v;
} ,array_keys($array)), $array);
テストしてないけどforeachのが早そう
2019/04/13(土) 07:55:50.84ID:s3ds+7dN0
$array = (function($old){
 foreach ($old as $k => $v) $new['member_'.$k] = $v;
 return $new;
})($array);

foreachつかってかーさい
318デフォルトの名無しさん (ワッチョイ 0bda-pBLJ)
垢版 |
2019/04/13(土) 08:13:54.42ID:07mRS5hZ0
正規表現で、\w と [0-9A-Za-z] とで、どちらが早いとかありますか?
小文字アルファベットだけでいい時に、[a-z] と \w のどちらも指定できるとしたら、どちらが早いでしょうか?
2019/04/13(土) 08:22:34.83ID:blG/UTRx0
単に1つずつ、動的に辞書に追加してるだけだろ

結局、1つずつ、すべてを追加するだけの処理
2019/04/13(土) 14:50:04.75ID:CAZxfgWw0
>>314-317
色々とご意見ありがとうございます。
素直にforeach使って対応します。
2019/04/13(土) 15:52:33.56ID:eJqYG1GJ0
>>318
やってみればいいじゃん
2019/04/13(土) 20:00:30.39ID:PdzG1dGCd
PHP実務で最低限知ってればいいことって何かありますか?
2019/04/13(土) 21:44:34.11ID:ZDNzNkLB0
なにゆえ変数の頭に必ず$がつくのでしょうか
2019/04/13(土) 22:29:04.70ID:6xQqtfoW0
$付けるのは、昔からのしきたり
2019/04/14(日) 00:12:51.92ID:fjVzHTTb0
Perlの遺伝子の名残
2019/04/14(日) 15:04:49.97ID:fAGeAUaU0
@とか%も付けよう
2019/04/14(日) 21:06:14.97ID:Y/6wcZ7O0
@(0%0)←なぜかエラーが出る

なんつって
328デフォルトの名無しさん (ワッチョイ fbda-XGqV)
垢版 |
2019/04/15(月) 22:27:24.57ID:SVQji9la0
$はshiftを押さないと書けないから書きにくい
2019/04/17(水) 16:08:37.78ID:NJiBcQWA0
GETとかPOSTではfilter_inputを使えという話ですが、$_SERVERを扱うときは例外で旧来通り
直接アクセスが基本ですか?
さくらサーバーでは云々という情報が引っかかるのですが。
2019/04/17(水) 16:15:23.17ID:mg3EeLZxM
filter_inputにこだわる必要なんて無いよ。
2019/04/17(水) 16:51:05.27ID:NJiBcQWA0
分かりました。ありがとうございます。
2019/04/18(木) 00:00:01.59ID:cnp/FoA8a
誰かが途中でいじってない保証はないけどな
2019/04/18(木) 00:26:01.11ID:6IoWj+aJ0
環境変数が改ざんされてたら
もうfilter_inputどうこうの次元じゃないけどな
2019/04/18(木) 22:54:48.32ID:Q7jAWv/D0
例えばCで以下のようなdefineをPHPで実現するにはどうすればいいでしょうか?
#define errlog(msg)  ErrorLog(__FILE__, __LINE__, msg)

初歩的ですみません。
2019/04/19(金) 00:46:34.22ID:lWnHrGLea
get_error_last()
2019/04/19(金) 00:49:22.10ID:S92APKW+0
phpさらっと勉強したのですが
具体的にphpで作られてるウェブサイトで、phpを公開してる奴ってありませんかね?
勉強のために見てみたいです
2019/04/19(金) 01:06:16.70ID:bzbXvXi80
wordpress
2019/04/19(金) 06:12:27.66ID:CQvpYnEX0
WebDBアプリでソース公開されているものないですか?
デザインパターンとかも学びたいです
339デフォルトの名無しさん (ササクッテロル Sp79-Br+Y)
垢版 |
2019/04/19(金) 13:16:13.03ID:Rb5u/z0hp
学校の課題でHTMLでHP作ってるんだけどwin10のパソコンで書いたやつを学校PC(win7)で開くと文字化けするんだがどうすればいいのか教えてくれ
340デフォルトの名無しさん (ササクッテロル 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はサポート外だからすてろ
2019/04/19(金) 14:42:39.28ID:KhPbBDNPd
>>340
SJISとかUTF-8などの文字コードを勉強して、UTF-8が使えるテキストエディタ使え。和解の
2019/04/19(金) 15:47:12.43ID:ih/g4VJWM
URLですが.../と打ち込んだ場合
...というファイルにアクセスするのですか?
2019/04/19(金) 16:35:39.59ID:Y4E9vn3W0
>>343
ディレクトリ名で「..」は一つ上のフォルダという意味がある。点二つね。
2019/04/19(金) 17:59:38.21ID:er92Du55M
一つ上の男はどのように書き表しますか?
2019/04/20(土) 09:38:04.02ID:EzpoiD680
ガイアが俺にもっと輝けと囁いている
2019/04/20(土) 13:44:38.61ID:EzpoiD680
>>339
Dreamweaverで修正できるぞ
2019/04/20(土) 17:06:43.02ID:nmBhveLxa
>>339
PHPなのか?
2019/04/20(土) 17:10:50.63ID:46SaaHhXd
>>344
. 今いる所
.. ひとつ上

...  二つ上?
2019/04/21(日) 00:22:00.24ID:Aeq/r6ow0
小学生のプログラム教材見たけど、
ロボを前へ3歩右へ2歩動かす命令をみたいなやつとか
PHPの教科書と同じレベルだわ
算数で足し算とか習ってるレベルの子供にほんとに理解できるのかな?
351デフォルトの名無しさん (ワッチョイ f6ad-Eh39)
垢版 |
2019/04/21(日) 06:43:46.32ID:i48F5tCc0
>>336
オラは個人でポータルサイト作って公開してるが
PHPはサーバサイドの言語だから
サイト見たところで勉強にはならんと思うぞ
非遷移をやりたければAjax使わんといかんし
352デフォルトの名無しさん (ワッチョイ f6ad-Eh39)
垢版 |
2019/04/21(日) 06:46:56.90ID:i48F5tCc0
>>350
アングリーバードのプログラミング教材は面白かった
でも、プログラミングってよりブロックタイプのやつだから
アルゴリズムを考える作業が殆だよね

micro:bitのブロックで書いたコードをJSやPythonなどに変換できる機能は良いなと思った
2019/04/21(日) 08:13:48.42ID:Aeq/r6ow0
>>352
俺見た本はぱっと見は絵が多くて小学生用なんだが普通に
条件分岐if文、ループfor文とか説明されてて
英語も算数も絡んでくるけど、今後の小中学生が脅威にかんじたわ
小さいうちから当たり前になじんでれば抵抗ないんだろうな
2019/04/21(日) 12:58:09.77ID:g2z5hubB0
まあphpとか仕事にしてるような奴らは仕事なくなるだろな
2019/04/21(日) 19:56:01.27ID:0JlZuQqp0
>>349
...というファイル名を参照したよ
2019/04/21(日) 22:05:37.01ID:jRd0U4G2d
>>350
ロボットに正三角形を書かせて出発地に戻るとか、具体的だから小学生にも分かり易い。
Turtle LOGOの流れですね。
357デフォルトの名無しさん (ワッチョイ 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状態にしたいのですが、なってくれません。
2019/04/24(水) 19:07:44.04ID:wb+dbNkk0
>>357
>if($HEN['AAA'] === 'OK' ){
>$HEN['AAA']は確実に'ON'です。
2019/04/24(水) 19:12:31.45ID:AdJPrH9y0
>>358
すいませんif($HEN['AAA']の内容は「OK」です。
print_rなどで変数の内容を見ても、ちゃんと入ってます。
2019/04/24(水) 19:13:17.51ID:17biHAgbd
ONとOK
2019/04/24(水) 19:13:54.31ID:gP7Kc+nL0
checkedとrequiredがつながってる可能性
2019/04/24(水) 19:15:38.78ID:gP7Kc+nL0
つーか、HTMLソース見れば一目瞭然
2019/04/24(水) 19:20:56.00ID:AdJPrH9y0
ソースをみると、
<input type="radio" name="AAA" value="OK" required>
こうなります。
OKのあとに半角2つスペースでrequired
2019/04/24(水) 19:28:05.74ID:gP7Kc+nL0
ONとOKを間違えてるか、型が違うか。
2019/04/24(水) 19:31:32.04ID:17biHAgbd
全角と半角。
2019/04/24(水) 19:56:23.89ID:wb+dbNkk0
>>363
提案
radioをcheckboxに変えてみる
=== を == に変えてみる
if($HEN['AAA'] === 'OK' ){ echo 'checked'; } を echo 'checked'; だけにしてみる

いずれかで何か変わりませんか?
どこかに間違いがあると思うけど、提示された範囲では分からないです
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 などを、わざわざ使うかな?
2019/04/24(水) 21:52:45.02ID:wb+dbNkk0
見た感じでは構文的な間違いはなさそうなんだよな
ただ全体を晒しているわけではないので、間違い部分が分からない
2019/04/24(水) 22:53:46.57ID:S39z++Og0
if($HEN['AAA'] !== 'OK' ) に試しにしてみる
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>
にすりゃいいだけ
371デフォルトの名無しさん (ワッチョイ 232c-vaK/)
垢版 |
2019/04/26(金) 13:58:13.68ID:A/WNBxWE0
><?= $HEN ?>required

ああ!
前後に、空白が無いから、
checkedrequired みたいに、文字列がつながって、HTML の構文エラーになるのだろう!

必ず、前後に空白を入れるべし!
2019/04/29(月) 12:04:33.45ID:vct+Ltv00
phpで、画像にアクセスしてきたIPを保存することってできますか?
2019/04/29(月) 12:29:23.82ID:EyyZk+++0
ダイレクトに画像アクセスされたら分からないだろう
Webサーバーのログ見るしかない
2019/04/29(月) 12:48:02.00ID:vct+Ltv00
そういうものなんですね
ありがとうございます
2019/04/29(月) 17:43:20.49ID:loz4DS5aa
apacheでやっていることをphpでやるようにしたらできるぞ
2019/04/29(月) 22:11:30.94ID:iMBvrM8u0
画像は非公開領域に置いて、PHP経由で画像を出力するとかできたような
2019/04/29(月) 22:39:29.73ID:vct+Ltv00
ありがとうございます、もうちょっとphpを勉強してから
また考えてみます
378デフォルトの名無しさん (ワッチョイ ff61-5AMV)
垢版 |
2019/05/09(木) 00:45:39.61ID:RU31sPhL0
phpについて役立つ情報とか
http://mevius.5ch.net/test/read.cgi/tech/1557329831/l50

DWE
2019/05/13(月) 18:40:53.35ID:roML+UDma
呼んだ関数の返り値がfalse相当でなければ、その値を返す
そうでなければ、次の関数を呼んで、その値を返す
というのをスマートに書くにはどうしたらいいですか?

return func0() || func1()

と書けばいい気がしたのですが、func0の返り値が文字列の場合、うまくいきません
2019/05/13(月) 22:24:51.96ID:tr/4p/4f0
if (func0() !== false) {
return func0();
}
return func1();
2019/05/13(月) 23:37:45.04ID:xlLeel7b0
2回実行しやらんか
2019/05/13(月) 23:46:55.40ID:NT7m3BJtM
>>379
スマートにする目的はなに?
可読性?実行速度?タイプ量?
2019/05/14(火) 00:21:30.17ID:C/lwgk7za
??
2019/05/14(火) 00:52:38.99ID:+1EhYDa60
>>379
イマイチ何がしたいのかわからないが、↓は駄目なんだよね?
http://codepad.org/Pmd52Nk7

↓みたいに、falseで無い文字列の場合はその文字列を返したいの?
https://ideone.com/HjePmQ
2019/05/15(水) 05:58:37.58ID:vAqxpv060
>>379
三項演算子で
return func0() ? func0() : func1();
ただこれだとfunc0()を2回呼び出して無駄なので
return ($a = func0()) ? $a : func1();
かな

>>379のはJavaScriptで使うけどPHPじゃ使わない
2019/05/15(水) 07:21:00.71ID:WsD3jNK80
スマートってのがばく然とし過ぎてるよ。
何を叶えたくてそういう書き方をしたいのか。
それ用の構文が用意されてるか聞いてるのかな。
COALESCE みたいなのを探してるならPHP7で ??(null合体演算子)が追加されたけど、false や 0 にも適用させたいなら合わないだろうね。
if文で書くのが見やすいしメンテもしやすくてスマートなんじゃね。
2019/05/15(水) 09:10:52.73ID:TijlUNhYa
戻り値がboolじゃない時点でクソなんだがな
2019/05/15(水) 16:10:31.93ID:vAqxpv060
動的言語じゃ短絡評価の型がboolじゃないのは普通だよ
2019/05/15(水) 20:27:21.35ID:+XInXPJh0
C「せやで、intやで
2019/05/16(木) 03:25:20.50ID:neNHVSKA0
CakePHPって人気無いのか?(´・ω・`)
今、参考書読み始めたばかりなんだが
2019/05/16(木) 15:45:22.32ID:fgD0r/Q+0
成熟したFWって感じだと思う。今から学んでも良いと思うよ
2019/05/16(木) 17:28:06.18ID:neNHVSKA0
ほうほう(´・ω・`)
2019/05/25(土) 13:44:57.44ID:BtUlhHLe0
twitterのBotを作りたいと思っています
指定ワードに引っかかったらブロックするという動作を入れたいのでアプリだと対応できなさそうです
と言うか PHP でもそもそもそんな仕様で作れるのかも分からないので参考になりそうな資料があったら教えてください
2019/05/25(土) 14:07:06.16ID:ro0ZuUFGd
「Twitter API PHP」でウェブ検索。

https://qiita.com/yokoh9/items/760e432ebd39040d5a0f
困難出ましたけど。
2019/05/25(土) 20:12:23.16ID:LACToUkl0
勉強中の身であり、変数の名前に気になるところがあるのですが、
$productName
$productColorとか、単語を並べてわかりやすくする時、2単語目は1文字目は大文字なのに、
先頭の単語は大文字にならないのをよく見受けるのですがなぜでしょうか?
2019/05/26(日) 01:01:52.69ID:R35t2Hzta
テキトーでええねん
2019/05/26(日) 01:15:23.48ID:mCW+tIqA0
世の中にはいろんな宗教があって、それぞれが信じる神に従ってる
何故その宗教なのか、人によって違うrだろうけど
好きなのを選べ
2019/05/26(日) 01:17:46.53ID:H/eCV4+Ur
>>395
そういうもんだから、としか
ローワーキャメルケースでググって
2019/05/26(日) 13:54:59.26ID:QXjH/q9Q0
phpの変数の場合は先頭に$がつくから大文字開始でもいいわなと適当に無責任に思ったりする
アンダーバー使いからでした
2019/05/26(日) 19:42:15.61ID:l16JnEYu0
レスどうもです、色々見てみました。
たしかに組織の中でルールを統一しないと色々不便があると思うので、こういうのがあるのですね。
for文のどこに半角スペースを入れるか入れないかでも悩んで居るので
できるだけ「ベタ」なやり方に沿っていたほうが良いとは思うのですが、標準化というのかわかりませんが、
そういう心構えを案内しているサイトは、何でググればいいでしょうか?
■ このスレッドは過去ログ倉庫に格納されています