Полезный php код для загрузки файлов на сервер

Уже несколько раз мне приходилось вручную по ftp заливать такую вот сборку: WordPress, BuddyPress, несколько шаблонов и кучу плагинов. Естественно, что по одному файлу все это счастье будет длиться около получаса и не из-за объема передаваемых килобайт, а из-за количества файлов – их тысячи.

Поэтому я пользуюсь другим методом скоростной загрузки – нет, не контрольная панель. Что вы делаете:

  • заходите в папку вашего локального сайта – туда, где лежит файл wp-config.php;
  • делаете обычный zip архив всех файлов папок, которые видите (назовите его data.zip); то есть в архиве будут папка wp-admin/, wp-content/ и так далее по структуре;
  • создайте файл unzip.php, внутрь него пропишите вот это: <?php system('unzip data.zip'); ?>
  • заливаете архив data.zip и файл unzip.php в папку, в которой вы планируете расположить WordPress. Согласитесь, 10 мегабайт одним файлом передается в разы быстрее, чем 20 мегабайт отдельными файлами;
  • запускаете  в браузере php файл, прописав его в адресной строке: http://example.org/unzip.php
  • все, вы увидите огромный список всех распакованных файлов.

После этого просто удалите архив, файл unzip.php и зайдите по основному пути http://example.org/.

Лично мне этот трюк сэкономил кучу нервов и времени.

комментариев 11

  1. У меня похожий способ. Я использую для этого mywebftp ))
    А за этот спасибо, не знал.

  2. dimanet:

    если у вас доступен shell, тогда можно воспользоваться для заливки файлов программой WinSCP . Заливка идет намного быстрей, чем по FTP, тк в отличии от FTP используется одно соединение, а не как у FTP по соединению на каждый файл

  3. Роман:

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

    Где:
    data.zip – это файл архива, куда будут сохранены ваши данные
    dir – имя каталога который архивируется (* – если хотите запаковать весь корневой каталог)

  4. Александр:

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

    • Зачем subversion в случае, когда вы переносите свой локальный сайт на сервер? Subversion только для разработок нужен – и все. Если его просто так ставить – то его файлы кучу места заниматься будут, как минимум в 1.5 – 2 раза больше, чем файлы самого проекта.

      • Александр:

        Если потом в локальную версию будут вноситься правки, то с помощью svn их гораздо проще выкладывать на сервер.
        Ну а если над проектом работают несколько человек, то тут без svn никак. Плюс это еще один бэкап всех версий кода.

        А чтобы много места само хранилище не занимало, то надо просто исключать из него папки, где хранится графика и прочие “тяжелые” файлы. Сам php-код, js, css занимает какие-то мегабайты.

        Ну а если обновления в код вносятся редко, то наверное смысла в svn будет мало.

Добавить комментарий

Ваш адрес email не будет опубликован.