Заливка папки по FTP и хостингер

Регистрация
27.12.2012
Сообщения
70
Благодарностей
8
Баллы
8
А также все его остальные фрихи.
Не могу залить файлы в public_html. Версия 5.4.0. Если не указываю папку для заливки, то льет прямиком в корень мимо public_html, если указываю папку public_html (пробовал и /public_html/), то он создает на хостинге в папке public_html еще одну public_html и уже туда льет... Как с этим справится? Кто подобное делал подскажите какую папку писать. Какие там галочки может поставить/убрать. Я уже не знаю.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 481
Благодарностей
8 692
Баллы
113
я использую для хостингера C# для залития по FTP:
Код:
ZennoPoster.FtpUploadDirectory(project.Variables["ftphost"].Value, 21, "FTP", project.Variables["ftpusername"].Value, project.Variables["passacc"].Value, "", project.Variables["destination"].Value, project.Variables["sourcepath"].Value, true, false);

где переменные:
{-Variable.sourcepath-}: c:\\qwe\\asd (т.е. экранируется слэш)
{-Variable.destination-}: /
{-Variable.ftphost-}: ftp.qwerty.domain.com
 
Регистрация
27.12.2012
Сообщения
70
Благодарностей
8
Баллы
8
а в кавычках FTP это чего? И дестинейшн я так понял как раз за папку на хостинге отвечает?
И еще, он загрузит содержимое asd или саму asd на хостинг?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 481
Благодарностей
8 692
Баллы
113
а в кавычках FTP это чего? И дестинейшн я так понял как раз за папку на хостинге отвечает?
И еще, он загрузит содержимое asd или саму asd на хостинг?
FTP в кавычках - оставить как есть..
загрузит содержимое папки asd..
 
  • Спасибо
Реакции: Jorge_Rodrigez
Регистрация
27.12.2012
Сообщения
70
Благодарностей
8
Баллы
8
Все отлично заработало! Дай Бог тебе здоровья! А то я два дня уже страдаю...
 
  • Спасибо
Реакции: Sergodjan

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 481
Благодарностей
8 692
Баллы
113

TotKto

Client
Регистрация
12.07.2013
Сообщения
123
Благодарностей
12
Баллы
18
я использую для хостингера C# для залития по FTP:
Код:
ZennoPoster.FtpUploadDirectory(project.Variables["ftphost"].Value, 21, "FTP", project.Variables["ftpusername"].Value, project.Variables["passacc"].Value, "", project.Variables["destination"].Value, project.Variables["sourcepath"].Value, true, false);

где переменные:
{-Variable.sourcepath-}: c:\\qwe\\asd (т.е. экранируется слэш)
{-Variable.destination-}: /
{-Variable.ftphost-}: ftp.qwerty.domain.com
Парень, ты святой
 
  • Спасибо
Реакции: CSS и Sergodjan

Badboy

Client
Регистрация
07.02.2014
Сообщения
39
Благодарностей
1
Баллы
8
Вот как сделал :
Код:
ZennoPoster.FtpUploadDirectory(project.Variables["Variable37"].Value, 21, "FTP", project.Variables["Variable39"].Value, "passw0rdsss", "", ".", project.Variables["Directory"].Value+\cms\site_+project.Variables["random_number"].Value, true, false);
Мне выдаёт ошибку всё рамно вида:
"Unexpected character '\'". [Строка: 1; Cтолбец: 186]
"Unexpected character '\'". [Строка: 1; Cтолбец: 182]
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 481
Благодарностей
8 692
Баллы
113
Вот как сделал :
Код:
ZennoPoster.FtpUploadDirectory(project.Variables["Variable37"].Value, 21, "FTP", project.Variables["Variable39"].Value, "passw0rdsss", "", ".", project.Variables["Directory"].Value+\cms\site_+project.Variables["random_number"].Value, true, false);
Мне выдаёт ошибку всё рамно вида:


вот так попробуйте:

Код:
ZennoPoster.FtpUploadDirectory(project.Variables["Variable37"].Value, 21, "FTP", project.Variables["Variable39"].Value, "passw0rdsss", "", "/", project.Variables["Directory"].Value + "\\cms\\site_" + project.Variables["random_number"].Value, true, false);
 
  • Спасибо
Реакции: Badboy

Badboy

Client
Регистрация
07.02.2014
Сообщения
39
Благодарностей
1
Баллы
8
Сделал.
Вообщем вот этот кусок кода:
Код:
project.Variables["Directory"].Value+\cms\site_+project.Variables["random_number"].Value
сделал иначе,перед исполнением C# поставил замену пути к папке,
выполнение замены: "/" заменять на "\\" и положить результат в одну переменную, в итоге получился код:

Код:
ZennoPoster.FtpUploadDirectory(project.Variables["Variable37"].Value, 21, "FTP", project.Variables["Variable39"].Value, "passw0rdsss", "", ".", project.Variables["zamena"].Value, true, false);
проект начал работать без ошибок, проверил,всё заливает как нужно.
Спасибо всем огромное кто помог.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 481
Благодарностей
8 692
Баллы
113
Сделал.
Вообщем вот этот кусок кода:
Код:
project.Variables["Directory"].Value+\cms\site_+project.Variables["random_number"].Value
сделал иначе,перед исполнением C# поставил замену пути к папке,
выполнение замены: "/" заменять на "\\" и положить результат в одну переменную, в итоге получился код:

Код:
ZennoPoster.FtpUploadDirectory(project.Variables["Variable37"].Value, 21, "FTP", project.Variables["Variable39"].Value, "passw0rdsss", "", ".", project.Variables["zamena"].Value, true, false);
проект начал работать без ошибок, проверил,всё заливает как нужно.
Спасибо всем огромное кто помог.
ошибка была в том, что статичную часть пути вы не обрамляли кавычками, поэтому выбивало ошибку..
вот так тоже будет работать (с кавычками):

Код:
ZennoPoster.FtpUploadDirectory(project.Variables["Variable37"].Value, 21, "FTP", project.Variables["Variable39"].Value, "passw0rdsss", "", "/", project.Variables["Directory"].Value + "\\cms\\site_" + project.Variables["random_number"].Value, true, false);
естесственно обратные слеши должны быть заранее экранированы внутри переменных (\\)
 
  • Спасибо
Реакции: Badboy

Badboy

Client
Регистрация
07.02.2014
Сообщения
39
Благодарностей
1
Баллы
8
понял,спасибо за обьяснение.
 

xturbofox

Client
Регистрация
09.04.2013
Сообщения
34
Благодарностей
4
Баллы
8
Как-то у меня интересно получается, заливаю всё из папки на диске на FTP, т.е. и файлы и вложенные папки с файлами, в результате на хостинге создается структура папок и заливаются файлы в корень и немножко в первую по структуре вложенную папку. И все, типа, действие выполнено успешно. Хотя там файлов еще лить и лить.
Возможно сервер хостинга дает какое-то прерывание заливки? Это фрихостинг. И если так, то как продолжить/восстановить заливку на FTP?
 
Последнее редактирование:

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 481
Благодарностей
8 692
Баллы
113
Как-то у меня интересно получается, заливаю всё из папки на диске на FTP, т.е. и файлы и вложенные папки с файлами, в результате на хостинге создается структура папок и заливается немножко файлов в корень и в первую по структуре вложенную папку. И все, типа, действие выполнено успешно.
Возможно сервер хостинга дает какое-то прерывание заливки? Это фрихостинг. И если так, то как продолжить/восстановить заливку на FTP?
возможно, что ненадежное соединение с хостингером..
можно попробовать разбить передачу файлов на отдельные задачи - сделать список из отдельных объектов и каждую строку списка брать с удалением и отсылать снипетом в цикле (по 1 строке за раз)..
возможно так будет надежнее..
 

xturbofox

Client
Регистрация
09.04.2013
Сообщения
34
Благодарностей
4
Баллы
8
ну как на отдельные задачи? если заливку каждого файла делать задачей, то в чем тогда прикол всей затеи "залить все из папки". и файлов так не дохло ~ 5000.
а, если просто всю задачу разбить на крупные блоки, то и также не будет гарантии, что все залилось.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 481
Благодарностей
8 692
Баллы
113
ну как на отдельные задачи? если заливку каждого файла делать задачей, то в чем тогда прикол всей затеи "залить все из папки". и файлов так не дохло ~ 5000.
а, если просто всю задачу разбить на крупные блоки, то и также не будет гарантии, что все залилось.
5к файлов - да, неслабо..
пока не могу что то еще посоветовать..
возможно что тут требуется более хитрый снипет, с обратной связью как бы, чтобы каждый закачанный файл проверялся на тот факт, что он закачался успешно..
 

xturbofox

Client
Регистрация
09.04.2013
Сообщения
34
Благодарностей
4
Баллы
8
5к файлов - да, неслабо..
пока не могу что то еще посоветовать..
возможно что тут требуется более хитрый снипет, с обратной связью как бы, чтобы каждый закачанный файл проверялся на тот факт, что он закачался успешно..
ну да, типа того. и, если нет, то повтор заливки.
 
  • Спасибо
Реакции: LightWood

xturbofox

