-1

現在、スマートフォン アプリから録音をアップロードするためにこのスクリプトを実行していますが、うまく機能します。しかし、一部のユーザーは自分の情報を完全に入力しておらず、アップロードの名前が「null」になっています。

ただし、一致する名前のファイルが現在フォルダーにない場合は、アップロードされた名前を保持します。たとえば、john smith と john smith1 が存在する可能性がありますが、Jane Smith は存在しないため、名前をそのまま使用します。これが私のコードです

<?php
print_r($_FILES);
move_uploaded_file($_FILES["file"]["tmp_name"], "mp3/".$_FILES["file"]["name"]);
?>
4

1 に答える 1

0

これはあなたが望むことをするはずです:

// Get the file name as an array
$file_name = explode('.', 'mp3/' . $_FILES['file']['name']);

// Get the extension
$extension = array_pop($file_name);

// Get the file name as a string
$file_name = implode('.', $file_name);

// Set the initial suffix
$i = 0;

// Get the valid path
while (is_file($path = $file_name . ($i ?: '') . '.' . $extension))
{
  ++$i;
}

// Throw an exception if the file could not be moved
if (!move_uploaded_file($_FILES['file']['tmp_name'], $path))
{
  throw new Exception('There was an error uploading the file.');
}
于 2013-03-14T17:16:09.993 に答える