Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Закачка файлов через Http

505
21 марта 2006 года
vAC
343 / / 28.02.2006
Господа web-Программеры, подскажите, как скажем на PHP сделать закачку на сервер большого объема данных (ну конечно не такого уж и большого-пара килобайт) через протокол HTTP.
298
21 марта 2006 года
zatch
622 / / 20.01.2000
Через форму. Методом пост.

<form enctype="multipart/form-data" action="upload.php" method="POST">

<input type="hidden" name="MAX_FILE_SIZE" value="300000" />

Send this file: <input name="userfile" type="file" />
<input type="submit" value="Send File" />
</form>



upload.php:
<?php

if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
echo "File ". $_FILES['userfile']['name'] ." uploaded successfully.\n";
echo "Displaying contents\n";
readfile($_FILES['userfile']['tmp_name']);
} else {
echo "Possible file upload attack: ";
echo "filename '". $_FILES['userfile']['tmp_name'] . "'.";
}

?>
15
21 марта 2006 года
shaelf
2.7K / / 04.05.2005
Цитата:
Originally posted by vAC
Господа web-Программеры, подскажите, как скажем на PHP сделать закачку на сервер большого объема данных (ну конечно не такого уж и большого-пара килобайт) через протокол HTTP.


Читай

7.7K
30 марта 2006 года
realcoding
52 / / 09.02.2006
Цитата:
Originally posted by zatch
Через форму. Методом пост.

<form enctype="multipart/form-data" action="upload.php" method="POST">

<input type="hidden" name="MAX_FILE_SIZE" value="300000" />

Send this file: <input name="userfile" type="file" />
<input type="submit" value="Send File" />
</form>



upload.php:
<?php

if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
echo "File ". $_FILES['userfile']['name'] ." uploaded successfully.\n";
echo "Displaying contents\n";
readfile($_FILES['userfile']['tmp_name']);
} else {
echo "Possible file upload attack: ";
echo "filename '". $_FILES['userfile']['tmp_name'] . "'.";
}

?>



В приведенном примере файл скидывается во временную папку на сервер, а как указать конкретное имя файла на сервере? И можно ли сделать код проще

298
30 марта 2006 года
zatch
622 / / 20.01.2000
Цитата:
Originally posted by realcoding
В приведенном примере файл скидывается во временную папку на сервер, а как указать конкретное имя файла на сервере? И можно ли сделать код проще



1. Файл всегда (вроде так) скидывается во временную папку. И его имя можно получить из массива $_FILES['userfile']['tmp_name'] затем его можно передвинуть (move) в любую другую папку (если есть на это права) и там он уже сохранится нормально (т.е. НЕ временно) и имя ему можно задать произвольно.

Для этого нужна функция: move_uploaded_file
Если что читай ТУТ!

2. Можно! Но форму я бы сильно не упрощал. А сам пхп можно выкинуть все echo они не несут особой задачи, кроме информативной. Можно расписать всё на большее или меньшее количество строчек, т.е. можно всё делать пошагово или же как можно больше за один шаг.

В итоге, вывести закаченный файл на экран (или записать его в переменную и в б.д.) можно так:
<?php
if (is_uploaded_file($_FILES['userfile']['tmp_name'])
) {
readfile($_FILES['userfile']['tmp_name']);
}
?>

Куда уж проще?

505
01 апреля 2006 года
vAC
343 / / 28.02.2006
Цитата:
Originally posted by zatch
1. Файл всегда (вроде так) скидывается во временную папку. И его имя можно получить из массива $_FILES['userfile']['tmp_name'] затем его можно передвинуть (move) в любую другую папку (если есть на это права) и там он уже сохранится нормально (т.е. НЕ временно) и имя ему можно задать произвольно.

Для этого нужна функция: move_uploaded_file
Если что читай ТУТ!

2. Можно! Но форму я бы сильно не упрощал. А сам пхп можно выкинуть все echo они не несут особой задачи, кроме информативной. Можно расписать всё на большее или меньшее количество строчек, т.е. можно всё делать пошагово или же как можно больше за один шаг.

В итоге, вывести закаченный файл на экран (или записать его в переменную и в б.д.) можно так:
<?php
if (is_uploaded_file($_FILES['userfile']['tmp_name'])
) {
readfile($_FILES['userfile']['tmp_name']);
}
?>

Куда уж проще?



Хрошо, просто все дело в том, что мне не через браузер надо закачивать, а через мою клиентскую программу. Проще говоря, надо передать массив данных серверу, чтобы тот записал его в БД. Желательно было бы делать это не с помощью фйлов, а просто передавать/принимать данные.

15
01 апреля 2006 года
shaelf
2.7K / / 04.05.2005
Цитата:
Originally posted by vAC
Хрошо, просто все дело в том, что мне не через браузер надо закачивать, а через мою клиентскую программу. Проще говоря, надо передать массив данных серверу, чтобы тот записал его в БД. Желательно было бы делать это не с помощью фйлов, а просто передавать/принимать данные.


А раньше сказать? БД позволяет принимать удалённое подключение?

505
01 апреля 2006 года
vAC
343 / / 28.02.2006
Цитата:
Originally posted by shaelf
А раньше сказать? БД позволяет принимать удалённое подключение?


Нет конечно, тогдабы у меня не было вопросов. Только через php

15
02 апреля 2006 года
shaelf
2.7K / / 04.05.2005
Цитата:
Originally posted by vAC
Нет конечно, тогдабы у меня не было вопросов. Только через php


Тогда постом шли. Если возникнут вопросы ищи на этом сайте статью, там сказанно как это делаеться. POST по умолчанию принимает 2 метра, обычно расширяют, но как я понял тебе и это избыточно.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог