要件: システムに新しいファイルを作成するときに、自動番号付けを実装できます。たとえば、新しいテキスト ファイルのデフォルトのファイル名は「New Text Document.txt」です。新しいテキスト ファイルの作成を続けると、ファイル名は自動的に「New Text Document (2).txt」に変更されます。は 3、4、5 になります...このアルゴリズムを PHP でどのように使用しますか?
当初はループを使用してそれを実行したいと考えていましたが、それを考えて、インクリメントするためにカウンターを使用しました。この TME はデータベース、ファイル、または構成ファイルにすることができます。ループはやり方にもよりますが、新しいファイルを作成するたびにループする必要がある場合は、どこにでもキャッシュが存在します。 >コードをコピーします
コードは次のとおりです: $dir="/web/csp/images/test/"; if(!file_exists($dir.'cache.txt')){
file_put_contents ($dir.'cache.txt',1);file_put_contents($dir.'新しいファイル.txt','' );
}else{
$num = file_get_contents($dir.'cache.txt');
$name = '新しいファイル('.$num.')。 txt';
file_put_contents($dir.'cache.txt',$num) ;
file_put_contents($dir.$name,'');
Silver Children's Shoes の書き換えバージョン
コードをコピーします
function createFile($filename, $content = '') { if(file_exists( $filename . '.tmp')) {
$num = (int) file_get_contents($ファイル名 . '.tmp') 1;$fileinfo = pathinfo($filename);
file_put_contents ($fileinfo['filename'] .'(' . $num . ').'拡張子'], $content);
file_put_contents($filename . '.tmp', $num);
else
{
file_put_contents($filename, $content); 🎜>file_put_contents($filename . '.tmp', 1);
}
}
createFile('test.txt');
3 番目のタイプ、循環
コードをコピー
コードは次のとおりです:
$num = 0; $str = '新しいテキスト ドキュメント' ($files as $) k=> $file) { if (is_file($file) && preg_match('/(.*) ((d )).txt/', $file, $matched)) { $num = $matched[2]>$num ? $matched[2] : }
}$filename = $num == 0.txt : $str . '(' . ($num 1) . ').txt';
if (fopen( $filename, 'w')) {
echo 'ファイルが正常に作成されました:' .
}
?>
以下はネチズンからの返信です:
1. いくつかのファイルを自動的に作成した後、
>例: 現在新しく作成されたファイルには
新しいファイル.txt
新しいファイル (2).txt
新しいファイル (3).txt
この時点でこれら 3 つのファイルが削除された場合、
新しいファイル(2).txt
新しいファイル(3).txt
これら2つを実行してください。 Cache.txtのカウントの問題により、実行時に新しく作成されるファイルは新しいファイル (4).txt
コードをコピー コードは以下の通りです。 :
$prefix = '新しいテキストドキュメント';
$suffix = '.txt';
fopen($t, 'w'));