Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 14.01.2016
Сообщений: 137
1

Загрузка файлов

17.06.2016, 10:48. Показов 904. Ответов 23
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет, хотел загрузить картинку и написал вот такой вот код, все четко выводит в браузере но вот сохраняет картинку в главную папку, надо сделать чтобы он сохранял картинку в подпапку uploads/ как же это сделать
это файл upload.php
PHP
1
2
3
4
5
6
7
8
<?php
if($_FILES)
{
$name = $_FILES["filename"]["name"];
move_uploaded_file($_FILES["filename"]["tmp_name"],$name);
echo "Imagine:$name<br><img src='$name'>";
}
?>
HTML5
1
2
3
4
<form action="upload.php" method="POST" enctype="multipart/form-data">
    File: <input type="file" name="filename"/>
            <input type="submit" value="Загрузить"/>
    </form>
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.06.2016, 10:48
Ответы с готовыми решениями:

Загрузка файлов
Приветствую! Провожу загрузку файла на сервер, в файле приема данных название файла заменяется на...

загрузка файлов
Не могу разобраться как с помощью $_FILES загружать файлы типа *.rar и *.zip *.rar вообще не...

загрузка файлов
у меня стоит ubuntu server 10.04.....c сервером LAMP..... попытался создать скипт для загрузки...

Загрузка файлов
Здравствуйте. Хочу сделать загрузку файлов на сервер, чтобы при загрузке ссылка на файл...

23
3 / 3 / 3
Регистрация: 08.05.2014
Сообщений: 50
17.06.2016, 10:57 2
пробуй так:

PHP
1
2
3
4
5
6
7
8
<?php
if($_FILES)
{
$name = './images/' . $_FILES["filename"]["name"];
move_uploaded_file($_FILES["filename"]["tmp_name"],$name);
echo "Imagine:$name<br><img src='$name'>";
}
?>
1
0 / 0 / 0
Регистрация: 14.01.2016
Сообщений: 137
17.06.2016, 11:05  [ТС] 3
Спасибо ! сработало, а связь с базой данных как быть с ней ?
0
3 / 3 / 3
Регистрация: 08.05.2014
Сообщений: 50
17.06.2016, 11:07 4
хочешь загрузить картинку в БД или что?
0
0 / 0 / 0
Регистрация: 14.01.2016
Сообщений: 137
17.06.2016, 11:14  [ТС] 5
да, вроде в таблице добавил поле , а что сделать дальше ?
0
3 / 3 / 3
Регистрация: 08.05.2014
Сообщений: 50
17.06.2016, 11:26 6
код в студию
0
0 / 0 / 0
Регистрация: 14.01.2016
Сообщений: 137
17.06.2016, 11:40  [ТС] 7
ну вот у меня два файла intropage.php и upload.php, в базе добавил поле avatar, а что делать дальше ?
intropage.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
<?php
 
session_start();
 
if(!isset($_SESSION["session_username"])) {
    header("location:login.php");
    exit;
}
 
?>
    
<?php include("includes/header.php"); ?>
HTML5
1
2
3
4
5
6
7
8
9
10
11
<div id="welcome">
<h2>Добро пожаловать, <span><?php echo $_SESSION['session_username'];?>! </span></h2>
  <p><a href="logout.php">Выйти</a> из системы</p>
    <form action="upload.php" method="POST" enctype="multipart/form-data">
    File: <input type="file" name="filename"/>
            <input type="submit" value="Загрузить"/>
    </form>
 
</div>
    
<?php include("includes/footer.php"); ?>
upload.php
PHP
1
2
3
4
5
6
7
8
9
<?php
require('intropage.php');
if($_FILES)
{
$name = './upload/' . $_FILES["filename"]["name"];
move_uploaded_file($_FILES["filename"]["tmp_name"],$name);
echo "Imagine:$name<br><img src='$name'>";
}
?>
0
3 / 3 / 3
Регистрация: 08.05.2014
Сообщений: 50
17.06.2016, 11:57 8
попробуй так:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
require('intropage.php');
 
