PHPのuploadのファイルの最大サイズの設定

php.iniの設定を変えてもファイルをアップロードできないケース - めざせ言語マスター

upload_max_filesize
アップロードされるファイルの最大サイズ
ディレクティブ名 説明
memory_limit スクリプトが確保できる最大メモリ
post_max_size POSTデータに許可される最大サイズ

memory_limit >= post_max_size >= upload_max_filesize

 

他にも方法はあったが、php.iniを編集した。

 

Ubuntu16.04のphp.iniの場所

/etc/php/7.0/apache2/php.ini

だった。

Ubuntuでの php.ini の場所 | 2013年 | ブログ | hydroculのメモ

apt-get でインストールした場合、Apacheで動くPHPの php.ini は /etc/php5/apache2/php.ini にある。この場所は phpinfo(); で確認できる。

コマンドラインで動くPHPの php.ini は /etc/php5/cli/php.ini にある。この場所は php -i | grep php.ini で確認できる

 

 

 

www-dataイズ誰?

apacheを動かしているユーザらしい。

誰の子よ!いつ追加したんだ!

(archとかだと自動で追加されないんだろうか?)

 

ユーザ権限とアクセス制御 - UnixClassWiki

apacheはユーザwww-dataの権限で動作しています。

ubuntuのapacheユーザーとグループ - Qiita

/etc/apache2/envvars にその設定が書かれているので、もしapacheを動かすユーザーを変更したいのであれば、そこを変えてやればいい。

 

sudoの権限を設定するvisudoコマンド【Linuxコマンド集】

 visudoコマンド

ApacheユーザでPHPからsudo権限のシェルをたたく - 日報 #130 - 俺の報告

$sudo visudo

ygushi備忘録 : apache2 の www-data ユーザーにrootの権限を与える

<apache2 の www-data ユーザーにrootの権限を与える>

>sudo nano /etc/sudoers
www-data ALL=(root) NOPASSWD: ALL

 

Ubuntu日本語フォーラム / /var/www/の所有者を「root→自分のユーザー名」に変更すると危険でしょうか?

一時的にwww-dataになる

コード:

sudo -u www-data -s

 

 

 

 

PHPでファイル名の拡張子を取得して変更する

【PHP】ファイル名の拡張子を取得する方法(pathinfo) - STUDY-UP

1
2
3
4
5
6
7
8
$filename="C:/temp/test.csv";
 
$path_parts = pathinfo($filename);
 
echo $path_parts['dirname'], "\n";
echo $path_parts['basename'], "\n";
echo $path_parts['extension'], "\n";
echo $path_parts['filename'], "\n";

$path_parts['filename']で拡張子なしのファイル名なので

$path_parts['filename'].'txt'

で拡張子を付け替えできる。

 

PHP: basename - Manual

basenameは拡張子ありのファイル名