Кві 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

Лип 152012
 

Переход на новую строку в разных Операционных Системах

Строка переноса:

  1. \n <- перевод строки
  2. \r <- возврат каретки

В unix, mac и win используются различные комбинации перевода стоки:

  1. unix -> \n
  2. mac -> \r
  3. win -> \r\n

Пример:

  1. echo “Unix Line 1\nLine2\n”;/li>
  2. echo “Mac Line1\rLine2\r”;/li>
  3. echo “Win LIne1\r\nLine2\r\n”;/li>