if($_FILES)
{
    $name = './upload/' . $_FILES["filename"]["name"];
    //move_uploaded_file($_FILES["filename"]["tmp_name"],$name);
 
    //*/
    if (move_uploaded_file($_FILES["filename"]["tmp_name"],$name)){
        
        $res= mysql_query ("INSERT INTO image (image) VALUES ('$name')");
        if($res) {
            echo "Файл упешно загружен";
        }
        else {
            echo "Путь не добавлен в базу данных, но файл загружен";
        }
    }else{
        echo "Файл не загружен! ";
    }
 
    //*/
 
    echo "Imagine:$name<br><img src='$name'>";
}
?>
Добавлено через 58 секунд
Цитата Сообщение от Antuan1 Посмотреть сообщение
б
Цитата Сообщение от cyber805g Посмотреть сообщение
$res= mysql_query ("INSERT INTO image (image) VALUES ('$name')");
имя таблицы и поля поменяй как у тебя
0
0 / 0 / 0
Регистрация: 14.01.2016
Сообщений: 137
17.06.2016, 12:26  [ТС] 9
Попробовал так , картинка добавилась в базу, но все же с ошибкой. Картинка должна была добавиться через пользователя который её добавил но она добавилась отдельно от пользователя . я ведь зашел через login.php ввел свой логин и пароль , затем добавил картинку - она добавилась , но теперь в базе показывает что она добавилась отдельно от пользователя который ее добавил . Добавилась с другим id
0
3 / 3 / 3
Регистрация: 08.05.2014
Сообщений: 50
17.06.2016, 12:40 10
покажи структуру таблицы БД, в которую ты добавляешь картинку,
выполни на mysql клиенте
describe 'table_name';

напиши все ошибки, которые выходят в процессе работы скрипта

Добавлено через 1 минуту
Цитата Сообщение от Antuan1 Посмотреть сообщение
но теперь в базе показывает что она добавилась отдельно от пользователя который ее добавил . Добавилась с другим id
а где ты этот id пользователя планируешь поставить ?
0
0 / 0 / 0
Регистрация: 14.01.2016
Сообщений: 137
17.06.2016, 12:55  [ТС] 11
ну картинка должна сохранится под существующем id . А она выходит под своим id . ну вот пример;
захожу как пользователь под id=1. там должна быть вся информация типа имя, фамилия и рядом картинка и в базе должно показывать к примеру id =1 , first_name = anton, last_name=ivanov, avatar=и имя картинки ,а тут у меня показывает что id=1 картинки нет , а следующий id-2 есть картинка но без информации имени и фамилии . Понял логику ?
0
3 / 3 / 3
Регистрация: 08.05.2014
Сообщений: 50
17.06.2016, 13:03 12
хорошо, а в какую таблицу ты его хочешь положить?

и где код в которой ты подготовил эти данные?

например я это делаю примерно так:
PHP
1
2
3
4
5
6
7
8
    
// подготовка данных
$dt['id'] = $_SESSION['uid'];
$dt['login'] = $_SESSION['ulogin'];
// ... еще данные
 
// формирование запроса на добавление в бд
// ...
ну покажи структру таблицы в которую ты хочешь это все сохранить
0
0 / 0 / 0
Регистрация: 14.01.2016
Сообщений: 137
17.06.2016, 13:13  [ТС] 13
Короче тут надо делать не select -ом , а update-ом.
$res= mysql_query ("SELECT usertb1 (avatar) VALUES ('$name')"); вот в этой строчке. как это сделать ?
$res= mysql_query ("UPDATE usertb1 (avatar) VALUES ('$name')"); так ?
0
3 / 3 / 3
Регистрация: 08.05.2014
Сообщений: 50
17.06.2016, 14:44 14
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
require('intropage.php');
 
