Estoy creando una página de carga que me permitirá cargar la imagen y el registro se almacenará en MySQL. Por ahora, puedo guardar el registro. Sin embargo, tengo el problema de almacenar la imagen en mi archivo real y la imagen no se almacena.

El código es el siguiente:

  <?php
           include "config.php";

            if (isset($_FILES['file'])) {
                $name = $_FILES['file']['name'];
                $size = $_FILES['file']['size'];
                $type = $_FILES['file']['type'];
                $tmp = $_FILES['file']['tmp_name'];
                $file = 'uploads'. $_FILES['file']['name'];
                $upload = move_uploaded_file($tmp, $file);
                if ($upload) {
                    $add = $db->prepare("insert into upload values('',?)");
                    $add->bindParam(1, $name);
                    if ($add->execute()) {
                        ?>
                        <div class="alert alert-success alert-dismissible" role="alert">
                            <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                            <strong>Success!</strong> File upload successful to database.
                        </div>
                        <?php
                    } else {
                        ?>
                    <div class="alert alert-danger alert-dismissible" role="alert">
                        <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                        <strong>Failed!</strong> File upload unsuccessful to database.
                    </div>
                    <?php
                    }
                } else {
                    ?>
                    <div class="alert alert-warning alert-dismissible" role="alert">
                        <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                        <strong>Sorry!</strong> File upload unsuccessful .
                    </div>
                    <?php
                }
            }
            ?>

Este es mi archivo: ingrese la descripción de la imagen aquí

Después de hacer eco de $ file & $ tmp: ingrese la descripción de la imagen aquí

0
xhinvis 5 feb. 2017 a las 19:19

2 respuestas

La mejor respuesta

Cambiar esto

$file = 'uploads'. $_FILES['file']['name'];

A este

$file = '../uploads/'. $_FILES['file']['name'];

Sus códigos reales buscan la carpeta de carga en la carpeta uploadTesting donde se encuentra su código.

1
BARNI 5 feb. 2017 a las 16:24

Debe proporcionar la ruta relativa a su directorio de carga desde su código. Por ej. Si el directorio de carga es una carpeta de donde está su archivo.

'../uploads/'.$fileName

Además, asegúrese de tener permiso de escritura para ese directorio.

0
Archi 5 feb. 2017 a las 16:25