0

这是我在服务器上运行的代码。我正在使用 C++ 读取 .jpg localy,然后将其与 SFML 一起发布在单个字符串中。由于内容长度与文件大小相同,因此该帖子显然已被服务器接收。然而,在写入文件时,字符串似乎缩短到只有 276 个字符。写入的最后一个字符是 %,之后的字符应该是 &(在 notepad++ 中打开文件时),因为 SFML 不能以我必须这样做的形式发布文件。为什么在字符串肯定到达服务器时文件被截断?

$headers = apache_request_headers();

foreach ($headers as $header => $value)
{
    if(strcmp(strtolower($header),"content-length")==0)
    {
        $length=intval($value);
        echo $value;
    }
}
$file=fopen("file".".txt","w");
fwrite($file,$_POST["file"],$length);
fclose($file);

替代 PHP 索引(也不起作用 - 发布时没有 $_FILES["file"] 变量): http: //pastebin.com/edP6VXCr

我用来发送的 C++ 代码:http: //pastebin.com/uCaRe9X5

4

1 回答 1

0

替换$_POST$_FILES。此外,您应该使用move_uploaded_file().

编辑:要进一步扩展下面的评论,请尝试使用:

move_uploaded_file($_FILES["file"]["tmp_name"], '/somewhere/on/the/disk');
于 2013-05-05T18:12:25.063 回答