Загружать изображение на сервере и получать Ваш маршрут

Я объясняю идею и seguidamente ситуация, в которой я нахожусь.

Идея состоит в том, чтобы загружать изображение, полученное через формуляр html называя php на сервере, и после (или в течение depende, как он смотрелся) получать маршрут изображения, загруженного заблаговременно на сервере, чтобы мочь реализовывать консультацию SQL типа INSERT с маршрутом изображения, и титул и контент, которые strings полученные от формуляра, всего этого через функцию.

Проблема ни состоит в том, чтобы который мне не удается привести изображение к сбою на сервере, захватывать Ваш маршрут, кроме того, не является никаким типом сообщения с echo.

HTML

<form name="menus_create" action="events_create.php" method="post" accept-charset="utf-8" enctype="multipart/form-data">
    <label for="menu_title">Título</label>
    <input name="menu_title" type="text" /></strong><br />
    <label for="menu_content">Contenido</label>
    <textarea name="menu_content"></textarea>​<br />
    <label for="menu_image">Imagen</label>
    <input type="file" name="menu_image"> <br /> <br />
    <input type="submit" name="submit" value="CREAR">
</form>

PHP

<?php 

require_once('database/queries.php');
define("WEB_URL", "http://subdominio.dominio.es/carpeta1/carpeta2/");
define("INSERT_NULL", "No se ha podido continuar la inserción de datos     debido a la falta de algunos.");
define("INSERT_ERROR", "Ha ocurrido un error al intentar insertar nuevos datos en la base de datos.");


function getPathImage($image) {
    if ($_FILES[$image]['error'] > 0) { echo("No ha sido posible cargar la imagen."); }
    else {
        if (in_array($_FILES[$image]['type'], array("image/jpg", "image/jpeg", "image/png")) && $_FILES[$image]['size'] <= 500 * 1024) {
        $path = "images/".$_FILES[$image]['name'];
        echo $path . ''; 
            if (!file_exists($path)) {
                $result = @move_uploaded_file($_FILES[$image]['tmp_name'], $path);
                if (!$result) { return null; }
                else { return $path; }
            }
        } else {
            echo("No ha sido posible cargar la imagen.");
        }
    }
    return null;
}

// AÑADIR MENÚ

if (isset($_POST['menu_create']) != null) {

    $menu_title     = $_POST['menu_title'];
    $menu_content   = $_POST['menu_content'];

    if ($menu_title != null && $menu_content != null) {
        try { Query::addMenu(WEB_URL . getPathImage('menu_image'), $menu_title, $menu_content); }
        catch (PDOException $e) { print_r($e); echo(INSERT_ERROR); }
    } else {
        echo(INSERT_NULL);
    }
}
//header('location: create.php');
?>

PD: Query - класс, который использовал PDO для консультаций.

1
задан 22.03.2016, 15:00
1 ответ