Lacrifilm
Lacrifilm

Reputation: 283

Send parameters to another PHP file with image

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

Answers (1)

Vaibhav Sidapara
Vaibhav Sidapara

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

Related Questions