質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Slack

Slackは、Tiny Speckという企業からリリースされたコミュニケーションツールです。GoogleDriveやGitHubなど、さまざまな外部サービスと連携することができます。

Q&A

1回答

1030閲覧

phpでslackのwebhookを使用して画像つきの投稿をしたい

singlestroke

総合スコア68

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Slack

Slackは、Tiny Speckという企業からリリースされたコミュニケーションツールです。GoogleDriveやGitHubなど、さまざまな外部サービスと連携することができます。

0グッド

0クリップ

投稿2021/07/07 23:42

やりたいこと

phpでフォームで入力されたテキスト及びアップロードされた画像をslackに投稿したい。

やってみたこと

php

1<?php 2 3if ($_SERVER['REQUEST_METHOD'] === 'POST') { 4 $tempfile = $_FILES['fname']['tmp_name']; 5 $filename = $_FILES['fname']['name']; 6 7 if (is_uploaded_file($tempfile)) { 8 if (move_uploaded_file($tempfile, $filename)) { 9 $image = "https://" . $_SERVER['SERVER_NAME'] . dirname($_SERVER['SCRIPT_NAME']) . "/" . $filename; 10 } else { 11 echo "ファイルをアップロードできません"; 12 } 13 } else { 14 echo "ファイルが選択されていません"; 15 } 16 17 $url = "https://hooks.slack.com/services/xxxxxx"; 18 19 $message = array( 20 "text" => $_POST['text'], 21 "attachments" => [ 22 "image_url" => $image 23 ] 24 ); 25 26 $message_json = json_encode($message); 27 $message_post = "payload=" . urlencode($message_json); 28 29 $ch = curl_init(); 30 curl_setopt($ch, CURLOPT_URL, $url); 31 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 32 curl_setopt($ch, CURLOPT_POST, true); 33 curl_setopt($ch, CURLOPT_POSTFIELDS, $message_post); 34 curl_exec($ch); 35 curl_close($ch); 36 37} 38?> 39<!DOCTYPE html> 40<html> 41<meta charset="utf-8"> 42<head> 43</head> 44<body> 45<form method="post" action="" enctype="multipart/form-data"> 46 <div><textarea name="text"></textarea></div> 47 <div><input type="submit" value="投稿"></div> 48 <div><input type="file" name="fname"></div> 49</form> 50</body> 51</html>

現状の結果

  • テキストのみslackに投稿される。
  • 画像ファイルはサーバにアップロードされている。

attachmentsの指定がおかしいのでしょうか。ご教示いただけますと幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

attachments が正しく表示できるかは、こちらのツールを使ってみると楽にできるかと思います。

https://api.slack.com/docs/messages/builder

投稿2021/08/19 06:11

seratch

総合スコア215

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問