Тра 172013
 

PHP_EOL

Наткнулся на предопределенную константу PHP_EOL переход на новую строку “\n”, если сервер Unix или “\r\n” если Windows.
Ничего особенного, просто очень удобная вещь.

Кві 042013
 

Загрузка файл на сервер PHP+Autoit

AutoIT

$File = @ScriptDir & "\body-bg.png" ; Файл который мы будем загружать на сервер
$sHost = "host.com" ; Ваш домен на хостинге
$sFormAction = "/postdata.php" ; Форма-приемник для загрузки архива

$hfile = FileOpen($File, 16)

$sFileTypeName = StringRegExpReplace($File, '^.*\\', '')

While 1
    $data = FileRead($hfile, 500000) ;500000 = 1мб
    If @error Then ExitLoop
    Global $Data2 = StringTrimLeft($data,2)
    SendPost()
WEnd

Func SendPost() 
$oRequest = ObjCreate('WinHttp.WinHttpRequest.5.1') ;Создаём COM-объект
$oRequest.Open('POST', 'http://' & $sHost & $sFormAction, 0) ;Создаём соеденение, указываем адрес страницы
$oRequest.SetRequestHeader('User-Agent', 'Mozilla/4.0 (Windows XP 5.1)') ;Указываем заголовок User-Agent
$oRequest.SetRequestHeader('Content-Type', 'application/x-www-form-urlencoded') ;Указываем заголовок Content-Type (необходимо для POST-запроса (Content-Length указывается автоматически))
$oRequest.SetRequestHeader('Host', $sHost)
$oRequest.Send('filename=' & $sFileTypeName & '&data=' & $Data2) ;отправляем запрос
$sData = $oRequest.ResponseText
;MsgBox(0, 'Data', $sData)
EndFunc

PHP

<?php
$fileName = $_POST['filename'];
$binaryData = $_POST['data'];

$fh = fopen("./$fileName", 'a+b');
fwrite($fh, pack("H*" , $binaryData));
fclose($fh);
?>

Загрузка, файл, сервер, PHP, Autoit

Бер 082013
 

PHP pChart – Текст кириллицей в компоненте рисования графиков.

Работая с библиотекой pChart, столкнулся с такой проблемой, не работали кириллические знаки. Вместо Украинской или Российской раскладки выводились неправильные символы. Начал искать в решение в интернете, на форумах нашел множество решений с перекодировкой, мне не подошел этот способ, потому, что писались объемные процедуры перекодировки.

Решение проблемы оказалось совершенно простой – нужно существующую кодировку сайта из ANSI-кодировки перекодировать в UTF8

Решил данную проблему одной стандартной командой перекодировки:

iconv(‘cp1251‘, ‘utf-8‘, ‘Мой текст’)

Для примера, вывода легенды на графике в pChart получилось похожее на:

$this->DataSet->SetSerieName(iconv('cp1251', 'utf-8', 'Мой текст'),"Serie1");
Січ 062013
 

Функция в php для отображения размера файла.

Сейчас я Вам продемонстрирую пример базовой функции для чтения размера файла на писаную на PHP.

<?php
function largefile($file) {
$file   =  filesize($file);
$sizekb = $file / 1024;
$sizemb = $sizekb / 1024;
$sizegb = $sizemb / 1024;
$sizetb = $sizegb / 1024;
$sizepb = $sizetb / 1024;

if ($file > 1) {$size = round($file,2) . ” b”;}
if ($sizekb > 1) {$size = round($sizekb,2) . ” kb”;}
if ($sizemb > 1) {$size = round($sizemb,2) . ” mb”;}
if ($sizegb > 1) {$size = round($sizegb,2) . ” gb”;}
if ($sizetb > 1) {$size = round($sizetb,2) . ” tb”;}
if ($sizepb > 1) {$size = round($sizepb,2) . ” pb”;}
return $size;
}

# usage
echo “size of the file : “.largefile(“largefile.php”);
?>
Січ 062013
 

