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

Хранение имени загруженного файла до конца работы

18.11.2011, 16:20. Показов 952. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет!
Есть вопрос.

Написал скрипт загрузки файла. Но возникла проблема, как сделать чтоб я мог делать манипуляции именно с этим файлом дальше?

После загрузки к примеру хочу просмотреть файл, но для этого есть другая кнопка. Пробовал но при использовании другого метода теряется имя и путь файла ( $_FILES['userfile']['tmp_name'] ).

Как сделать чтоб этот путь хранился до окончания работы со скриптом?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.11.2011, 16:20
Ответы с готовыми решениями:

Как сделать проверку на наличие похожего имени файла и запрос нового имени файла?
При загрузке изображения присваивается имя foto.jpg. Вопрос, как сделать проверку на то что фото с...

Сделать проверку на наличие похожего имени файла и запрос нового имени файла
Пользователь задает имя для создания файла. Вопрос, как сделать проверку на наличие похожего имени...

Перемещение загруженного файла
Привет!:) Почему не работает функция move_uploaded_file()? Ругается на второй параметр. Код:...

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

4
163 / 163 / 9
Регистрация: 08.01.2011
Сообщений: 850
18.11.2011, 17:18 2
Записывай в базу линк до файла. Из темпа он стирается сразу после завершения всех PHP итераций.
0
13208 / 6596 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
19.11.2011, 06:55 3
Файлы из формы загружаются в директорию для временных файлов и удаляются сразу же после завершения выполнения скрипта. Поэтому их нужно перемешать спец.функцией (либо там же на месте с ними работать сразу до конца, если работа разовая)
PHP
1
2
3
4
5
6
7
8
$file = $_FILES['userfile']['tmp_name'];
if (is_uploaded_file($file)) {
    if (move_uploaded_file($file, $new = './tmp/' . basename($file))) {
        echo 'see ', $new;
    }
    else echo 'unable to move uploaded file';
}
else echo 'not uploaded file';
0
Рождён удивлять
53 / 56 / 9
Регистрация: 08.08.2011
Сообщений: 438
20.11.2011, 01:11 4
Чот я попробывал использовать твой скрипт и получил в ответ не оригинальное название и расширение файла а вот:
Ваш файл: ./imgphpA783.tmp
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
if(isset($ok)) {
  $file = $_FILES['userfile']['tmp_name'];
  if(is_uploaded_file($file)) {
    if(move_uploaded_file($file, $new = './img' . basename($file))) {
        echo "Ваш файл: ".$new;
    } else {
        echo "Не могу показать загруженный файл";
    }
  } else {
    echo "Файл не загружен";
  }
};
?>
Добавлено через 33 минуты
Вот хороший пример написан мною по примерам php.su!
HTML5
1
2
3
4
5
6
7
8
9
    <form action="new.php" enctype="multipart/form-data" method="post">
    <tr><td>Добавить сюда файл
    <input type="file" name="userfile" />
    </td><td></td></tr>
    Введите имя файла для сохранения:
    <input type="submit" value="Добавить файл" name="ok" />
    </td></tr>
    </table>
    </form>
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
if(isset($_POST['ok'])) {
    $file = $_FILES['userfile'];
    $dir = "./myfiles/";
    $upload = $dir.basename($file['name']);
    $maxsize = 10000000;
    if($file['size'] > $maxsize) {
     echo "Размер файла больше максимального";
     header("Location: index.html");
    } elseif(copy($file['tmp_name'],$dir)) {
      echo "Файл успешно загружен на сервер";
    } else {
     echo "При загрузке произошла ошибка";
    }
 
        echo "<h3>Информация о вашем файле:</h3>";
    echo "Оригинальное название файла: ".$file['name']."<br>";
    echo "Тип файла: ".$file['type']."<br>";
    echo "Размер файла: ".$file['size']." байт<br>";
    echo "Временное имя файла: ".$file['tmp_name'];
};
0
13208 / 6596 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
20.11.2011, 07:28 5
В "оригинальном" названии файла может оказаться абсолютно любой бред. Он никак никем не валидируется. Еспользуя его без зазрения совести, не особо задумываясь о последствиях, - плохая идея. Даже в нормальном случае с адекватными заливками как минимум Вы столкнетесь с проблемами с кириллическими именами файлов.
0
20.11.2011, 07:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.11.2011, 07:28
Помогаю со студенческими работами здесь

Отобразить данные из загруженного файла
Работаю с ASP.NET CORE: создаю страницу, где надо загрузить файл с данными (это у меня работает) и...

Позиционирование объекта загруженного из X - файла
Доброго дня форумчане! Прошу немного помочь, изучаю книгу «Введение в программирование трехмерных...

Размер файла загруженного в память
Имеется dll файл,загруженный в память,и адрес его DOS хидера, как с помощью PE заголовка вычислить...

Размер файла загруженного в память
Как с помощью PE заголовка вычислить размер файла?


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

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