для запуска в Windows при использовании wscript:
wscript.exe "C:\path\example.vbs" "your email address" "who your sending it to" "your subject" "your body text & vbCRLF & for new line" "c:\path\attachment"
требуется «", потому что пробелы через порядок и окна отправляются ошибки, если пробелы находятся в пути
dim mailto
dim mailfrom
dim subject
dim body
dim attachment
mailfrom = WScript.Arguments.Item(0)
mailto = WScript.Arguments.Item(1)
subject = WScript.Arguments.Item(2)
body = WScript.Arguments.Item(3)
attachment = WScript.Arguments.Item(4)
Set emailObj = CreateObject("CDO.Message")
emailObj.From = mailfrom
emailObj.To = mailto
emailObj.Subject = subject
emailObj.TextBody = body
emailObj.AddAttachment attachment
Set emailConfig = emailObj.Configuration
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.mysmtp.com"
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = true
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "myUsername"
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "myPassword"
emailConfig.Fields.Update
emailObj.Send
If err.number = 0 then Msgbox "email sent"
Вы можете сделать это двумя способами:
echo json_encode(iterator_to_array($customers));
, или вы можете вручную прокрутить его:
foreach($customers as $k => $row){
echo json_encode($row);
}
Каждый из объектов MongoDB должен иметь свои методы __toString()
правильно чтобы вернуть представление значения.
Другие ответы работают, но хорошо знать, что сгенерированный JSON будет иметь следующую форму (в этом примере я использую гипотетическое поле «name» для ваших клиентов):
{
"5587d2c3cd8348455b26feab": {
"_id": {
"$id": "5587d2c3cd8348455b26feab"
},
"name": "Robert"
},
"5587d2c3cd8348455b26feac": {
"_id": {
"$id": "5587d2c3cd8348455b26feac"
},
"name": "John"
}
}
So в случае, если вы не хотите, чтобы Object _id
был ключом каждого из ваших объектов результата, вы можете добавить параметр false
в iterator_to_array
. Ваш код будет выглядеть следующим образом:
echo json_encode(iterator_to_array($customers, false), true);
Это создает тот же результат, что и
$result = Array();
foreach ($customers as $entry) {
array_push($result, $entry);
}
echo json_encode($result, true);
, который является массивом объектов JSON
[
{
"_id": {
"$id": "5587d2c3cd8348455b26feab"
},
"name": "Robert"
},
{
"_id": {
"$id": "5587d2c3cd8348455b26feac"
},
"name": "John"
}
]
Это также сработает. И вы также можете настроить свой json.
$arr = array();
foreach($customers as $c)
{
$temp = array("name" => $c["name"], "phone" => $c["phone"],
"address" => $c["address"]);
array_push($arr, $temp);
}
echo json_encode($arr);