我需要发送一个URL列表到表单->保存在数据库中->从数据库中读取并显示在页面上。
因此,我使用new line(PHP_EOL)生成如下列表。
foreach ( $filenames as $filename ) {
$uri .= trailingslashit( IPFS_URL ) . trailingslashit( $ipfs_file_cid ) . $filename . PHP_EOL;
}
<input type="hidden" id="uri" name="uri" value="<?php echo esc_attr( $uri ); ?>" />
字符串
输入值通过WP update_post_meta
函数存储在MySQL数据库中。我尝试通过preg_split("/\r\n|\n|\r/", $post_meta['uri'][0]);
从db阅读值,但似乎无法检测到新行。
什么是最好的方式来存储和分割的URL到一个数组?我想使用逗号,但URL可能在文件名中有逗号,如https://example.com/my,image.png
(用户上传的文件)。
1条答案
按热度按时间u2nhd7ah1#
我不确定创建隐藏的输入,只是让他们发送回服务器,是最好的方法。如果数据已经以某种格式在服务器上可用,并且不需要在用户界面中进行修改,那么也许可以直接保存到数据库,而不必处理来自HTML表单的GET或POST数据。
但是,如果您确实有很好的理由使用表单,则可以将表单元素用作数组:
字符串
那么
$_POST['uri']
或$_GET['uri']
将是一个数组。正如@alexey-novikov在上面指出的,
update_post_meta(…)
应该序列化一个数组值,以便存储在数据库中。