Перейти к содержимому

Как сделать отступ в php

  • автор:

Как установить отступ в PHP-FFMpeg?

Я использую библиотеку PHP-FFMpeg library (https://github.com/PHP-FFMpeg/PHP-FFMpeg). Для консоли делаю отступ у видео с разрешением 1920 на 1080 таким образом:

ffmpeg -i input.mp4 -vf "crop=960:1080, scale=960:1080,pad=w=960+iw:h=ih:x=960:y=0" output.mp4 

В php пытаюсь сделать так:

$video = $ffmpeg->open('input.mp4'); $video->filters()->crop(new FFMpeg\Coordinate\Point(480, 0, true), new FFMpeg\Coordinate\Dimension(960, 1080)); $video->save(new FFMpeg\Format\Video\x264('aac'), 'output.mp4'); 

Я получаю видео с кропом и расположением по центру кадра, но не справа (как в случае с консольной командой). Могу ли я переместить output.mp4 или установить корректную точку для отображения видео?

Правила оформления PHP-кода

Отступы улучшают читабельность кода. Для их оформления используйте четыре пробела (но не знак табуляции).

2. Ключевые слова и константы true / false / null

Ключевые слова PHP, а также константы true , false и null следует писать в нижнем регистре.

  $b) < echo "a больше, чем b"; $equal = false; >elseif ($a == $b) < echo "a равен b"; $equal = true; >else < echo "a меньше, чем b"; $equal = false; >?> 
  $b) < ECHO "a больше, чем b"; $equal = False; >ELSEif ($a == $b) < Echo "a равен b"; $equal = TRUE; >ELSE < eCHO "a меньше, чем b"; $equal = falSE; >?> 

3. Определение пространств имён и блоков импорта

  1. Оставляйте одну пустую строку после определения пространства имён.
  2. Импорт пространств имён располагайте после определения пространства имён.
  3. Для каждого импорта пространства имён используйте отдельную строку со своим use .
  4. После блока импорта оставляйте одну пустую строку.

4. Методы и аргументы

  1. Пробел после имени метода.
    После имени метода не должно быть пробела. Хорошо
  // PHP-код ?> 
  // PHP-код ?> 
  // PHP-код ?> 
  // PHP-код ?> 

