Reputation: 333
I have been advised to use this in my script
curl -X POST https://api.twilio.com/2010-04-01/Accounts/HIDDEN/SMS/Messages.json \
-u HIDDEN\
-d "From=+442033228389" \
-d "To=hidden" \
-d 'Body=test'
But a simple cut and paste does not do the trick? How would I go about incorporating this into my script?
Results:
var_dump($output); returns: bool(false)
var_dump($info); returns:
array(26) { ["url"]=> string(95) "https://api.twilio.com/2010-04-01/Accounts/AC7ae43150d51cce16de4be6ed0be5ca90/SMS/Messages.json" ["content_type"]=> NULL ["http_code"]=> int(0) ["header_size"]=> int(0) ["request_size"]=> int(0) ["filetime"]=> int(-1) ["ssl_verify_result"]=> int(0) ["redirect_count"]=> int(0) ["total_time"]=> float(0.093) ["namelookup_time"]=> float(0) ["connect_time"]=> float(0.093) ["pretransfer_time"]=> float(0) ["size_upload"]=> float(0) ["size_download"]=> float(0) ["speed_download"]=> float(0) ["speed_upload"]=> float(0) ["download_content_length"]=> float(-1) ["upload_content_length"]=> float(-1) ["starttransfer_time"]=> float(0) ["redirect_time"]=> float(0) ["redirect_url"]=> string(0) "" ["primary_ip"]=> string(15) "174.129.254.101" ["certinfo"]=> array(0) { } ["primary_port"]=> int(443) ["local_ip"]=> string(11) "192.168.0.2" ["local_port"]=> int(28469) }
Upvotes: 0
Views: 241
Reputation: 1448
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.twilio.com/2010-04-01/Accounts/HIDDEN/SMS/Messages.json");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);
$data = array(
'From' => '+442033228389',
'To' => 'hidden',
'Body' => 'test'
);
/* // WHERE $username = your account username
// Where $password = Your account password
*/
curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$output = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
Upvotes: 1
Reputation: 157947
If you want to exec shell command from inside a PHP script you'll have to use one of the functions exec
, shell_exec
, system
or proc_open
or simply the backtick operator `
$output = `curl -X POST https://api.twilio.com/2010-04-01/Accounts/HIDDEN/SMS/Messages.json -u HIDDEN -d "From=+442033228389" -d "To=hidden" -d 'Body=test'`;
But if you want to use curls functionality with PHP the better way would be to use the curl extension. Here comes an example:
<?php
// check if the curl extension is available
if(!function_exists('curl_init')) {
die('the curl extension is not installed');
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.twilio.com/2010-04-01/Accounts/HIDDEN/SMS/Messages.json');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "From=+442033228389\nTo=hidden\nBody=test");
$result = curl_exec($ch);
// json_decode is used to translate the result into an object
var_dump(json_decode($result));
Upvotes: 1