Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (2)

Лучшие ответы пользователя

Все ответы (2)
  • Недостатки Ruby on Rails?

    @mzabil
    У меня возник закономерный вопрос, есть ли какие-то критические недостатки, которые эту технологию делают не такой популярной как php c его множеством фреймворков и CMS.


    Популярность PHP, на мой взгляд, имеет следующую природу:
    1. На заре интернета большинство людей были неподготовленными, они не имели навыков программирования, системного администрирования, верстки и т.д.. Большинство сайтов в то время были обычными статическими html или текстовыми страничками. То есть для того, чтобы сделать сайт надо было нанять программиста(верстальщика) и/или системного администратора, чтобы разместить, добавить или изменить информацию опять же нужен был обученный человек.
    Интернет рос и развивался и вот, в какой-то момент, возможности статических страничек стало не хватать и их начали генерировать динамически. Но, опять же, простому пользователю который хотел домашнюю страничку, блог или простенький интернет магазин такие "развлечения" были недоступны в силу недешевой рабочей силы.
    И тут на сцену выходит PHP (а особенно 4 ветка, дальше все в контексте 4 ветки и выше) с его потрясающей легкостью деплоя. RoR тогда еще не было, да и сам Ruby за пределами Японии не имел широкой известности. Ну так вот, с выходом PHP4, практически любой пользователь мог самостоятельно развернуть приложение на нем, просто скопировав папку по фтп, да и организовать хостинг под PHP было намного легче чем, например, под Java. Спрос рождает предложение. Начали появляться различные, как платные, так и бесплатные CMS на PHP, дешевые хостинги. Пользователь, который хотел дополнительный функционал для своего сайта, мог не нанимать программиста, а просто купить или найти бесплатный модуль под свою CMS. Это породило большое количество PHP программистов которые писали модули под популярные CMS-ки. В дальнейшем приложения стали более сложными и решали нестандартные задачи, а PHP программистов было довольно много и порог вхождения в язык был невелик, так начали появляться PHP фреймворки.
    2. PHP при каждом запросе "рождается" и "умирает" в следствии чего неподготовленному пользователю, опять таки, легче устанавливать модули, темы, плагины и т.д. для своих CMS-ок. В RoR (unicorn) при установке gem-а придется перестартовать сервис, зачем такой геморой пользователю? Да и чтобы его(gem) установить, надо обладать некоторыми навыками программирования, а непросто щелкнуть мышкой в админке.

    А вот в сложных и не стандартных проектах, с длительным сроком поддержки, все уже не так очевидно... Наверное паритет... Тут их хватает и на PHP, и на Ruby, и на Python, и на JVM...
    Ответ написан
    2 комментария
  • Почему в письмо прикрепляется только 1 файл?

    @mzabil
    for($i=0; $i < count($_FILES['file']['tmp_name']);$i++) {
          if (!empty($_FILES['file']['tmp_name'][$i])){	
            //$uploaddir = '/www/layout/conn3/uploader/';
            $path = $_FILES['file']['name'][$i];
            if (copy($_FILES['file']['tmp_name'][$i], $path)) $picture = $path;		 
           }			
         }

    Из этого куска мне не очень понятно куда вы копируете файлы....
    И в $path у вас последний загруженный файл. Который вы потом и отправляете.

    Я бы написал так:

    $files = array();
      for($i=0; $i < count($_FILES['file']['tmp_name']);$i++) {
          if (!empty($_FILES['file']['tmp_name'][$i])){ 
            //$uploaddir = '/www/layout/conn3/uploader/';
            $path = $_FILES['file']['name'][$i];
            if (copy($_FILES['file']['tmp_name'][$i], $path)) array_push($files, $path);         
           }            
      }
      if(empty($files)){
          //отправить без вложений
      }else{
        foreach($files as $f) {
            //что то делать
        }
      }
    Ответ написан
    4 комментария