PHP Script Информация о клиенте, пример использования $_SERVER

 
Этот пример выводит информацию находящуюся в переменной $_SERVER. Отображает информацию о сервере.
 

<?php
echo “<br>DOCUMENT_ROOT : “.$_SERVER['DOCUMENT_ROOT'];
echo “<br>GATEWAY_INTERFACE : “.$_SERVER['GATEWAY_INTERFACE'];
echo “<br>HTTP_ACCEPT : “.$_SERVER['HTTP_ACCEPT'];
echo “<br>HTTP_ACCEPT_CHARSET : “.$_SERVER['HTTP_ACCEPT_CHARSET'];
echo “<br>HTTP_ACCEPT_ENCODING : “.$_SERVER['HTTP_ACCEPT_ENCODING'];
echo “<br>HTTP_ACCEPT_LANGUAGE : “.$_SERVER['HTTP_ACCEPT_LANGUAGE'];
echo “<br>HTTP_CONNECTION : “.$_SERVER['HTTP_CONNECTION'];
echo “<br>HTTP_HOST : “.$_SERVER['HTTP_HOST'];
echo “<br>HTTP_REFERER : “.$_SERVER['HTTP_REFERER'];
echo “<br>HTTP_USER_AGENT : “.$_SERVER['HTTP_USER_AGENT'];
echo “<br>PATH_TRANSLATED : “.$_SERVER['PATH_TRANSLATED'];
echo “<br>PHP_SELF : “.$_SERVER['PHP_SELF'];
echo “<br>QUERY_STRING : “.$_SERVER['QUERY_STRING'];
echo “<br>REMOTE_ADDR : “.$_SERVER['REMOTE_ADDR'];
echo “<br>REMOTE_PORT : “.$_SERVER['REMOTE_PORT'];
echo “<br>REQUEST_METHOD : “.$_SERVER['REQUEST_METHOD'];
echo “<br>REQUEST_URI : “.$_SERVER['REQUEST_URI'];
echo “<br>SCRIPT_FILENAME : “.$_SERVER['SCRIPT_FILENAME'];
echo “<br>SCRIPT_NAME : “.$_SERVER['SCRIPT_NAME'];
echo “<br>SERVER_ADMIN : “.$_SERVER['SERVER_ADMIN'];
echo “<br>SERVER_NAME : “.$_SERVER['SERVER_NAME'];
echo “<br>SERVER_PORT : “.$_SERVER['SERVER_PORT'];
echo “<br>SERVER_PROTOCOL : “.$_SERVER['SERVER_PROTOCOL'];
echo “<br>SERVER_SIGNATURE : “.$_SERVER['SERVER_SIGNATURE'];
echo “<br>SERVER_SOFTWARE : “.$_SERVER['SERVER_SOFTWARE'];

/*
$_SERVER['DOCUMENT_ROOT'];
$_SERVER['GATEWAY_INTERFACE'];
$_SERVER['HTTP_ACCEPT'];
$_SERVER['HTTP_ACCEPT_CHARSET'];
$_SERVER['HTTP_ACCEPT_ENCODING'];
$_SERVER['HTTP_ACCEPT_LANGUAGE'];
$_SERVER['HTTP_CONNECTION'];
$_SERVER['HTTP_HOST'];
$_SERVER['HTTP_REFERER'];
$_SERVER['HTTP_USER_AGENT'];
$_SERVER['PATH_TRANSLATED'];
$_SERVER['PHP_SELF'];
$_SERVER['QUERY_STRING'];
$_SERVER['REMOTE_ADDR'];
$_SERVER['REMOTE_PORT'];
$_SERVER['REQUEST_METHOD'];
$_SERVER['REQUEST_URI'];
$_SERVER['SCRIPT_FILENAME'];
$_SERVER['SCRIPT_NAME'];
$_SERVER['SERVER_ADMIN'];
$_SERVER['SERVER_NAME'];
$_SERVER['SERVER_PORT'];
$_SERVER['SERVER_PROTOCOL'];
$_SERVER['SERVER_SIGNATURE'];
$_SERVER['SERVER_SOFTWARE'];
*/
?>