catch(Throwable $e)
if (!empty($_FILES['Files'])) {
$fileComponent = new fileComponent($_FILES['Files']); //Инициализируем класс
try {
$fileComponent->checkMime($mime); //$mime - атеншон!это откуда?незаметно подбросили полицаи?
..................
$myNewArray = ['test'=> implode(",", $bulk_category) ];
// Устанавливаем Cookie на один час после установки:
SetCookie("my_site_cookie", "hello cookie!", time()+3600);
// читаем
if (isset($_COOKIE['my_site_cookie']))
echo "Hello, cookie owner!";
version: '2.0'
services:
rabbitmq:
image: rabbitmq:3-management-alpine
container_name: rabbitmq
volumes:
- ./.docker/rabbitmq/etc/:/etc/rabbitmq/
- ./.docker/rabbitmq/data/:/var/lib/rabbitmq/
- ./.docker/rabbitmq/logs/:/var/log/rabbitmq/
ports:
- "5672:5672"
- "15672:15672"
nginx:
image: nginx:latest
ports:
- "8000:80"
# монтируем директории, слева директории на основной машине, справа - куда они монтируются в контейнере
volumes:
- ./hosts:/etc/nginx/conf.d
- ./www:/var/www
- ./logs:/var/log/nginx
links:
- php
php:
# у нас свой образ для PHP, указываем путь к нему и говорим что его надо собрать
build: ./images/php
links:
- mysql
- rabbitmq
volumes:
- ./www:/var/www
mysql:
image: mariadb
ports:
- "3306:3306"
volumes:
- ./mysql:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: secret
environment:
PMA_HOST: mysql
MYSQL_USERNAME: root
MYSQL_ROOT_PASSWORD: secret
use GuzzleHttp\Client;
use GuzzleHttp\Promise;
$client = new Client(['base_uri' => 'http://httpbin.org/']);
$promises = [
'image' => $client->getAsync('/image'),
'png' => $client->getAsync('/image/png'),
'jpeg' => $client->getAsync('/image/jpeg'),
'webp' => $client->getAsync('/image/webp')
];
// когда все запросы завершатся
// если в одном из запросов ошибка
$results = Promise\unwrap($promises);
// когда все запросы завершатся , даже если были ошибки
$results = Promise\settle($promises)->wait();
// можно получить доступ к любому результату
// function.
echo $results['image']['value']->getHeader('Content-Length')[0]
echo $results['png']['value']->getHeader('Content-Length')[0]
$audio->filters()->clip(FFMpeg\Coordinate\TimeCode::fromSeconds(30), FFMpeg\Coordinate\TimeCode::fromSeconds(15));
function files_connection( $paths = [] ) {
var_dump($paths);
$allFilesAvailable = true; // вот здесь вы отслеживаете наличие всех файлов
foreach ( $paths as $path_file ) {
$file_name = end( explode( '/', $path_file ) );
if ( !file_exists( __DIR__ . $path_file ) ) {
$allFilesAvailable = false; // если хотя-бы одного нет - дальше этого скрипта дело не пойдет
echo "
<div class=\"alert_danger_file_connection\">
<h1>Ошибка при подключении файла!</h1>
<p>Не удалось подключить файл: <mark>{$path_file}</mark></p>
<p>Проверьте наличие файла по указанному пути: <mark>{$file_name}</mark></p>
</div>
";
} else {
if( $allFilesAvailable)
include_once( __DIR__ . $path_file );
}
}
if(!$allFilesAvailable)// УПС!
exit;
}
$seconds = time()-$deposits['unixtime'];
//d{3,6} - здесь указываешь от скольки до скольки цифр бывает в номере счета.
preg_match_all('/\s(\d{3,6})\s/', 'СЧЕТУ 555 ОТ 01.01.2019, счету 556 ОТ 01.01.2019"', $matches);
$matches = $matches ? implode(',' , $matches[1]) : '';
print_r($matches);
// для поиска символа *
$argumentValue = new Regex( '\*');
// или даже , скорее всего вот так :
$argumentValue = new Regex( '\\*');