Вход Регистрация
Файл: vendor/intervention/gif/src/Traits/CanHandleFiles.php
Строк: 60
<?php

declare(strict_types=1);

namespace 
InterventionGifTraits;

use 
InterventionGifExceptionsStreamException;

trait 
CanHandleFiles
{
     
/**
     * Determines if input is file path.
     */
    
private static function isFilePath(mixed $input): bool
    
{
        return 
is_string($input) && !self::hasNullBytes($input) && @is_file($input) === true;
    }

    
/**
     * Determine if given string contains null bytes.
     */
    
private static function hasNullBytes(string $string): bool
    
{
        return 
str_contains($stringchr(0));
    }

    
/**
     * Create stream resource from given gif image data.
     *
     * @throws StreamException
     */
    
private static function streamFromData(string $data): mixed
    
{
        
$stream fopen('php://temp''r+');

        if (
$stream === false) {
            throw new 
StreamException('Failed to create tempory stream resource');
        }

        
$result fwrite($stream$data);
        if (
$result === false) {
            
fclose($stream);
            throw new 
StreamException('Failed to write tempory stream resource');
        }

        
$result rewind($stream);
        if (
$result === false) {
            
fclose($stream);
            throw new 
StreamException('Failed to rewind tempory stream resource');
        }

        return 
$stream;
    }

    
/**
     * Create stream resource from given file path.
     *
     * @throws StreamException
     */
    
private static function streamFromFilePath(string $path): mixed
    
{
        
$stream fopen($path'rb');

        if (
$stream === false) {
            throw new 
StreamException('Failed to create stream resource from path');
        }

        return 
$stream;
    }
}
Онлайн: 1
Реклама