【问题标题】:php $_Files fails to save the file when (http) post with Qt当(http)使用 Qt 发布时,php $_Files 无法保存文件
【发布时间】:2013-01-07 02:04:25
【问题描述】:

我正在发布一个带有 Qt 图像的表单(我认为这并不重要)并尝试在服务器中使用相同的图像,但我的 php 文件不断给我以下错误。

注意:未定义的索引:C:\wamp\www\fileupload.php 中的图像名称在第 5

我使用tcp monitor检测消息,它们似乎很好,如下所示。

POST /fileupload.php HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: multipart/form-data; boundary=---------------------------723690991551375881941828858
Content-Length: 467204
Connection: Keep-Alive
Accept-Language: en-US,*
User-Agent: Mozilla/5.0
Host: localhost:8089

-----------------------------723690991551375881941828858
Content-Disposition: form-data; name="imagename"

1.jpg
-----------------------------723690991551375881941828858
Content-Disposition: form-data; name="message"

This is a Test Message
-----------------------------723690991551375881941828858
Content-Disposition: form-data; name="file"; filename="1.jpg"
Content-Type: image/jpg

然后将图像内容附加到末尾。我正在使用以下代码将文件保存在服务器上。

<?php   
    $userMessage    = $_POST["message"];
    $imagefilename    = $_POST["imagename"];
    echo($userMessage.":".$imagefilename);
    if($_FILES['imagename']['error'] == 0){
         echo("Post is ready");
         move_uploaded_file($_FILES['imagename']['error'], './1.jpg');
    }else{
         echo("ERROR");   
    }

?>

我正在关注以下文档,但我无法使其正常工作。如果有人可以给我一个解决问题的提示,我将不胜感激。我正在使用 PHP 5.3.18 和 apache 2.22。

http://www.tizag.com/phpT/fileupload.php

http://www.saaraan.com/2012/02/post-picture-to-facebook-user-wall-php

【问题讨论】:

    标签: php http post apache


    【解决方案1】:

    您尚未完成多部分请求。添加这个:

    --------------723690991551375881941828858--

    到您的帖子结束。

    【讨论】:

    • 非常感谢您的回复。我确实在消息的末尾有边界。但是由于图像大约 456kb,所以这里没有包含整个消息:)。
    • 您是否尝试将 $_FILES['imagename'] 替换为 $_FILES['file'] ?
    • 谢谢哥们。它就像一个魅力,我也必须将“错误”更改为 tmp_name。那些名字是怎么回事。我不得不按原样使用它们。
    • 你刚刚定义了,这里:Content-Disposition: form-data;名称=“文件”; filename="1.jpg" 任何你输入的名字,都应该在 php 中的 $_FILES 中调用
    • 您可以关闭问题。 :)
    【解决方案2】:
    <?php       $userMessage    = $_POST["message"];
    echo($userMessage);
    move_uploaded_file($_FILES['file']['tmp_name'], "./{$_FILES['file'] ['name']}"); 
    ?>
    

    【讨论】:

      猜你喜欢
      • 2013-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-19
      • 1970-01-01
      • 2015-05-17
      • 1970-01-01
      相关资源
      最近更新 更多