使用 ssh pdfinfo 检测 pdf landscpe
Detect pdf landscpe with ssh pdfinfo
在研究如何让 PHP 知道 pdf 的方向后,找到了一个使用 pdfinfo 的解决方案,它在 bash 上运行良好。但是我无法通过 PHP 执行 exec 命令来获得它,我在字符串下收到响应以便能够创建 if 规则。
我不明白为什么 PHP 的 if 不适用于 ssh 的答案。
$test = shell_exec(' pdfinfo \
-f 1 \
-l 1 \
sample.pdf \
| grep "Page.* size:" \
| \
while read Page _pageno size _width x _height rest; do
[ "$(echo "${_width} / 1"|bc)" -gt "$(echo "${_height} / 1"|bc)" ] \
&& echo "landscape" \
|| echo "portrait" ; \
done');
if($test=="portrait"){
echo "run script from portrait";
}else{
echo"run script from landscape";
}
你能 var_dump($test) 看看返回了什么吗?
返回值中可能有白色space。在if
条件之前使用trim($test)
来trim白space.
在研究如何让 PHP 知道 pdf 的方向后,找到了一个使用 pdfinfo 的解决方案,它在 bash 上运行良好。但是我无法通过 PHP 执行 exec 命令来获得它,我在字符串下收到响应以便能够创建 if 规则。 我不明白为什么 PHP 的 if 不适用于 ssh 的答案。
$test = shell_exec(' pdfinfo \
-f 1 \
-l 1 \
sample.pdf \
| grep "Page.* size:" \
| \
while read Page _pageno size _width x _height rest; do
[ "$(echo "${_width} / 1"|bc)" -gt "$(echo "${_height} / 1"|bc)" ] \
&& echo "landscape" \
|| echo "portrait" ; \
done');
if($test=="portrait"){
echo "run script from portrait";
}else{
echo"run script from landscape";
}
你能 var_dump($test) 看看返回了什么吗?
返回值中可能有白色space。在if
条件之前使用trim($test)
来trim白space.