Пример #1
0
 public function msisdn($strMsisdn)
 {
     if (!Validator::numeric()->notEmpty()->length(10, 12)->not(Validator::startsWith('0'))->validate($strMsisdn)) {
         $this->objLogger->addError('MSISDN must be a numeric string between 10 and 12 characters long in international format');
         throw new SMSMessageException('MSISDN must be a numeric string between 10 and 12 characters long in international format');
     }
     $this->strMsisdn = $strMsisdn;
     $this->objLogger->addDebug('MSISDN has been set to ' . $strMsisdn);
     return $this;
 }
Пример #2
0
<?php

define('MAX_SIZE', 3 * 1024 * 1024);
require "vendor/autoload.php";
use Respect\Validation\Validator as v;
$url = $_GET['url'];
$url_parts = parse_url($url);
//error_log(print_r($url_parts,1));
// check valid url.
if (!v::arr()->key('scheme', v::startsWith('http'))->key('host', v::domain())->key('path', v::string())->validate($url_parts)) {
    die_and_log($status = 400, 'invalid url', $url);
}
// head access
$c = new Curl();
$c->setHeader('X-Forwarded-For', getRemoteIP());
$c->setOpt(CURLOPT_NOBODY, true);
$c->setOpt(CURLOPT_RETURNTRANSFER, true);
$c->error(function () {
    die_and_log($status = 500, "head request error");
});
$c->get($url);
error_log($url);
//error_log(print_r($c->response_headers,1));
// check head res
$length = null;
$content_type = null;
foreach ($c->response_headers as $header) {
    if (preg_match("/\\AContent-Length/i", $header)) {
        $length = (int) explode(":", $header, 2)[1];
    } else {
        if (preg_match("/\\AContent-Type/i", $header)) {