PHP - загрузить и перезаписать файл (или загрузить и переименовать его)?

Я искал по всему этому, но так и не нашел решения.

У меня есть клиент, который хочет музыку на своем сайте (да, я знаю..). Флэш-плеер захватывает единственный файл с именем song.mp3 и воспроизводит его.

Ну, я пытаюсь получить функциональность, чтобы клиент мог загружать свою новую песню, если он когда-нибудь захочет ее изменить.

Таким образом, в основном сценарий должен разрешить им загружать файл, затем перезаписывать старый файл новым. По сути, убедитесь, что имя файла song.mp3 не повреждено.

Я думаю, что мне нужно будет использовать PHP, чтобы 1) загрузить файл 2) удалить оригинальную song.mp3 3) переименовать новый файл загрузить в song.mp3

Это кажется правильным? Или есть более простой способ сделать это? Заранее спасибо!


РЕДАКТИРОВАТЬ: Я добавил UPLOADIFY и могу использовать

'onAllComplete' : function(event,data) {
      alert(data.filesUploaded + ' files uploaded successfully!');
    }

Я просто не уверен, как указать ТО на файл PHP....

 'onAllComplete' : function() {
      'aphpfile.php'
    }

???? лол

2 ответа

Решение

Для загрузки будет достаточно стандартной формы, просто не забудьте включить в форму mime. тогда вы можете использовать $_FILES[''] для ссылки на файл.

затем вы можете проверить имя файла и проверить, существует ли оно в файловой системе, с помощью file_exists() проверить имя файла. ИЛИ если вам не нужно сохранять старый файл, вы можете использовать perofrm для перемещения файла и перезаписать старый. один с новым из временного каталога

<?PHP
// this assumes that the upload form calls the form file field "myupload"
$name  = $_FILES['myupload']['name'];
$type  = $_FILES['myupload']['type'];
$size  = $_FILES['myupload']['size'];
$tmp   = $_FILES['myupload']['tmp_name'];
$error = $_FILES['myupload']['error'];
$savepath = '/yourserverpath/';
$filelocation = $svaepath.$name;
// This won't upload if there was an error or if the file exists, hence the check
if (!file_exists($filelocation) && $error == 0) {
    // echo "The file $filename exists";
    // This will overwrite even if the file exists
    move_uploaded_file($tmp, $filelocation);
}
// OR just leave out the "file_exists()" and check for the error,
// an if statement either way

?>

Попробуйте этот кусок кода для загрузки и замены файла

if(file_exists($newfilename)){
        unlink($newfilename);
    }

 move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $newfilename); 
Другие вопросы по тегам