如何防止PHP修剪长参数的结尾


How to prevent PHP from trimming the end of long arguments

这就是问题所在,我在谷歌上找不到太多东西,希望有人能找到答案。我的PHP文件发送电子邮件作为反馈给我,它需要5个参数,每当我向PHP文件发送长参数时,它就会修剪参数5的末尾,也就是最长的参数,我该如何修复呢?更明确地说,论点5几乎就是邮件正文。

下面是PHP代码:
<?php
include('Mail.php');
$arg1 = $argv[1]; //appName and version
$arg2 = $argv[2]; //ErrorMessage
$arg3 = $argv[3]; //ErrorData
$arg4 = $argv[4]; //ErrorSource
$arg5 = $argv[5]; //ErrorStackTrace
$arg1 = $_GET['arg1'];
$arg2 = $_GET['arg2'];
$arg3 = $_GET['arg3'];
$arg4 = $_GET['arg4'];
$arg5 = $_GET['arg5'];
$subject = $arg1 ;
$errorMessage = $arg2;
$ErrorData = $arg3;
$ErrorSource = $arg4;
$ErrorStackTrace = $arg5;
$recipients = "myemail";
$from = "errorreport@user.com" ;
$headers = array (
    'From' => $from,
    'To' => $recipients,
    'Subject' => $subject,
);
$body = "ErrorMessage: "."'n".$errorMessage."'n"."ErrorData: "."'n".$ErrorData."'n"."ErrorSource: "."'n".$ErrorSource."'n"."ErrorStackTrace: "."'n".$ErrorStackTrace;
$mail_object =& Mail::factory('smtp',
    array(
        'host' => 'prwebmail',
        'auth' => true,
        'username' => 'user',
        'password' => 'pass',       ));
$mail_object->send($recipients, $headers, $body);
?>

我可以看到你的代码是引用$_GET变量,请改变你的形式使用POST的方法

如果可以,在发送大数据时避免使用GET方法表单。

:

<form method="get">

替换为:

<form method="post">

然后改变:

$arg1 = $_GET['arg1'];

:

$arg1 = $_POST['arg1'];

等等…