PHPのtempnam()関数を使用し一意の名前の一時ファイルを作成してみます。
tempnam()関数は、指定されたディレクトリ内に一意の名前の一時ファイルを作成することができます。
■基本的な構文
tempnam(dir, prefix)
dirは、一時ファイルを作成し、ファイルを置くためのディレクトリを指定します。
prefixは、ファイル名の先頭,名前の部分を指定します。
■環境
・Windows10
・XAMPP 8.0.6
・PHP Version 8.0.6
■tempnam()関数を使用し一意の名前の一時ファイルを作成する
では、PHPのtempnam()関数を使用し一意の名前の一時ファイルを作成するスクリプトを書いていきます。
■コード
<html lang="ja">
<head>
<title>tempnam()関数を使用し一意の名前の一時ファイルを作成する</title>
</head>
<body>
<?php
echo tempnam("C:\Users\user_\test","test_file")
?>
</body>
</html>
一意の名前の一時ファイルを作成するために、tempnam()関数の括弧内に、第1の引数,パラメータとして、一時ファイルを作成し、ファイルを置くためのディレクトリを渡します。今回は「C:\Users\user_\test(フォルダパス)」という場所を指定しています。
次に第2の引数,パラメータとして、作成される一時ファイルの名前を渡します。今回は「test_file」とします。これで渡された情報を元に、一時ファイルが指定されたディレクトリ内に作成されます。作成後、新しい一時的なファイルの名前が返されます。失敗すると、False(偽)が返されます。
返されたものをecho文で出力します。
■実行
では、このスクリプトを「create_temporary_file_uniquename.php」という名前で保存し、実行させてみます。
Notice: tempnam(): file created in the system’s temporary directory in C:\xampp\htdocs\php_test\create_temporary_file_uniquename.php on line 7
C:\Users\user_\AppData\Local\Temp\tes38E6.tmp
実行させてみると、tempnam()関数を使用し、引数,パラメータとしてディレクトリと、一時ファイルの名前を渡していたのですが、Notice(お知らせです。)が出力され、「C:\Users\user_\AppData\Local\Temp(フォルダパス)」というディレクトリ内に「tes38E6.tmp」という一時ファイルが作成されました。
出力されたメッセージに記載されていたディレクトリ内を確認すると、「tes38E6.tmp」というファイルが作成されていることが確認できました。
コメント