html代码:
<form action="process.php">
<input type="text" name="name">
<input type="file" name="photo">
<input type="submit" value="Submit">
</form>
process.php:
define ('url',"https://api.telegram.org/bot****/");
$name = $_GET['name'];
$img=$_FILES['photo']['name'];
$chat_id = '****';
$message = urlencode("Name:".$name);
file_get_contents(url."sendmessage?text=".$message."&chat_id=".$chat_id."&parse_mode=HTML");
我收到短信,但没有照片。我不知道如何使用“ sendPoto”方法发送照片。
首先,您必须存储上传的文件。
在您的html
代码中,您有错误。您必须添加enctype='multipart/form-data'
支持file input
。
因此,您的html
代码必须像这样:
<form action="process.php" method="post" enctype="multipart/form-data">
<input type="text" name="name">
<input type="file" name="photo">
<input type="submit" value="Submit">
</form>
在php
文件中,您必须首先保存上传的文件。
define ('url',"https://api.telegram.org/bot****/");
$info = pathinfo($_FILES['photo']['name']);
$ext = $info['extension']; // get the extension of the file
$newname = "newname.".$ext;
$target = 'images/'.$newname; // the path you want to upload your file
move_uploaded_file( $_FILES['photo']['tmp_name'], $target);
之后,您可以将此文件发送到电报api。
$chat_id = '123456'; // telegram user id
$url = url."sendPhoto?chat_id=$chat_id";
$params = [
'chat_id'=>$chat_id,
'photo'=>'Your site address/'.$target,
'caption'=>$_POST['name'],
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec($ch);
curl_close($ch);
echo $server_output;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句