|
|
|
| Как без формы, просто с копировать файл из c:\temp на локальной машине в директорию /temp на сервере? Можно через ftp, можно через http
Заранее спасибо | |
|
|
|
|
|
|
|
для: Bycker
(02.06.2006 в 11:23)
| | Можно загрузить файл по FTP, однако скрипт должен быть расположен на стороне клиента.
<?php
// Адрес FTP-сервера
$ftp_server = "server";
// Порт соединения
$ftp_port = 21;
// Пользователь
$ftp_user = "user";
// Пароль
$ftp_password = "password";
// Устанавливаем время исполнения скрипта 120 с
set_time_limit(120);
// Пытаемся установить соединение с FTP-сервером
$link = ftp_connect($ftp_server);
if(!$link) puterror("К сожалению, не удаётся установить соединение с FTP-сервером $ftp_server");
// Осуществляем регистрацию на сервере
$login = ftp_login($link, $ftp_user, $ftp_password);
if(!$login) puterror("К сожалению, не удаётся зарегистрироваться на сервере");
$path = "$direct/".substr($name, strrpos($name, "\\") + 1);
$ret = ftp_nb_put($link, "/temp/file.txt", "c:/temp/file.txt", FTP_BINARY);
while ($ret == FTP_MOREDATA)
{
// Выводим точки чтобы пользователь
// знал что процесс идёт
echo ".";
// Продолжаем загрузку
$ret = ftp_nb_continue($link);
}
if ($ret != FTP_FINISHED)
{
exit("<br>Во время загрузки файла произошла ошибка...");
}
else
{
exit("<br>Файл успешно загружен...");
}
?>
|
Если вы хотите загрузить на сервер файл с машины клиента без выполнения PHP-кода на стороне клиента - ничего не выйдет. | |
|
|
|
|
|
|
|
для: cheops
(02.06.2006 в 12:28)
| | Большое спасибо за помощь, но при работе скрипта выдаётся ошибка:
Warning: ftp_nb_put(): Rename/move failure: No such file or directory in z:\home\localhost\www\load_file.phtml on line 21
Во время загрузки файла произошла ошибка...
Локальный файл точно есть, директория на сервере тоже есть. В чём может быть дело?
Заранее спасибо | |
|
|
|
|
|
|
|
для: cheops
(02.06.2006 в 12:28)
| | Большое спасибо за помощь, но при работе скрипта выдаётся ошибка:
Warning: ftp_nb_put(): Rename/move failure: No such file or directory in z:\home\localhost\www\load_file.phtml on line 21
Во время загрузки файла произошла ошибка...
Локальный файл точно есть, директория на сервере тоже есть. В чём может быть дело?
Заранее спасибо | |
|
|
|
|
|
|
|
для: Bycker
(05.06.2006 в 10:57)
| | А пути не меняли? Они сейчас точно такж выглядят? Если меняли приведите пожалуйста что сейчас? | |
|
|
|
|
|
|
|
для: cheops
(05.06.2006 в 12:43)
| | Сейчас:
на сервере: "/temp/file.txt"
локальный: "c:/temp_tender/spros_temp.txt" | |
|
|
|
|
|
|
|
для: Bycker
(05.06.2006 в 13:11)
| | Я правильно понял? Скрипт закачки я запускаю с моей машины из localhost? | |
|
|
|
|
|
|
|
для: Bycker
(06.06.2006 в 06:15)
| | Проблема может быть и в денвере.
У меня с закачками на нём когда то были проблемы.... | |
|
|
|
|
|
|
|
для: Bycker
(06.06.2006 в 06:15)
| | Да, причём ваш скрипт у меня работает нормально... | |
|
|
|
|
|
|
|
для: cheops
(06.06.2006 в 11:15)
| | Как же быть? Нужно именно из скрипта закачивать файлы... Может через http можно? Между прочим, через форму все нормально. В этом случае в
copy($HTTP_POST_FILES["filename"]["tmp_name"],"temp/file.txt");
|
filename - это имя поля file. А если без формы, то как? Допустим, локалный файл лежит в c:\temp | |
|
|
|
|
|
|
|
для: Bycker
(06.06.2006 в 11:21)
| | Напрямую не получиться - так можно поступить только через HTML-форму. | |
|
|
|
|
|
|
|
для: cheops
(06.06.2006 в 11:38)
| | какой же выход? :) | |
|
|
|
|
|
|
|
для: Bycker
(06.06.2006 в 11:39)
| | PHP (да и любой сетевой инструмент) не позволит Вашему скрипту соваться на компьютер клиента и без его ведома что-либо выкачивать. И правильно сделает. Иначе все друг у друга таскали бы файлы без разбора. | |
|
|
|
|
|
|
|
для: Trianon
(06.06.2006 в 11:49)
| | Да нет же, мне необходимо с моего собственного компьютера закачивать на сервер файлы, а не с чужого | |
|
|
|
|
|
|
|
для: Bycker
(07.06.2006 в 08:24)
| | С точки зрения сервера - это чужой компьютер, для него "свои" компьютеры находятся в локальной сети. | |
|
|
|