[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не могу отправить файл на FTP
qwert_ukg
создаю временнфй файл, записавию в него значания переменной, отправляю на сервер - пришет:

Warning: fopen(116) [function.fopen]: failed to open stream: No such file or directory in C:\Program Files\Apache Group\Apache2\htdocs\sql\joom\templates\bt_okto\index.php on line 335

Warning: ftp_fput() expects parameter 3 to be resource, boolean given in C:\Program Files\Apache Group\Apache2\htdocs\sql\joom\templates\bt_okto\index.php on line 336
Проблема закачивания 116

if (@ftp_login($conn_id, $ftp_user, $ftp_pass)) 
{

echo "Произведен вход на $ftp_server под именем $ftp_user\n";
$temp = tmpfile();
$file = fwrite($temp, $csv);
print_r($temp);
$fp = fopen($file, 'w+');
if (ftp_fput($conn_id, $file, $fp, FTP_ASCII))
{

echo "Загружен файл $file\n";
}
else
{
echo "Проблема закачивания $file\n";
}
fclose($temp); // происходит удаление файла
}


помогите!!!!
заранее спасибо!!!!



Спустя 31 минута, 9 секунд (12.08.2010 - 09:11) linker написал(а):
Правь
$temp = tmpfile();
fwrite($temp, $csv);
$file = './name.csv';
if (ftp_fput($conn_id, $file, $temp, FTP_ASCII))

Спустя 2 часа, 33 минуты, 43 секунды (12.08.2010 - 11:44) qwert_ukg написал(а):
Цитата (linker @ 12.08.2010 - 06:11)
Правь
$temp = tmpfile();
fwrite($temp, $csv);
$file = './name.csv';
if (ftp_fput($conn_id, $file, $temp, FTP_ASCII))

не канает, так как после записи необходимо перечитать файл, а закрыв его, он удаляется, как перечитать файл не закрывая его???

Спустя 8 минут, 32 секунды (12.08.2010 - 11:53) linker написал(а):
$filename = time() . '.csv';
file_put_contents($filename, $csv);
if (ftp_put($conn_id, $filename, $filename, FTP_ASCII))
{
...
}
Но в твоем случае видимо поможет fseek()
$temp = tmpfile();
fwrite($temp, $csv);
fseek($temp, 0);
$file = './name.csv';
if (ftp_fput($conn_id, $file, $temp, FTP_ASCII))
Вообще лучше первый вариант, чем так мучиться.

Спустя 16 минут, 6 секунд (12.08.2010 - 12:09) qwert_ukg написал(а):
Цитата (linker @ 12.08.2010 - 08:53)
$filename = time() . '.csv';
file_put_contents($filename, $csv);
if (ftp_put($conn_id, $filename, $filename, FTP_ASCII))
{
...
}
Но в твоем случае видимо поможет fseek()
$temp = tmpfile();
fwrite($temp, $csv);
fseek($temp, 0);
$file = './name.csv';
if (ftp_fput($conn_id, $file, $temp, FTP_ASCII))
Вообще лучше первый вариант, чем так мучиться.

ftp_fput() expects parameter 3 to be resource, string given in C:\Progr......

Спустя 7 минут, 45 секунд (12.08.2010 - 12:17) linker написал(а):
Я же сказал, что первый вариант через file_put_contents() лучше, понятнее и короче, пользуйся им
$filename = time() . '.csv';
if (!file_put_contents($filename, $csv)) die ('Не могу создать временный файл');
if (ftp_put($conn_id, $filename, $filename, FTP_ASCII))
{
...
unlink($filename); // забыл удалить
}

Но что-то мне подсказывает, что tmpfile() не может создать файл.
if (!($temp = tmpfile())) die ('Не могу создать временный файл');

Спустя 28 минут, 17 секунд (12.08.2010 - 12:45) qwert_ukg написал(а):
Цитата (linker @ 12.08.2010 - 09:17)
Я же сказал, что первый вариант через file_put_contents() лучше, понятнее и короче, пользуйся им
$filename = time() . '.csv';
if (!file_put_contents($filename, $csv)) die ('Не могу создать временный файл');
if (ftp_put($conn_id, $filename, $filename, FTP_ASCII))
{
...
unlink($filename); // забыл удалить
}

Но что-то мне подсказывает, что tmpfile() не может создать файл.
if (!($temp = tmpfile())) die ('Не могу создать временный файл');

спасибо!!! возврат курсора помог!!!! все работает на ура!!!! шефы будут давольны!!!!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.