PHP на ucoz - uCoz и Ваш сайт - Все о uCoz - Форум - Web-мастеров
1106ответов на форуме
228тем на форуме
3004комментария
6157пользователей
Страница 1 из 11
Форум » uCoz и Ваш сайт » Все о uCoz » PHP на ucoz (Мини-описание)
PHP на ucoz
Написал: Роман Николаевич, в 08:07, 07.05.2014 | Сообщение #1
ОБЩАЯ ИНФОРМАЦИЯ:

При активации услуги PHP для сайта учетная запись создается на отдельном сервере, на котором происходит исполнение всех php-скриптов. Доступ к данной учетной записи, загрузка, изменение и удаление данных осуществляется по протоколу FTP с логином и паролем (указанным при активации услуги PHP), которые можно посмотреть в панели управления сайтом.При создании аккаунта автоматически создается директория scripts, в которой должны размещаться все php-скрипты, которые вызываются на страницах сайта. Все скрипты должны иметь расширение ".php", только такие файлы доступны по прямым адресным ссылкам. Все другие файлы (их содержимое) можно получать ТОЛЬКО посредством самих php-скриптов.
Все учетные записи создаются со следующими ограничениями:
  • максимальный объем занимаемого дискового пространства - 200Мб
  • максимальное количество файлов и директорий - 10000
  • максимальное количество файлов в директории - 500
  • максимальное время исполнения скрипта - 15 секунд
КАК ИСПОЛЬЗОВАТЬ:

Использовать php-скрипты на страницах сайта можно в текущем домене через проксирование:
Код
http://SITE_ADDRESS/php/SCRIPT_NAME.php?param0=valueA¶m1=valueB...¶mN=valueM

В шаблонах для вызова php-скрипта можно использовать функцию PHPCODE следующим образом:
Код
<?$PHPCODE$("http://SITE_ADDRESS/php/SCRIPT_NAME.php?param0=valueA¶m1=valueB...¶mN=valueM")?>

где:
  • SITE_ADDRESS - адрес сайта пользователя, на котором выполняется скрипт
  • SCRIPT_NAME - путь (относительно папки scripts) и имя скрипта, который выполняется
  • ?param0=valueA¶m1=valueB...¶mN=valueM - необязательные параметры для скрипта
Данная функция выполняет GET-запрос на указанный скрипт. Ответ для нее должен быть возвращен только в формате json, т.е. при использовании данной функции в шаблонах страниц, вызываемый ею скрипт не должен менять тип возвращаемых данных на какой-либо другой (путем установки переменной $___notjson, использования функции header('Content-type: TYPE') и т.п.). Использовать ее можно 1 раз на страницу. Для вызова методом GET нескольких скриптов на одной странице можно использовать исходный javascript код функции $PHPCODE$, изменяя идентификатор (id) тега <div id="phpdiv">. Реализовать использование POST-запросов можно через формы, iframe, другие скрипты этого домена и т.д, например:

в файле шаблона:
Код
<script type="text/javascript">
        function updatepostdata(result) { $('#postdiv').html(result); }
</script>
<div id="postdiv"></div>
<iframe frameborder="0" src="http://SITE_ADDRESS/php/SCRIPT_NAME.php?param0=valueA¶m1=valueB...¶mN=valueM"></iframe>

в скрипте SCRIPT_NAME.php:
Код
<?
$___notjson=1;
if ($_POST)
{
        $ret="POST OK:<br>";
        foreach ($_POST as $i => $val) $ret.="$i=$val<br>";
        echo "<script type=\"text/javascript\">
        window.parent.updatepostdata(\"$ret\");
        </script>";
}
echo "<form action=\"http://SITE_ADDRESS/php/SCRIPT_NAME.php?param0=valueA¶m1=valueB...¶mN=valueM\" method=\"POST\">
<input type=\"hidden\" name=\"field0\" value=\"test_".rand()."\">
<input type=\"submit\" value=\"Go\">
</form>";
?>

в файле шаблона:
Код
<script type="text/javascript">
        function updatepostdata(result) { $('#postdiv').html(result); }
</script>
<div id="postdiv"></div>
<iframe frameborder="0">
        <form action=\"http://SITE_ADDRESS/php/SCRIPT_NAME.php?param0=valueA¶m1=valueB...¶mN=valueM\" method=\"POST\">
            <input type=\"hidden\" name=\"field0\" value=\"test_".rand()."\">
            <input type=\"submit\" value=\"Go\">
        </form>
</iframe>

в скрипте SCRIPT_NAME.php:
Код
<?
$___notjson=1;
if ($_POST)
{
        $ret="POST OK:<br>";
        foreach ($_POST as $i => $val) $ret.="$i=$val<br>";
        echo "<script type=\"text/javascript\">
        window.parent.updatepostdata(\"$ret\");
        </script>";
}
else echo "No data<br>";
?>

Есть несколько параметров, которыми можно управлять в скрипте:
  • $___notjson=1 - если данная переменная установлена в единицу, то результат работы скрипта возвращается в том виде, в каком его сформировал скрипт, иначе (по умолчанию) результат возвращается в json формате
  • $___retval - результат работы скрипта (возвращенные им данные), может быть установлена в скрипте пользователя и будет использоваться, как результат работы
  • $___error - используется как описание ошибки в случае, если скрипт должен ее вернуть
НЕ ИСПОЛЬЗУЙТЕ __FILE__, т.к. скрипты выполняются через wrapper, и данная переменная определена как название wrapper-скрипта.

Внимание!

1. Любые попытки использовать PHP-скрипты для злонамеренных действий, в частности для отправки большого числа HTTP-запросов куда-либо, наказываются удалением сайта!
2. По умолчанию результат работы скрипта возвращается В ФОРМАТЕ JSON.


ОГРАНИЧЕНИЯ PHP:

В данной реализации запрещено использование следующих функций языка:
  • системные вызовы (proc_open, proc_terminate, shell_exec, system и т.д.)
  • низкоуровневые функции по работе с файловой системой (dio_fcntl, dio_open, dio_read, dio_seek и т.д.)
  • posix функции
  • shared memory функции
  • MySQL функции: mysql_stat, mysql_pconnect
Форум » uCoz и Ваш сайт » Все о uCoz » PHP на ucoz (Мини-описание)
Страница 1 из 11
Поиск: