PHP関連のことを調べてみた2021年11月14日

PHP関連のことを調べてみた2021年11月14日

【Laravel】「/var/www/storage/logs/laravel.log」Permission Denied Error 解決方法

LaravelでLaradockを導入して、Laravelを起動した際に以下のエラーがでました。

# エラー
“`php
The stream or file “/var/www/storage/logs/laravel.log”
could not be opened in append mode: failed to open stream: Permission denied
“`

# 解決法
以下のコマンドで、権限を変更してあげるとエラーが消えます。

“`
chmod -R 777 /var/www/storage
“`

元記事を表示

PHP関数を変数に代入してみましょう!

#無名関数

関数を値として扱う為に変数に代入します!

以下の関数があったとします。

“`php:index.php

変数 $sum に上の処理を代入します。

値だけ代入したいので関数名のsumは消して、

} の後に ; をつけます。

“`php:index.php

ではこの変数を使ってみましょう!

変数$sumに(1, 2, 3)の引数を渡します。

“`php:index.php

$sum = function ($a, $b, $c) {
return $a + $b + $c;
};
echo $sum(1, 2, 3) . PHP_EOL;

“`

ターミナルに以下

元記事を表示

PHPの関数でreturnを使って値を返してみましょう!

#関数でreturnを返す

PHP関数の中でreturnを使って値を戻してみます!

こちらの関数があったとします。

“`php:index.php
ターミナルに以下を入力すると…

“`
~$ php index.php
“`

3つの値が計算されて出力されました!

“`
~ $ php index.php
9~ $
“`

returnで書き換えてみます

“`php:index.php
もう一度以下のターミナルを実行します!

“`
~$ php index.php
“`

同じ結果になりました!

“`
~ $ php main.

元記事を表示

PHP引数を使って処理の内容を変えて見ましょう!

#PHP引数

仮引数と実引数を使って関数の処理の内容を変えていきます!

以下のコードがあったとします。

“`php:index.php
ターミナルに以下を入力すると…

“`
~$ php index.php
“`

このように出力されます…

“`
~ $ php main.php
・・・・・・・・
・・・・・・・・
・・・・・・・・
おにぎり食べたい!

元記事を表示

PHPの関数を使ってみよう!

#PHP関数

書いたコードを見やすくする為に関数でまとめていきます!

以下のコードがあったとします。
 

“`php:index.php
ターミナルに以下を入力すると…

