Reputation: 283
I have a PHP file that takes two parameters come through a mobile application (Text and Image), to treat this data is used the following commands:
$image = file_get_contents("php://input");
$text = $_POST['Text'];
The next step is to send this data to another PHP file (second.php) via POST method, for this I try this code:
$params = array ('Text' => $text);
$query = http_build_query ($params);
$contextData = array (
'method' => 'POST',
'header' => "Connection: close\r\n".
"Content-Length: ".strlen($query)."\r\n",
'content'=> $query );
$context = stream_context_create (array ( 'http' => $contextData ));
$result = file_get_contents (
'second.php', // page url
false,
$context);
However I need to send the image too, how can I do this?
I need to send a image parameter in a way in which I can select it from this command:
$_FILES['imageUser']
(which is located in second.php)
Upvotes: 0
Views: 714
Reputation: 159
You can upload the file to a temp location and POST the file's location+name to second.php
file.
For example:
$target_dir = "uploads/";
// If you want unique name for each uploaded file, you can use date and time function and concatenate to the $target_file variable before the basename.
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
// Move the uploaded file
if(move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)
{
// Now you can post the variable $image
$image = $target_file
}
After you query on second.php
you can even do unlink($image);
to delete the file, so the moved images does not eat space on your server.
Upvotes: 1