小编Dzs*_*eti的帖子

将 xml 转换为 php 数组空 xml 字段产生空数组而不是空字符串

我正在使用一段漂亮的短代码将我的 xml 字符串转换为 php 数组

$products = json_decode(json_encode(simplexml_load_string($products_xml)),TRUE);
Run Code Online (Sandbox Code Playgroud)

一切正常,除了当我得到一个空数组而不是字符串时 xml 字段为空时 - 当写入我的 SQL 数据库时,我看到字符串 'Array' 而不是空字段。

有没有一种很好的方法可以用 php 做到这一点?


与此同时,我设法用这段代码解决了这个问题:

$products = json_decode(str_replace('{}', '""', json_encode(simplexml_load_string($products_xml))),TRUE);
Run Code Online (Sandbox Code Playgroud)

php xml arrays json simplexml

6
推荐指数
1
解决办法
1232
查看次数

Imagick:无法打开文件

当简单地调用Imagick类时:

$image = new Imagick('/images/magick/atmsk.png');
Run Code Online (Sandbox Code Playgroud)

我收到错误消息:

致命错误:未捕获异常'ImagickException',消息'无法打开文件`/image/magick/atmsk.png'@ png.c/ReadPNGImage/2889'in .../imag.php:4堆栈跟踪:#0. ../imag.php(4):Imagick - > __ construct('/ images/magick/...')#1 {main}抛入.../imag.php

我已根据另一个帖子检查了内存,这没关系!

php imagick

5
推荐指数
1
解决办法
2万
查看次数

firebird isql:"此数据库中没有表XXXX"

我正在尝试从Firebird 2.5 SQL数据库中提取数据以进行迁移.这些数据已经通过嵌入Firebird 2.5数据库的软件在很长一段时间内建立起来 - 而软件公司在允许以易于迁移的形式访问我们的数据方面没有帮助......

通过更改security2.fdb文件,我可以isql使用管理员用户名访问数据库SYSDBA并可以列出数据库中的表,但是对单个表的任何进一步访问都会抛出消息:"此数据库中没有表XXXX"

以下是Windows命令提示符的示例:

SQL> show tables;
        ....
        ....
        Customer
        ....
SQL> show table customer;
There is no table CUSTOMER in this database
Run Code Online (Sandbox Code Playgroud)

我怀疑对各个表的访问是受控制的,但如果可能的话,则无法确定如何重新获得访问权限.

sql firebird isql

4
推荐指数
1
解决办法
453
查看次数

第二次查询后如何在Joomla中使用getNumRows()

我正在Joomla环境中开发一个php脚本,该脚本两次查询相同的表/数据库。每次我需要知道是否找到任何匹配项。

似乎最好的方法是使用getNumRows()。Joomla文档的用法非常具体:

其他结果集方法getNumRows()

getNumRows()将返回上一个查询找到并等待读取的结果行数。要从getNumRows()获得结果,必须在查询之后和检索任何结果之前运行它。

我在脚本中遵循了这一要求。在第一个查询中没有问题,但是第二个查询始终引发警告-很可能是因为第二次getNumRows()调用是在从第一个查询中检索到结果之后-不符合Joomla要求。

任何想法如何解决?非常感谢!

我有问题的脚本的部分内容为:

$db = JFactory::getDBO();
$query = "SELECT * FROM #__art_mobiles WHERE user_agent_header='$ua'";
$db->setQuery($query);
$rowsAG = $db->getNumRows();
$replyAG = $db->loadRow();

if ($rowsAG == 0) {

//if no match check www.handsetdetection.com
//see https://www.handsetdetection.com/properties/vendormodel for current list of models in database together with headers
echo "not in local database - try external<br/>";  
$prod = '';

if ($hd3->siteDetect()) {

    $replyHD = $hd3->getReply();

    $man = $replyHD['hd_specs']['general_vendor'];
    $dev = $replyHD['hd_specs']['general_model'];
    $os = $replyHD['hd_specs']['general_platform'];
    echo "found in handsetdetection.com database<br/>";

    //check for …
Run Code Online (Sandbox Code Playgroud)

mysql joomla2.5

2
推荐指数
1
解决办法
9473
查看次数

使用 ffmpeg 选项 -video_track_timescale 25 生成 1k tbn 的视频。为什么是这样?

我正在使用以下代码录制带有图像的实时音频流:

/usr/bin/ffmpeg -re -loop 1 -framerate 25 -i /var/www/html/slowwmo-images/sjw.png -i rtsp://media.vezer.uk:4444/nimble/audio -vcodec libx264 -profile:v main -video_track_timescale 25 -pix_fmt yuv420p -s 1280x720 -vf fps=25 -acodec aac -af aresample=44100 -f flv /var/www/html/slowwmo-live/live.ts
Run Code Online (Sandbox Code Playgroud)

为什么/usr/bin/ffprobe /var/www/html/slowwmo-live/live.ts我需要 25 时却显示 1k tbn?

Stream #0:0: Video: h264 (Main), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 1k tbn, 50 tbc
Run Code Online (Sandbox Code Playgroud)

ffmpeg

-1
推荐指数
1
解决办法
2611
查看次数

标签 统计

php ×2

arrays ×1

ffmpeg ×1

firebird ×1

imagick ×1

isql ×1

joomla2.5 ×1

json ×1

mysql ×1

simplexml ×1

sql ×1

xml ×1