Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用$\u GET发布base64编码图像时URL太长_Php_Get_Base64_Tcpdf - Fatal编程技术网

Php 使用$\u GET发布base64编码图像时URL太长

Php 使用$\u GET发布base64编码图像时URL太长,php,get,base64,tcpdf,Php,Get,Base64,Tcpdf,我正在使用TCPDF创建用户捕获的一次性数据文档 我需要将页面返回到数据捕获页面agter print 正如我在window.history.back()和window.history.go(-1)中所解释的那样;在TCPDF中不起作用(打印后不返回上一页) 维达尔建议我使用Iframe。我做到了,它工作得很好,使用$\u GET[]来获取变量,直到我发送了图像的base64编码值 我收到一个错误:URI太长 base64值有数千个字符长,$\u GET[]不会接受它。如果我使用$\u POST

我正在使用TCPDF创建用户捕获的一次性数据文档

我需要将页面返回到数据捕获页面agter print

正如我在window.history.back()和window.history.go(-1)中所解释的那样;在TCPDF中不起作用(打印后不返回上一页)

维达尔建议我使用Iframe。我做到了,它工作得很好,使用
$\u GET[]
来获取变量,直到我发送了图像的base64编码值

我收到一个错误:
URI太长

base64值有数千个字符长,
$\u GET[]
不会接受它。如果我使用
$\u POST[]
并将变量发送到TCPDF,它可以工作,但我遇到了第一个问题

我知道将值发送到数据库并从数据库值生成PDF会起作用,但由于隐私问题,将值存储在数据库中不是一个选项。PDF将包含私人信息,所有者将收到唯一副本

以下是我的iframe代码:

<?php echo "<iframe src='TCPDF/profiles/profile.php?Name=$name&Surname=$surname&age=$age&othervariables=$othervariables&imgstring=$encodedPhoto' style='position:fixed; top:0; left:0; bottom:0; right:0; width:100%; height:100%; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;'>
Your browser doesn't support iframes
</iframe>   "?> 
这是示例代码,有更多的变量要处理。11图像必须编码并发送至pdf

我读过
$file_get_contents()
但是如果不把它上传到服务器上,我就不知道该怎么做,因为你需要包含一个
路径/to/file

是否有方法使用
$\u POST
或任何其他方式将数据发送到iframe页面

任何帮助都将不胜感激。

使用会话 我看到这两个页面,父页面和iframe,都是使用PHP生成的。在这种情况下,您不希望通过
$\u GET
$\u POST
从一个脚本向另一个脚本发送太多数据

您通常会使用在脚本之间共享数据。在父页面中,您将数据存储在
$\u SESSION
数组中,并在iframe中检索数据


使用时请注意。

您的问题不够清楚,无法回答。你没有任何安全顾虑吗?URL存储在浏览器的历史记录中,因此将私人信息放在URL中不是一个好主意。@KIKO软件感谢您提供的安全建议。简言之我的问题是如何从iframe的父页面获取变量,包括我转换为base64的图像。我认为信息不需要从父页面流向内联框架。两者都是由服务器生成的,并且信息应该存在于服务器上,因此将信息直接从服务器发送到父页面和内联框架是有意义的。据我所知,它是由数据捕获页面生成的。但是,这两个页面都是由PHP生成的,因此将数据存储在服务器上是有意义的。你可以把它储存在一个盒子里。这是一种在PHP脚本之间为唯一用户共享数据的简单方法。请注意何时使用它。如果我在打印后清除会话变量(用于捕获下一个数据),它还会清除会话id吗?我不希望用户在每次捕获后登录。不,当您
unset()
某些会话变量时,会话ID不会被清除。用户无需登录即可获得会话。您甚至可以在两次访问之间保持会话的活动状态。最好的方法是阅读PHP会话,使用它们,并通过这种方式了解它们的工作原理。
$name = $_POST['childName'];
$surname = $_GET['childSurname'];
$age = $_GET['age'];
$encodedPhoto = $_GET['imgstring'];