如何修改此脚本以允许使用PHP发布URL


How to modify this script to allow URL POSTing with PHP

这是一个概念验证实验。我创建了一个VPS,其中有一个简单的上传表单和PHP表单处理器脚本。这是为了测试我们正在开发的iOS和Android应用程序。这个问题(目前)与安全性或效率无关,只是功能性。我需要修改下面的PHP,以便在没有HTML FORM帮助的情况下使用POST接收图像。我们目前正在投递到Dropbox和Google Drive,没有问题。我们现在正在研究在我们自己的服务器上存储图像需要什么,我们只需要制定一个概念证明,就可以用POST提交的PHP接收这个图像

别这样;我想通过唯一可用的上传方法将图像从移动设备发送到服务器,而不需要额外的库-HTTP。使用FTP或SSH需要额外的代码,我们正在努力保持轻松。所以我打算用HTTPPOST发送一个图像,我现在用HTMLFORM完成了这个图像。然而,我需要制定一个POST,它只发送一个图像,而不发送其他变量。这是我当前的HTML表单:

<!-- The data encoding type, enctype, MUST be specified as below -->
<form enctype="multipart/form-data" action="__URL__" method="POST">
    <!-- MAX_FILE_SIZE must precede the file input field -->
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    <!-- Name of input element determines name in $_FILES array -->
    Send this file: <input name="userfile" type="file" />
    <input type="submit" value="Send File" />
</form>

这是我的处理器PHP:

<?php
// In PHP versions earlier than 4.1.0, $HTTP_POST_FILES should be used instead
// of $_FILES.
$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo "File is valid, and was successfully uploaded.'n";
} else {
    echo "Potential error.'n";
}
echo 'Here is some more debugging info:';
print_r($_FILES);
print "</pre>";
?>

可以在浏览器上完美工作,没有问题。现在我需要修改PHP部分,以允许通过URL进行POST-本质上放弃了HTML表单的使用。通过使用我发送的文件的名称来区分上传的文件会很好,或者我可以从我的应用程序中提供该变量。如有任何指导,我们将不胜感激。

参考:http://php.net/manual/en/features.file-upload.post-method.php

您不需要修改您的PHP。只需从iOS/Android应用程序发送文件,就好像它是通过表单发送的一样,即使用multipart/form-data编码。

或者,如果你想用另一种方式发送,解释一下你到底希望它如何发送,没有其他标准的方式来发送文件"通过URL POST"。