|
|
|
| Пожалуйста, объясните, что значит третий параметр в ftp_put:
ftp_put ($connect, $local_file, $remote_file, FTP_BINARY)
|
Я пытаюсь загрузить с локального сервера на сервер в сети файл таким кодом:
$connect=ftp_connect($host);
$result=ftp_login($connect,$user,$password);
$name_file="D:\text.txt";
$name_file_onhost="text.txt";
$send=ftp_put($connect,$name_file,$name_file_onhost,FTP_BINARY);
iif (!$send) {echo "<P><FONT color=red>Mistake!</FONT><P>";}
else {echo "<P><FONT color=green>OK!</FONT>";}
}
| \
И постоянно выдаёт Mistake.
В чём ошибка? | |
|
|
|
|
|
|
|
для: Luce
(25.09.2006 в 22:52)
| | Попробуйте mode поменять на FTP_ASCII. | |
|
|
|
|
|
|
|
для: Luce
(25.09.2006 в 22:52)
| | Возможно у скрипта недостаточно прав на запись. Попробуйте дать корневой папке на сайте права 777 (потом, можно вернуть назад) ... или создайте папку с нужными правами и пишите $name_file_onhost от корня сайта | |
|
|
|
|
|
|
|
для: kasmanaft
(25.09.2006 в 23:16)
| | Спасибо, теперь вроде работает...
Но я захотела вывести все файлы так:
echo "<TABLE width=50% border=1 cellspacing=0 cellpadding=2
align=right><TR><TH><P class=msg>".$current_dir;
echo "</TH><TH>P class=msg>Size</TH></TR>";
/*строка 41*/ $file_list=ftp_nlist($connect,".");
if (is_array($file_list))
{ foreach($file_list as $file)
{$size=ftp_size($connect,$file);
echo "<TR><TD><P class=msg>$file </TD><TD>$size B</TD></TR>";}
}
echo"</TABLE>";
|
И получаю такое сообщение:
Warning: ftp_nlist(): Unable to create temporary file. Check permissions in temporary files directory. in z:\home\localhost\www\mytest\upload.php on line 41
В чём ошибка, подскажите, пожалуйста. | |
|
|
|
|
|
|
|
для: Luce
(26.09.2006 в 22:49)
| | Помоему путь к папке "." надо указать так "/папка/папка" или так "/папка" по другому просто непробовал. | |
|
|
|
|
|
|
|
для: Luce
(26.09.2006 в 22:49)
| | А у вас директория для временных файлов в php.ini определена? И если определена, то существует? | |
|
|
|
|
|
|
|
для: cheops
(27.09.2006 в 00:08)
| | У меня написано в php.ini:
Это что значит? Я должна создать папку tmp у себя в папке, где этот скрипт?
А какая вообще стандартная tmp-директория? | |
|
|
|
|
|
|
|
для: Luce
(27.09.2006 в 21:16)
| | почти наверняка это папка tmp в корне диска Z: | |
|
|
|
|
|
|
|
для: Luce
(27.09.2006 в 21:16)
| | У вас UNIX или Windows машина? (пути в стиле /путь/к/директори испльзуются под UNIX). | |
|
|
|
|
|
|
|
для: cheops
(27.09.2006 в 23:07)
| | У меня на локалхосте - Windows. А на FTP - сервере - не знаю точно.
Я сменила у себя на локалхосте права "Только чтение" для папки Z:/TMP/, но сообщение остаётся такое же:
Warning: ftp_nlist(): Unable to create temporary file. Check permissions in temporary files directory. in z:\home\localhost\www\mytest\upload.php on line 46
А когда слила свой upload.php на интернет-сервер (куда хочу грузить по FTP с помощью РНР), такого сообщения нет, но и списка файлов не выводится.
Если знаете — подскажите, пожалуйста, в чём конкретно ошибка. | |
|
|
|
|
|
|
|
для: Luce
(28.09.2006 в 22:30)
| | Директория Z:/TMP/ существует? | |
|
|
|
|
|
|
|
для: cheops
(28.09.2006 в 23:01)
| | Да, существует. Я убрала с директории TMP флажок "только чтение", но результата не видно. | |
|
|
|
|
|
|
|
для: cheops
(28.09.2006 в 23:01)
| | А как можно сменить директорию в FTP-manager? | |
|
|
|
|
|
|
|
для: Luce
(29.09.2006 в 21:57)
| | Можно, для этого следует воспользоваться либо функцией ftp_chdir(), либо указав полный путь к новой директории в других функциях, например, в ftp_nlist(). | |
|
|
|
|
|
|
|
для: cheops
(30.09.2006 в 12:23)
| | Я имела в виду ваше приложение FTPManager...
А есть ли в фтп функция наподобие fopen, fputs, opendir, readdiir? | |
|
|
|
|
|
|
|
для: Luce
(01.10.2006 в 22:59)
| | Нет, содержимое файлов прочить нельзя - FTP - протокол передачи файлов и он оперирует только самими файлами, а не их содержимым, можно загрузить файл на локальную машину и прочитать его содержимое. Можно загрузить файл на сервер, можно узнать содержимое текущей директории. У вас какая исходная задача - что делаете? | |
|
|
|
|
|
|
|
для: cheops
(02.10.2006 в 00:27)
| | У меня имеется ПК с бесплатным Интернетом, но без поддержки ФТП "напрямую". Хочу написать и/или достать скрипт, который бы позволял загрузить через фтп с PHP-интерфейсом. Поэтому и мучусь :)... | |
|
|
|
|
|
|
|
для: Luce
(02.10.2006 в 21:49)
| | Воспользуйтесь FTP-менеджером http://www.softtime.ru/info/ftpmanager.php. Правда в вашем случае он будет располжен на удалённой машине и для загрузки файла с FTP-сервера на вашу локальную машину вам потребуется загружать файл по FTP и тут же выдавать его в браузере
<?php
// Генерируем ункальное имя файла в директории files
$localfile = tempnam("files","down");
// $ftp_handle - дескриптор соединения
// $_GET['dir'] - путь к файлу на сервере
$ret = @ftp_nb_get($ftp_handle, $localfile, $_GET['dir'], FTP_BINARY);
while ($ret == FTP_MOREDATA)
{
// Продолжаем загрузку
$ret = @ftp_nb_continue($ftp_handle);
}
@chmod($localfile, 0644);
// Если происходит ошибка при загрузке файла
// уведомляем об этом пользователя
if ($ret != FTP_FINISHED)
{
exit("<br>Во время загрузки файла произошла ошибка...");
}
else
{
header("Content-Disposition: attachment; filename=".basename($_GET['dir']));
header("Content-Length: ".filesize($localfile));
header("Content-Type: application/x-force-download; name=\"".basename($_GET['dir'])."\"");
echo @file_get_contents($localfile);
}
@unlink($localfile);
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(03.10.2006 в 12:35)
| | Спасибо за совет, cheops!
Я установила себе приложение FTP-менеджер, но там возникли такие проблемы: не высвечивается список файлов, и я не знаю, как в таком случае сменить директорию, чтобы грузить, например, не в WWW, а в WWW/texts. Я выносила эти вопросы на обсуждение тут: http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=25233
А что должен делать приведённый Вами скрипт? Он нуждается в настройке? | |
|
|
|
|
|
|
|
для: Luce
(03.10.2006 в 20:58)
| | Да он нуждается в модификации - это лишь фрагмент скрипта, который позволяет скачивать с FTP файл. | |
|
|
|
|
|
|
|
для: cheops
(04.10.2006 в 14:46)
| | Подскажите, пожалуйста, а как именно его модифицировать, например, для загрузки файлов НА сервер? | |
|
|
|
|
|
|
|
для: Luce
(05.10.2006 в 21:29)
| | Для этого модификация не требуется, Web-приложение должно загружать файл. | |
|
|
|