-1

编辑:我以完全不同的方式解决了我的问题,感谢那些无论如何回应的人!帮了大忙!我需要通过 get 变量发送 HTML 表格。

代码是:

<html>
<head>
<meta charset="utf-8" />
<title>Itinerario</title>
<link rel="stylesheet" type="text/css" href="itine.css"/>
</head>
<body bgcolor="#FFC334" link="black" vlink="black" alink="white">
<?php

$html='
<font face="arial">
<center>
<table bgcolor="#F3F3F3" style="border:2px solid black;" cellpadding="10" cellspacing="10">
 <tr>
  <td></td>
  <td>CELL 1</td>
  <td>CELL 2</td>
 </tr>             
</table> 
</center>
</font>
';

echo $html;

echo '<a href="archive.php?itine='.$html.'">LINK ME</a>';

?>
</body>
</html>

另一部分只是一个$_get

<?php
 $variable = $_GET['itine'];
?>

如果我将 URL 中的 $html 替换为文本,它可以正常工作,但添加表结构不会发送任何内容(没有错误),只有空白。有任何想法吗?


如何将文件批量复制到多个子目录中?

我有一个名为 Case Files 的目录,其中许多目录标有:
被告 1
被告 x
被告 88
被告!等等......
(顺便说一句,这些文件夹是被告的名字,它们实际上并没有被标记为“被告”)

在每个被告文件夹中都有一个名为 Pleadings 的目录。有没有办法可以将filexxxx.pdf复制到每个被告的诉状文件夹中?如果可能的话,我最好只运行一个简单的 .bat 。

4

4 回答 4

2

您将无法通过 GET 发送如此复杂的 HTML,尤其是未转义的 HTML。

如果你必须从一个页面到另一个页面传递 HTML,你可以传递 HTML base64_encode(),可能gzcompress()也可以。这将有助于防止达到 GET 请求的字符限制,但不会消除非常大的表的问题。

我曾经不得不做一些类似的事情,这需要将大量数据传递给 GET 变量。我不得不创建几个函数来让它们变得友好:

function shrink($str) {
    $str=strtr(base64_encode(addslashes(gzcompress($str,9))), '+/=', '-_,');
    return $str;
}
function unshrink($str) {
    $str = gzuncompress(stripslashes(base64_decode(strtr($str, '-_,', '+/='))));
    return $str;
}

那里的shrink()函数以压缩级别 9 压缩字符串,并从编码输出中删除任何可能导致 GET 请求出现问题的字符。

unshrink()相反。

如果要包含这些功能,则可以在示例中执行以下操作:

$html='
<font face="arial">
<center>
<table bgcolor="#F3F3F3" style="border:2px solid black;" cellpadding="10" cellspacing="10">
 <tr>
  <td></td>
  <td>CELL 1</td>
  <td>CELL 2</td>
 </tr>             
</table> 
</center>
</font>
';

echo $html;

echo '<a href="archive.php?itine='.shrink($html).'">LINK ME</a>';

然后在另一端解压缩:

echo unshrink($_GET['itine']);

这是我在这里的第一篇实际帖子,所​​以我希望它可以提供一些帮助!

于 2013-10-24T13:43:06.327 回答
1

urlencode(),不需要解码它们,因为当它们被分配给 $_GET 或 $_POST 时,它们应该已经被解码了。

于 2013-10-24T13:30:16.810 回答
0

第一个问题是您要发送的 HTML 中有一个双引号,这会关闭您的 a href 的双引号。

其次,你可能会碰到 GET 请求的限制,理论上它们只能是 256 个字符长。

最后,我建议您对您尝试通过 url 发送的数据进行 urlencode/decode:

编码:

echo '<a href="archive.php?itine='.urlencode($html).'">LINK ME</a>';

解码:

<?php
    $variable = urldecode($_GET['itine']);
?>
于 2013-10-24T13:28:57.930 回答
0

好吧,既然您对 $_GET 上的字符串长度有一些限制,最好不要这样做。如果您更好地解释您的需求,也许我们可以为您提供另一种解决方案。

于 2013-10-24T13:30:30.763 回答