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);