“`
~$ php index.p

元記事を表示

基本的なリダイレクトの設定

複数のケースを想定してリダイレクトを書く場合があったので、メモです。

* 下記はよくみるリダイレクト処理です。
* PHPに例えると、`RewriteEngine` は処理の開始宣言、`RewriteCond` は条件文、`RewriteRule` はそこで実行する処理になります。
* `^`はURL正規化の開始フラグです。

“`
RewriteEngine On
RewriteCond %{http_host} ^www.example.com
RewriteRule ^(.*) https://www.yahoo.co.jp/$1 [R,L]
“`

* 上記のままだと `www` が付いた場合しか考慮できない可能性があるため、 `RewriteCond` を複数行にします。
* RewriteCondに `[OR]` をつけることでいずれか1つに一致した場合は、 `RewriteRule` にある処理を実行することになります。
* 表示には出ませんが、複数ある `RewriteCond` に何も書かない場合は `[AND]` として処理され、すべてのRewriteCond

元記事を表示

+ – * / は代数演算子,じゃない

Ruby の初心者向け記事で `+`,`-`,`*`,`/` を「代数演算子」と書いているものをときどき目にしますが,これらは正しくは「算術演算子」です。英語だと arithmetic operators ですね。

なぜ「代数演算子」という誤った用語が広がっているのか分かりませんが,PHP のリファレンスマニュアルでなぜか「代数演算子」となっているので,PHP 界から Ruby 界に入ってきたのかもしれません:
[PHP: 代数演算子 – Manual](https://www.php.net/manual/ja/language.operators.arithmetic.php)

上記ページでは冒頭に

> 学校で習った基礎代数を憶えていますか?

とも書かれています。

この英語版は,タイトルが

> Arithmetic Operators ¶

となっており,冒頭の文も

> Remember basic arithmetic from school?

です。

単なる誤訳ではないでしょうか。arithmetic と algebraic を混同しているような気がします:

元記事を表示

PHPのループ処理でcontinue、breakを使ってみましょう☆

#☆continue☆

特定の処理の時にループをスキップするには

continueを使っていきます!

以下のfor文があったとします。

“`php:index.php
for ($i = 1; $i <= 5; $i++) { echo $i . PHP_EOL; } ```
ターミナルに以下を入力します!

“`
~$ php index.php
“`

1〜5が出力されます!

“`
~ $ php main.php
1
2
3
4
5
~ $
“`

2だけとばしたいので continue を使います!

“`php:index.php
for ($i = 1; $i <= 5; $i++) { if ($i === 2) { // 2のとき continue; } echo $i . PHP_EOL; } ```
ターミナルで同じく以下を実行すると…

“`
~$ php index.php

元記事を表示

EclipseでのPHP開発環境を構築する【Windows10】

#環境
Windows10 Pro 21H1 64bit

#統合開発環境Eclipseのダウンロード

https://mergedoc.osdn.jp/

1.「Pleiades All in One ダウンロード」から最新版を選択
2.開発言語毎のダウンロードリンクが表示されるので、**PHP**の**Full Edition**を選択しダウンロード

:::note info
Full Edition には各言語の処理系も含まれており、自動デフォルト設定機能により既存環境に依存することなく、コンパイラなどのパスが自動でセットされます。特に理由が無ければ、すでにコンパイラなどがインストールされている環境でも Full Edition をお勧めします。
:::

#ダウンロードファイルの展開
上記ダウンロードファイルを展開すると、以下のフォルダ、ファイルが配置されます。
(2021/11/01時点)

pleiades フォルダ
┣ .metadata.default フォルダ
┣ eclipse フォルダ
元記事を表示

UbuntuにMySQLをインストールして、ApacheのPHPからアクセスするまで

#環境
Ubuntu 20.04.3
Apache 2.4.41
PHP 7.4.3

#MySQLのインストール
https://qiita.com/houtarou/items/a44ce783d09201fc28f5

こちらを参考にしました。
こちらのコマンドを入力します

“`shell-session
$ sudo apt install mysql-server mysql-client
“`
##Rootユーザーの設定
“`shell-session
$ sudo mysql_secure_installation
“`

|質問|答え|
|–|–|
|Press y|Y for Yes, any other key for No:|y|
|Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2|後述※1|
|Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No

元記事を表示

LINE BOTを使って疑似彼女を錬成するレシピ

## はじめに

最近寒くなってきましたね〜、そしてもうすぐクリスマス!
世のカップルを爆撃するのを楽しみにしております ☆ wkwk

![depositphotos_320979774-stock-photo-closeup-of-red-baubles-hanging.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170923/842822db-96a8-a74c-b81c-809f5dc2f579.jpeg)

そんな寂しい僕のお供としてLINE BOTを作ってみましたので、今年のクリスマスは一緒に過ごそうと思います ♡

## 紹介すること・しないこと

**紹介すること**
– アプリケーションの構成
– BOTの仕様
– DB設計
– プログラム、及びその解説
– **採用PR** (ぜひ最後のページまで見ていって下さい!)

**紹介しないこと**
LINE DeveloperサイトでのLINEアカウントの作り方は省略させて下さい。すいません > < ## 構成 自前で用意したサーバが

元記事を表示

PHPのwhileでループ処理を行いましょう☆

whileを使って条件が満たされている間、

繰返しができるループ処理をしていきましょう!

50点を持っていて、-10ずつ減らしていきます。

“`php:index.php
0) {
echo “あなたの点数は $score です!” . PHP_EOL;
$score -= 10;
}
“`

ターミナルに以下を入力します!

“`
~$ php index.php
“`

このように出力されます!

“`
~ $ php index.php
あなたの点数は 50 です! // -10ずつ減っていきます
あなたの点数は 40 です!
あなたの点数は 30 です!
あなたの点数は 20 です!
あなたの点数は 10 です!
~ $
“`

元記事を表示

Ubuntu20.04上のApacheにPHPをインストールする

###環境
Ubuntu 20.04.3 LTS
Apache 2.4.41

#インストール
“`shell-session
$ sudo apt-install php libapache2-mod-php
“`

#動作確認
“`shell-session
$ vi /var/www/html/test.php
“`
次の内容を書き込みます。
保存できない場合はこちらの記事を参考に権限設定をしてみてください。

https://qiita.com/yuu1111main/items/77976d7ece0ecfb35157

“`php

元記事を表示

PHPのforを使ってループ処理をしましょう★

処理の回数が決まっている場合や、
特定の処理を行う時にfor文を使ってループ処理をしていきます!

「わーーーぃ!」を7回表示させてみます。

“`php:index.php

元記事を表示

オンラインIDEのRepl.itでGoogleニュース検索を作りました

## 0.はじめに

Google ニュースを簡単に検索したくなったので、オンラインIDEの[Repl.it](https://replit.com/)でPHPで検索画面を作ってみました。

Repl.itの説明は、以下の記事あたりに紹介されてます。

[60以上の言語が使用可能なブラウザ実行型IDE – Repl.it – ばいばいバイオ](https://www.kimoton.com/entry/20201115/1605449573)

## 1.実際の画面やコード

Repl.itで実際に動いているので、そちらをご覧ください。

https://replit.com/@basictomonokai1/Google-News-Search

## 2.参考にした記事

ほぼ丸パクリです…

* [google NewsをRSSで取得してjsonで返却するPHPプログラム](https://www.zip358.com/2018/12/22/google-news%E3%82%92rss%E3%81%A7%E5%8F%96%E5%BE%97%E3%81%97%E3%81%A6js

元記事を表示

FuelPHPしか触ったことないPGがLaravelで実装してみた所感

###はじめに
※FuelからLaravelに乗り換えて、まだシステムの実装途中でこの記事を書いているため、ところどころおかしなことがあると思いますが目をつむってくだされば幸いです。

###なぜFuelからlaravelに乗り換えたのか
以前に保守を行っていたシステムでちょっと古いFuelとPHPを使ってました。
そろそろPHPのバージョンを上げなきゃなって時にまさかのFuelの開発が止まっており、最新のPHPのバージョンでFuelが動くのかわからない状態に…
その時は別の優先度が高い案件が入り、ペンディングになっている間にFuelPHPのバージョンがリリース(1.8.2)されわりと新しいPHPのバージョン(7.3系)に対応したため事なきを得ました。
しかしながら、古いPHPのサポート終了は次々とやってきます。なので今後なにか新しいものを作る場合は学習コストを払ってでも、更新が頻繁でモダン的、使用しているユーザーも多くドキュメントが豊富なフレームワークを使おうということになり、Laravelを選択しました。

###とりあえず触ってみたが…
PHPのフレームワークはFuelしか触った

元記事を表示

PHPのswitchで複数条件分岐をしてみましょう!

複数条件がある時はswitchを使ってコードを書いていきます!

“`php:index.php

元記事を表示

PHPの論理演算子を使ってみよう!

PHPの論理演算子で条件をまとめてみましょう!

“`php:index.php
=20) {
if($name === ‘kana’) {
echo ‘素晴らしい!’ . PHP_EOL;
}
}
“`

ターミナルで以下を実行すると…

“`
~ $ php index.php
“`
このように表示されました!

“`
~ $ php index.php
素晴らしい!
~ $
“`

ではこちらの処理をもっと見やすく、

「&&」と言う論理演算子でまとめて書いていきます。

「&&」は、なおかつやandという意味です!

“`php:index.php
$score = 30;
$name = ‘kana’;
if ($score >=20 && $name === ‘kana’) {
echo ‘素晴らしい!’ . PHP_EOL;
}
“`
先程と同じようにターミナルに以下を入力します!

“`
~$ php index.php
“`

元記事を表示

[504 Gateway Time-out エラー対処] データが大きいSQLファイルを、phpmyadminやadminerでインポートする方法

#はじめに
3GBのsqlファイルをadminerでインポートする際、`413 Request Entity Too Large`や`504 Gateway Time-out`のエラー対処に手間取ったため、方法をまとめます。

基本的に、データ量が多いと、`データの送受信の時間を伸ばす`、`データファイル容量の上限を増やす`必要があります。

sqlファイルのインポートに限らず、PHPで実行時の`504 Gateway Time-out`エラー対処に使用できる記事になります。

#前提条件
– DB管理はadminerを使用。phpmyadminでも問題なし
– nginxを使用
– EC2にadminerを導入(以下の記事参考

https://qiita.com/holdout0521/items/d559ed8ab24aaaafd876

#sqlファイルのインポート方法

1. adminer.php が配置されているディレクトリ内に、エクスポートしたsqlファイルをそのまま、アップロードします。私の場合、圧縮タイプの`.gz`タイプだとインポートできませんでしたので、ファイ

元記事を表示

[PHP 7.4] CSVダウンロード

# コード

“`php:download_csv.php
/**
* CSVダウンロード
*
* @param array $data
*
* @return void
*/
function downloadCsv(array $data) {

$fileName = “hogehoge.csv”;

header(“Content-Type: application/octet-stream”);
header(“Content-Disposition: attachment; filename=” . $fileName);
header(“Content-Transfer-Encoding: binary”);

$csvStr = “”;
$csvStr = fopen(“php://output”, “w”);

// 文字コード変換
stream_filter_append($csvStr, “convert.iconv.UTF-8/CP932//TRANSLIT”, STREA

元記事を表示

OTHERカテゴリの最新記事