学習日記 20230919

2023/09/19に公開

6:30 2023/09/19
昨日のコードは使い分けることにした。

foreach ($_FILES['up_image'] as $key => $value){
	if($key !== 'error'){
		$up_image_array[$key] = array_filter($value);
	}
}

こっちは、投稿画像編集用に。
なぜなら、添え字数字を継承できるから。
継承していることによって、どのフォームから投稿されたかがわかるから。
ここで頭詰めをしてしまうと、その情報が失われてしまうため。

foreach ($_FILES['up_image'] as $key => $value){
	if($key !== 'error'){
		$up_image_array[$key] = array_merge(array_filter($value));
	}
}

こちらは、画像投稿用に。
なぜなら、空白文字などが入った要素を削除して、頭詰めし、添え字配列を
振りなおすことができるから。
ユーザは約束通り、1番目のフォームから投稿してくれるとは限らない。
だから2枚目の投稿フォームから投稿しても、
1枚目のフォームから投稿したものとして扱われるようにしなければならない。

7:16 2023/09/19
19:40 2023/09/19
今より給料アップさせるために。
未経験だとしても、完全未経験採用として思われたくない。
頑張ろう。

三項演算子

条件式 ? trueの時実行する処理 : falseの時実行する処理
やっていることは if文。

if ( 条件式 ) {
    trueの時実行する処理;
else{
    falseの時実行する処理;
}

を1行で書いただけ。
注意すべきことは 条件式を書いた後は ? をつけること。
trueの時実行する処理の後に記載するのは  セミコロン ; ではなく コロン :
ちなみに次のような書き方も可能

$変数 = 条件式 ? trueの時実行する処理 : falseの時実行する処理
こうすることで、処理結果をそのまま変数に入れることも可能。

コード削減につながる。慣れるまでは読みづらい。

バリデーションについて
現投稿の?番目に画像がある場合
削除ができる。
削除、追加ができる。
現投稿の?番目に画像がない場合
追加のみできる。

?枚目に画像がある
->削除チェックがある
--->削除する
--->差し替え画像ある
------>差し替える
------>差し替えない
->削除チェックがない
--->差し替え画像ある
------>エラー
?枚目に画像がない
--->追加画像がある
------>追加する
------>なし

sqlupdate文の構文
update tablename
set column_name1 = value1

今まで画像番号を for文で回しやすいように配列のindexに揃えて、 0スタートにしていたが、
emptyで番号存在判定を行うと、非空判定してほしいものが
0であるために空判定となってしまい、バグにつながる。
そこで、やはり1スタートにして、配列のindexを調べるときに-1するようにして対応しよう。

投稿画像編集php(削除機能)を走らせることによって
unlinkでファイルサーバ上の画像ファイルを削除することに成功
これはうれしい。

unlink('削除するファイルまでのpath')
ファイルを削除できる。
戻り値はbool型。
削除できればtrue、失敗すればfalse

画像の差し替えがついにできたかもしれない。
差し替えが無事できた。動いた。
これはうれしい。!!!!!!
泣きたいかもしれない。
今のところ、バグはない、
お願い、バグよ、ないでおくれ。
もういやだーーーーーーー。
23:36 2023/09/19

Discussion