5. Вызовы методов и функций

  1. Пробелы.
    В коде вызова функций и методов не ставьте пробел:
    1. между именем функции или метода и открывающей круглой скобкой;
    2. после открывающей круглой скобки;
    3. перед закрывающей круглой скобкой.
     bar($arg1); Foo::bar($arg2, $arg3); ?> 
     bar ( $arg1 ); Foo::bar ( $arg2, $arg3); ?> 
     bar( $longArgument, $longerArgument, $muchLongerArgument ); ?> 
     bar( $longArgument, $longerArgument, $muchLongerArgument); ?> 

    6. Конструкции switch и case

    Конструкция switch должна выглядеть следующим образом. Выражение case смещено на один отступ (четыре пробела) от switch , а ключевое слово break (или иное слово, обозначающее выход из конструкции) располагается на том же уровне отступов, что и тело case . Если в непустом теле case умышленно не используется break , допишите комментарий в стиле // no break .

    7. Конструкции while и do while

    Конструкцию while следует оформлять следующим образом. Между while и ( ставится пробел. После ( и до ) пробелов не должно быть. ) и < разделяются пробелом. Тело конструкции отделяется одним отступом (четыре пробела). >пишется на новой строке после тела конструкции.

    Конструкция do while должна выглядеть так:

      while ($expr); ?> 
     while($expr); ?> 

    8. Конструкция for

    Пример оформления конструкции for представлен ниже. Между for и ( ставится пробел. После ; ставится пробел. ) и < разделяются пробелом. Тело конструкции отделяется одним отступом (четыре пробела). >пишется на новой строке после тела конструкции.

    9. Конструкция foreach

    Конструкция foreach должна выглядеть следующим образом. Между foreach и ( ставится пробел. Перед и после => ставится пробел. ) и < разделяются пробелом. Тело конструкции отделяется одним отступом (четыре пробела). >пишется на новой строке после тела конструкции.

      $value) < // тело foreach >?> 
     $value) < // тело foreach >?> 

    10. Конструкция try catch

    Оформляйте конструкцию try catch следующим образом. Между try и < ставится пробел. >и следующий за ним catch находятся на одной строке. Между catch и ( ставится пробел. ) и < разделяются пробелом. Тело try и тело catch отделяется одним отступом (четыре пробела). >пишется на новой строке после тела конструкции.

      catch (FirstExceptionType $e) < // тело catch >catch (OtherExceptionType $e) < // тело catch >?> 
      catch (FirstExceptionType $e) < // тело catch >catch (OtherExceptionType $e) < // тело catch >?> 

    Как сделать отступ в php

    Здесь могла бы быть ваша реклама

    Покинул форум
    Сообщений всего: 4574
    Дата рег-ции: Июль 2006
    Откуда: Israel

    Помог: 3 раз(а)

    Секрет
    Теперь, когда вы уже наверняка второпях отправили свой запрос,
    я расскажу вам простой секрет, который сэкономит вам уйму ожиданий,
    даже если первый ответ по теме последуем сразу же.

    Само собой я знаю что ответят мне тут же, и если я посмотрю
    на сообщения на форуме, то пойму что в общем то я и не ошибаюсь.
    Но еще я точно замечу, что очень мало тем, в которых всего два ответа :
    вопрос автора и еще два сообщение вида Ответ + Спасибо

    После этого приходится начинать уточнять этим неграмотным что мне надо.
    Они что, сами читать не умеют? А уточнять приходится.
    И иногда пока они переварят то что я им скажу проходит и не одна ночь..

    Уверен что если бы я им сказал что у меня есть
    фиолетовый квадрат, и нужно превратить его в синий треугольник
    и я пытался взять кисточку, макнуть в банку и поводить ей по квадрату
    но почему то кисточка не принимала цвет краски в банке,
    то на мой вопрос — где взять правильные банки мне бы ответили гораздо быстрее
    предложив её открыть, а не тратить еще стольник на жестянку.

    Поэтому с тех пор я строю свои вопросы по проверенной давным давно схеме:
    Что есть
    Что нужно получить
    Как я пытался
    Почему или что у меня не получилось.

    На последок как оно происходит на форумах

    Цитата:

    Новичок: Подскажите пожалуста самый крепкий сорт дерева! Весь инет перерыл, поиском пользовался!
    Старожил: Объясни, зачем тебе понадобилось дерево? Сейчас оно в строительстве практически не используется.
    Новичок: Я небоскрёб собираюсь строить. Хочу узнать, из какого дерева делать перекрытия между этажами!
    Старожил: Какое дерево? Ты вообще соображаешь, что говоришь?
    Новичок: Чем мне нравиться этот форум — из двух ответов ниодного конкретного. Одни вопросы неподелу!
    Старожил: Не нравится — тебя здесь никто не держит. Но если ты не соображаешь, что из дерева небоскрёбы не строят, то лучше бы тебе сначала школу закончить.
    Новичок: Не знаите — лучше молчите! У меня дедушка в деревянном доме живёт! У НЕГО НИЧЕГО НЕ ЛОМАЕТСЯ.
    Но у него дом из сосны, а я понимаю, что для небоскрёба нужно дерево прочнее! Поэтому и спрашиваю. А от вас нормального ответа недождёшся.
    Прохожий: Самое крепкое дерево — дуб. Вот тебе технология вымачивания дуба в солёной воде, она придаёт дубу особую прочность:
    Новичок: Спасибо, братан! То что нужно.

    Отредактировано модератором: Uchkuma, 26 Апреля, 2011 — 10:21:12

    trim

    Можно также задать список символов для удаления с помощью необязательного аргумента characters . Просто перечислите все символы, которые вы хотите удалить. Можно указать конструкцию .. для обозначения диапазона символов.

    Возвращаемые значения

    Примеры

    Пример #1 Пример использования trim()

    $text = «\t\tThese are a few words 🙂 . » ;
    $binary = «\x09Example string\x0A» ;
    $hello = «Hello World» ;
    var_dump ( $text , $binary , $hello );

    $trimmed = trim ( $text );
    var_dump ( $trimmed );

    $trimmed = trim ( $text , » \t.» );
    var_dump ( $trimmed );

    $trimmed = trim ( $hello , «Hdle» );
    var_dump ( $trimmed );

    $trimmed = trim ( $hello , ‘HdWr’ );
    var_dump ( $trimmed );

    // удаляем управляющие ASCII-символы с начала и конца $binary
    // (от 0 до 31 включительно)
    $clean = trim ( $binary , «\x00..\x1F» );
    var_dump ( $clean );

    Результат выполнения приведённого примера:

    string(32) " These are a few words :) . " string(16) " Example string " string(11) "Hello World" string(28) "These are a few words :) . " string(24) "These are a few words :)" string(5) "o Wor" string(9) "ello Worl" string(14) "Example string"

    Пример #2 Обрезание значений массива с помощью trim()

    $fruit = array( ‘apple’ , ‘banana ‘ , ‘ cranberry ‘ );
    var_dump ( $fruit );

    array_walk ( $fruit , ‘trim_value’ );
    var_dump ( $fruit );

    Результат выполнения приведённого примера:

    array(3) < [0]=>string(5) "apple" [1]=> string(7) "banana " [2]=> string(11) " cranberry " > array(3) < [0]=>string(5) "apple" [1]=> string(6) "banana" [2]=> string(9) "cranberry" >

    Примечания

    Замечание: Возможные трюки: удаление символов из середины строки

    Так как trim() удаляет символы с начала и конца строки string , то удаление (или не удаление) символов из середины строки может ввести в недоумение. trim(‘abc’, ‘bad’) удалит как ‘a’, так и ‘b’, потому что удаление ‘a’ сдвинет ‘b’ к началу строки, что также позволит её удалить. Вот почему это «работает», тогда как trim(‘abc’, ‘b’) очевидно нет.

    Смотрите также

    • ltrim() — Удаляет пробелы (или другие символы) из начала строки
    • rtrim() — Удаляет пробелы (или другие символы) из конца строки
    • str_replace() — Заменяет все вхождения строки поиска на строку замены

    User Contributed Notes 2 notes

    8 months ago

    note there is a behaviour change in php 8

    You used to be able to say:
    $p1 = trim($_POST[‘p1’]);
    This will now throw deprecated warnings if parameter p1 is not set. It is better to say:
    $p1 = trim($_POST[‘p1’]??»);
    or
    $p1 = isset($_POST[‘p1’]) ? trim($_POST[‘p1’]) : null;
    or
    $p1 = isset($_POST[‘p1’]) ? trim($_POST[‘p1’]) : »;

    6 months ago

    Note that trim() is not aware of Unicode points that represent whitespace (e.g., in the General Punctuation block), except, of course, for the ones mentioned in this page.

    There is no Unicode-specific trim function in PHP at the time of writing (July 2023), but you can try some examples of trims using multibyte strings posted on the comments for the mbstring extension: https://www.php.net/manual/en/ref.mbstring.php

    • Copyright © 2001-2024 The PHP Group
    • My PHP.net
    • Contact
    • Other PHP.net sites
    • Privacy policy

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *