¿Por qué este código no permite la carga de archivos de audio?

0

Quiero permitir que el usuario cargue archivos de audio a mi sitio web, pero después de escribir el código resulta que no se pueden cargar archivos de audio. He probado otros tipos de archivos y está funcionando para ellos.

Aquí está el formulario HTML:

<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
    <input type="file" name="audioFile"/>
    <input type="submit" value="Upload Audio" name="save_audio"/>
</form>

Y aquí está el código php:

<?php 

if(isset($_POST['save_audio']) && $_POST['save_audio']=="Upload Audio") { $dir='uploads/'; $audio_path=$dir.basename($_FILES['audioFile']['name']);

if(move_uploaded_file($_FILES['audioFile']['tmp_name'],$audio_path))
{
    echo 'uploaded successfully.';
}else 
    echo 'Upload Failed';

} ?>

Con otros tipos de archivos, estoy recibiendo el eco "Cargado correctamente", pero cuando intento un archivo de audio, aparece el mensaje "Error al cargar".

    
pregunta Chibesa Malembe 15.12.2018 - 10:14
fuente

1 respuesta

0

Desde un punto de vista de seguridad (encontré esto en security SE); este código puede ser vulnerable a ataques de recorrido de directorios porque el nombre de archivo no se está limpiando antes de usar move_uploaded_file . ¿Qué pasaría si el usuario publicara un archivo llamado ../../../etc/passwd por ejemplo? El manual menciona el saneamiento de entrada y el uso de open_basedir .

enlace

    
respondido por el trognanders 15.12.2018 - 10:35
fuente

Lea otras preguntas en las etiquetas