Client
Регистрация
09.04.2013
Сообщения
34
Благодарностей
4
Баллы
8
можно конечно собрать все содержимое исходной папки в ZIP архив, залить на хост его и еще 3 маленьких файлика (Kickstart, скрипт распаковки архивов, кусок Джумлы), и обратившись из браузера разархивировать на любом хостинге с PHP.
но это уже другое.
 
Последнее редактирование:

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 481
Благодарностей
8 692
Баллы
113
можно конечно собрать все содержимое исходной папки в архив, залить на хост его и еще 3 маленьких файлика "Kickstart" (скрипт распаковки архивов, кусок Джумлы), и обратившись из браузера разархивировать на любом хостинге с PHP.
но это уже другое.
где то валялся однофайловый php-распаковщик..
 

xturbofox

Client
Регистрация
09.04.2013
Сообщения
34
Благодарностей
4
Баллы
8
ну тут затык в том, что фришники терпеть не любят большие файлы, и передача архива душевного размера может быть само по себе проблемой.
потому и хотелось бы все-таки иметь возможность "залить всё из папки" с гарантией.
 

xturbofox

Client
Регистрация
09.04.2013
Сообщения
34
Благодарностей
4
Баллы
8
Кстати, а почему FileZilla заливает файл размером, например, 50 Мб за ~ 20 сек, а Zenno этот же файл, туда же, ну ОЧЕНЬ долго, и часто вообще может зависнуть и не загрузить?
Ну т.е. как бы совсем по-разному, а протокол-то один, - FTP.
 
Последнее редактирование:

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
786
Баллы
113
очень часто встроеные методы зенопостера оставляют желать лучшего относительно альтернативных вариантов.
попробуй позаливать другими либами
например вот, кусочек кода по синхронизации папок через winscp
http://winscp.net/eng/docs/library_session_synchronizedirectories
я думаю очень удобно будет просто дозалить то, что незалилось если вдруг возникнет ошибка
 
  • Спасибо
Реакции: CSS и xturbofox

xturbofox

Client
Регистрация
09.04.2013
Сообщения
34
Благодарностей
4
Баллы
8
а как проверить существование файла на сервере и сверить его размер с локальным?
-------
разобрался.
 
Последнее редактирование:

xturbofox

Client
Регистрация
09.04.2013
Сообщения
34
Благодарностей
4
Баллы
8
очень часто встроеные методы зенопостера оставляют желать лучшего относительно альтернативных вариантов.
попробуй позаливать другими либами
посоветуйте, плиз, какую-нибудь качественную :0)
-----------
ну вот вроде BytesRoad.NetSuit_2_0 ничего
может еще что кто пользует?
 
Последнее редактирование:

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
786
Баллы
113
мне неприходилось использовать сторонние либы для работы с фтп.
да, может быть это хороший вариант: судя по описанию, может работать через прокси.
если вы работаете через прокси может поэтому файлы так медленно заливаются?
 

xturbofox

Client
Регистрация
09.04.2013
Сообщения
34
Благодарностей
4
Баллы
8
да нет, я без прокси. но как-то застревало прям постоянно.
с BytesRoad.NetSuit_2_0 бегает бодрее.

чёт не соображу как права на файлы/папки менять.
 

Mczam

Client
Регистрация
25.08.2017
Сообщения
20
Благодарностей
0
Баллы
1
где то валялся однофайловый php-распаковщик..
подскажи пожалуйста как сделать заливку зип архива в папку с именем этого зип архива? ну и как можно распаковать если не сложно.. ну оч нужно заранее спасибо огромное
 

orka13

Client
Регистрация
07.05.2015
Сообщения
2 167
Благодарностей
2 168
Баллы
113
Сложно. Если это шаред-хостинг без SSH-доступа, то тогда только связкой "заливка по FTP" + "распаковка через PHP файл". Если есть SSH, то "заливка по FTP" + "распаковка команды SSH". Как делать второе я намекал в этой теме.
 

Mczam

Client
Регистрация
25.08.2017
Сообщения
20
Благодарностей
0
Баллы
1
Сложно. Если это шаред-хостинг без SSH-доступа, то тогда только связкой "заливка по FTP" + "распаковка через PHP файл". Если есть SSH, то "заливка по FTP" + "распаковка команды SSH". Как делать второе я намекал в этой теме.
я пробовал вот так
ZennoPoster.FtpUploadDirectory(project.Variables["Variable37"].Value, 21, "FTP", project.Variables["Variable39"].Value, "passw0rdsss", "", "/", project.Variables["Directory"].Value + "\\cms\\site_" + project.Variables["random_number"].Value, true, false);
у меня создается новая директория с таким же именем.а мне нужно чтобы именно в существующую заливал. хостинг lepus
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)