Использование двойных кавычек в 'входе вводит = “текст”' работа привычки значения, строковые остановки в двойной кавычке!

ImageMagick делегирует PDF-> растровое преобразование в GhostScript так или иначе, таким образом, вот команда, которую можно использовать (это основано на фактической команде, перечисленной эти ps:alpha делегат в ImageMagick, просто скорректированном к JPEG использования, как произведено):

gs -q -dQUIET -dPARANOIDSAFER -dBATCH -dNOPAUSE -dNOPROMPT \
-dMaxBitmap=500000000 -dLastPage=1 -dAlignToPixels=0 -dGridFitTT=0 \
-sDEVICE=jpeg -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -r72x72 \
-sOutputFile=$OUTPUT -f$INPUT

, где $OUTPUT и $INPUT входные имена файлов и вывод. Корректируйтесь 72x72 к любому разрешению, в котором Вы нуждаетесь. (Очевидно, полоса обратные косые черты, если Вы выписываете целую команду как одну строку.)

Это хорошо по двум причинам:

  1. Вам не должны были устанавливать ImageMagick больше. Не то, чтобы у меня есть что-либо против ImageMagick (я люблю его вдребезги), но я верю в простые решения.
  2. ImageMagick делает двухступенчатое преобразование. Первый PDF-> PPM, затем PPM-> JPEG. Таким образом, преобразование является одним шагом.

Другие вещи рассмотреть: с файлами я протестировал, PNG сжимается лучше, чем JPEG. Если Вы хотите использовать PNG, измениться -sDEVICE=jpeg на -sDEVICE=png16m.

6
задан 20 November 2009 в 17:13
поделиться

4 ответа

You необходимо использовать htmlspecialchars ($ str, ENT_QUOTES) или htmlentities ($ str, ENT_QUOTES) для преобразования кавычек в объект HTML & quot; . Эта функция также заботится о других символах, которые должны быть закодированы.

mysql_real_escape_string () предназначена только для экранирования одинарных кавычек в запросах к базе данных, чтобы вы могли правильно вводить строки в одинарных кавычках в вашу базу данных (и избегать использования SQL инъекции).

РЕДАКТИРОВАТЬ: Добавлены параметры. Спасибо micahwittman

20
ответ дан 8 December 2019 в 04:08
поделиться

Причина, по которой он не работает, когда вы выводите его на вход , заключается в том, что значение усекается в кавычках. Вам нужно будет использовать htmlspecialchars () на выходе.

3
ответ дан 8 December 2019 в 04:08
поделиться

Вы перепутали две вещи: mysql_real_escape_string используется для подготовки строк для хранения в базе данных mysql. htmlentities используется для подготовки строк для вывода в браузере. Оба варианта важны, но нельзя ожидать, что вызовы одного за другим в одной строке сработают. Сделайте что-то вроде следующего:

// Copy string after escaping for mysql into $db_headline
$db_headline= mysql_real_escape_string($_POST['headline']);

// Copy string after escaping for page display into $html_headline
$html_headline = htmlentities($_POST['headline']);

// Store the headline in the database

...

?>
<input type="text" name="headline" value="<?php echo $html_headline ?>" />

...
2
ответ дан 8 December 2019 в 04:08
поделиться

Изменение входной строки не является задачей JS, сервер должен убедиться, что он может принимать то, что получает, независимо от того, что он получает.

Вы можете избежать двойных кавычек с другим значением либо Assci символ или HTML & quot; и т. д., прежде чем передать его в escape-функцию mysql?

1
ответ дан 8 December 2019 в 04:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: