PHP - загрузить и перезаписать файл (или загрузить и переименовать его)? - PullRequest
0 голосов
/ 19 января 2012

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

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

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

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

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

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


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

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

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

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

???? лол

Ответы [ 2 ]

3 голосов
/ 19 января 2012

стандартная форма будет достаточна для загрузки, просто не забудьте включить в форму 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

?>
0 голосов
/ 05 ноября 2017

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

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

 move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $newfilename); 
...