if($_FILES)
{
    $name = './upload/' . $_FILES["filename"]["name"];
    //move_uploaded_file($_FILES["filename"]["tmp_name"],$name);
 
    //*/
    if (move_uploaded_file($_FILES["filename"]["tmp_name"],$name)){
        
        $res= mysql_query ("INSERT INTO image (image) VALUES ('$name')");
        if($res) {
            echo "Файл упешно загружен";
        }
        else {
            echo "Путь не добавлен в базу данных, но файл загружен";
        }
    }else{
        echo "Файл не загружен! ";
    }
 
    //*/
 
    echo "Imagine:$name<br><img src='$name'>";
    
    //// 
    //  Короче тут надо делать не select -ом , а update-ом.
    //  $res= mysql_query ("SELECT usertb1 (avatar) VALUES ('$name')"); вот в этой строчке. как это сделать ?
    //  $res= mysql_query ("UPDATE usertb1 (avatar) VALUES ('$name')"); так ?
    
    // не совсем
    // пробуй так
    
    // готовишь для начала данные: 
    $dt['id'] = $_SESSION['uid'];
    $dt['userLogin'] = $_SESSION['userLogin'];
    $dt['userPassword'] = $_SESSION['userPassword'];    
    
    // построй таблицу `usertb2` со следующими полями: 
    // userUid, userFirstName, userLastName, avatar 
    // с типами полей ты сам разберешься 
 
    // далее формируешь запрос:
    $sql = "
    INSERT INTO usertb2 (userUid, userFirstName, userLastName, avatar) 
    VALUES ($dt['id'], '$dt['userLogin']', '$dt['userPassword']', '$name');"; 
 
    $res = mysql_query($sql) or die(mysql_error()); 
    
    //...
    
?>
Добавлено через 28 секунд
пробуй, отпишись
0
0 / 0 / 0
Регистрация: 14.01.2016
Сообщений: 137
20.06.2016, 10:06  [ТС] 15
Выводит ошибку Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\OpenServer\domains\registr\upload.php on line 27
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
require('intropage.php');
if($_FILES)
{
    $name = './upload/' . $_FILES["filename"]["name"];
    //move_uploaded_file($_FILES["filename"]["tmp_name"],$name);
 
    //*/
    if (move_uploaded_file($_FILES["filename"]["tmp_name"],$name)){
        
        $res= mysql_query ("INSERT INTO image (image) VALUES ('$name')");
        if($res) {
            echo "Файл упешно загружен";
        }
        else {
            echo "Путь не добавлен в базу данных, но файл загружен";
        }
    }else{
        echo "Файл не загружен! ";
    }
    echo "Imagine:$name<br><img src='$name'>";
     $dt['id'] = $_SESSION['uid'];
    $dt['userLogin'] = $_SESSION['userLogin'];
    $dt['userPassword'] = $_SESSION['userPassword'];    
    $sql = "
    INSERT INTO usertb2 (userUid, userFirstName, userLastName, avatar) 
    VALUES ($dt['id'], '$dt['userLogin']', '$dt['userPassword']', '$name');"; 
    $res = mysql_query($sql) or die(mysql_error()); 
?>
0
3 / 3 / 3
Регистрация: 08.05.2014
Сообщений: 50
20.06.2016, 10:25 16
PHP
1
2
3
$sql = "
    INSERT INTO usertb2 (userUid, userFirstName, userLastName, avatar) 
    VALUES ($dt['id'], \"'$dt['userLogin']'\", \"'$dt['userPassword']'\", '$name');";
пробуй так ^

там проблемы с кавычками, поиграйся немного если сразу не получится
0
0 / 0 / 0
Регистрация: 14.01.2016
Сообщений: 137
20.06.2016, 11:14  [ТС] 17
блин ну никак не слушается

Добавлено через 27 минут
а теперь вот так
Parse error: syntax error, unexpected T_VARIABLE in C:\OpenServer\domains\registr\upload.php on line 26
PHP
1
2
$sql = "INSERT INTO usertb1 (userid, userFirstName, userLastName, avatar), 
    VALUES ("$dt['id']", "$dt['userLogin']", "$dt['userPassword']", "$name")";
0
3 / 3 / 3
Регистрация: 08.05.2014
Сообщений: 50
20.06.2016, 12:21 18
пробуй так:

PHP
1
2
3
4
5
6
$sql = "
    INSERT INTO usertb2 (userUid, userFirstName, userLastName, avatar) 
    VALUES ({$dt['id']}, 
    '{$dt['userLogin']}', 
    '{$dt['userPassword']}', 
    '$name');";
должно заработать
0
0 / 0 / 0
Регистрация: 14.01.2016
Сообщений: 137
20.06.2016, 12:27  [ТС] 19
в форму вошло но когда нажал на кнопку загрузить вышла вот такая вот ошибочка
Parse error: syntax error, unexpected $end in C:\OpenServer\domains\registr\upload.php on line 30
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
require('intropage.php');
if($_FILES)
{
    $name = './upload/' . $_FILES["filename"]["name"];
    //move_uploaded_file($_FILES["filename"]["tmp_name"],$name);
 
    //*/
    if (move_uploaded_file($_FILES["filename"]["tmp_name"],$name)){
        
        $res= mysql_query ("INSERT INTO image (image) VALUES ('$name')");
        if($res) {
            echo "Файл упешно загружен";
        }
        else {
            echo "Путь не добавлен в базу данных, но файл загружен";
        }
    }else{
        echo "Файл не загружен! ";
    }
    echo "Imagine:$name<br><img src='$name'>";
     $dt['id'] = $_SESSION['uid'];
    $dt['userLogin'] = $_SESSION['userLogin'];
    $dt['userPassword'] = $_SESSION['userPassword'];    
    $sql = "INSERT INTO usertb2 (userUid, userFirstName, userLastName, avatar) 
    VALUES ({$dt['id']}, '{$dt['userLogin']}', '{$dt['userPassword']}', '$name');";
    
?>
0
3 / 3 / 3
Регистрация: 08.05.2014
Сообщений: 50
20.06.2016, 12:29 20
покажи переменную $end, че ты с ней делаешь?
0
20.06.2016, 12:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.06.2016, 12:29
Помогаю со студенческими работами здесь

Загрузка файлов
Доброго всем времени суток! Есть у меня два сайта. Один(главный сайт) на обычном хостинге,...

Загрузка файлов
Надо загрузить файл через фору, при этом создать новую папку и переместить его туда. Файлы должны...

Загрузка файлов
Доброго времени суток. Подскажите, как можно изменить данный скрипт, чтобы при загрузке картинок у...

Загрузка файлов
Всем привет) Вот уже несколько часов пытаюсь побороть проблему с загрузкой файлов,в БД файл...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru