のディレクトリを開いてファイルに何かを書き込むphpスクリプトを作成しています。ディレクトリに問題があります。ディレクトリ名は修正されていません。名前「dir+乱数」で毎回変更されます。
このようなものを作る方法はありますか私はその機能を「何でも」必要とします
<?php
$directory = "files/dir".anything()."/other..";
?>
のディレクトリを開いてファイルに何かを書き込むphpスクリプトを作成しています。ディレクトリに問題があります。ディレクトリ名は修正されていません。名前「dir+乱数」で毎回変更されます。
このようなものを作る方法はありますか私はその機能を「何でも」必要とします
<?php
$directory = "files/dir".anything()."/other..";
?>
確かに...最初に、必要なディレクトリが存在するかどうかを確認してください。そうでない場合は作成します。
<?php
// check if dir exists, if not create it
if(!is_dir("files/dir".anything()."/other.."))
mkdir("files/dir".anything()."/other..");
// ... rest of code here
$directory = "files/dir".anything()."/other..";
?>
関数 any は dir + 乱数です。PHPランダムを使用するだけです...
// this function returns a random number from 0 to 100000
function random()
{
echo rand(0, 100000);
}
混乱の後、一意のファイル名を作成し、それをディレクトリ パスに適用する関数を作成したいようです。rand() は時々それほど rand ではないため、rand() を使用しても一意の IDは得られません。新しいファイルを作成すると、新しいランダム ファイルの可能性が低くなります。uniqid ()と md5 を使用すると、uniqid/microtime から 128 ビットの英数字ハッシュが作成されます。同じハッシュが返される可能性は非常に低く、まったくありません。
したがって、次のようなことを行う必要があります。
<?php
/**
* Function to create 128bit unique hash string.
*
* @return string
*/
function anything(){
return md5(uniqid(rand(), true));
}
/*
You should store value in a variable if you need to use it further along
or in the future.
*/
$uniq_token = anything();
$directory = "files/".$uniq_token."/other..";
?>
$uniq_token
データベース内のどこかに保存する必要があります。そうしないと、ect を取得しようとしたときにそのファイル/フォルダーへの参照が失われます。
私が何かを見逃していない限り、あなたはできません
function anything(this $str){}
ここで何か不足していますか?
anything
必要なものを返す関数を書きます。これはかなり基本的な PHP コーディングです。