Как сделать так, чтобы пользователи могли загружать изображения в форме? - PullRequest
0 голосов
/ 19 декабря 2009

У меня есть сайт объявлений, где пользователи должны заполнить форму, чтобы разместить объявление. Форма состоит из имени, пароля, категории, характеристик и т. Д. И т. Д.

Теперь мне нужно добавить функцию загрузки изображений в эту форму, которая должна иметь следующее:

1 - Загрузить до 5 изображений. 2 - «Удалить ссылку на изображение» под каждым изображением, если пользователь хочет вместо него другое изображение.

Как бы вы это сделали?

Спасибо

Лучше всего было бы, если бы был плагин или что-то в Jquery, которое легко изменить ...

Ответы [ 2 ]

1 голос
/ 19 декабря 2009

Загрузка нескольких файлов jQuery

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

0 голосов
/ 19 декабря 2009

Если вы хотите загрузить его в виде файла в базу данных SQL, укажите что-то вроде этого в форме (в формате php echo):

echo "<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"2000000\">
<input name=\"userfile\" type=\"file\" id=\"userfile\">";

Тогда на принимающей php странице вашей формы поместите что-то вроде этого:

if ($_FILES['userfile']['size'] > 0) {

    $fileName = $_FILES['userfile']['name'];
    $tmpName  = $_FILES['userfile']['tmp_name'];
    $fileSize = $_FILES['userfile']['size'];
    $fileType = $_FILES['userfile']['type'];

    $fp      = fopen($tmpName, 'r');
    $content = fread($fp, filesize($tmpName));
    $content = addslashes($content);
    fclose($fp);

    if(!get_magic_quotes_gpc())
    {
        $fileName = addslashes($fileName);
    }



    $query = "INSERT INTO files (name, size, type, content ) VALUES ('$fileName', '$fileSize', '$fileType', '$content')";

    mysql_query($query) or die('Error, query failed'); 


    $thisq = mysql_query("SELECT * FROM `files` WHERE 1 ORDER BY `id` DESC LIMIT 1");
    $fileidnumber= mysql_fetch_array($thisq);

}

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

<?php
import_request_variables(gp);

if(isset($_GET['id'])) {
    // if id is set then get the file with the id from database
    $id    = $_GET['id'];
    $query = "SELECT name, type, size, content " .
             "FROM `files` WHERE id = '$id'";

    $result = mysql_query($query) or die('Error, query failed');
    list($name, $type, $size, $content) = mysql_fetch_array($result);

    header("Content-length: $size");
    header("Content-type: $type");
    header("Content-Disposition: attachment; filename=$name");
    echo $content;

    exit;
}

?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...