携帯サイトの画像アップロード
Linaxサーバー初心者です。
今携帯サイトの画像アップロードプログラムを作成して
いるのですが、どうしても原因が分からず、困っております。どなたか分かる方がいらっしゃいましたら御教授お願いできませんでしょうか。
▼プログラムのフロー
snspost宛てのメールを受信するとメールプログラム(snspost.php)が起動し、メール解析プログラム(postdialy.php)にメールデータを渡し、解析処理を行います。
▼/etc/aliases の内容
snspost:"|/usr/bin/php /var/www/html/snspost.php"
▼postdialy.php の内容
<?php
$path = '/usr/lib/php/pear/';
set_include_path(get_include_path() . PATH_SEPARATOR .
$path);
require_once "Mail/mimeDecode.php";
require_once "DBUtil.php";
require_once "MailParser.php";
require_once "AuthUtil.php";
// コンフィグ読み込み($configに設定内容が入る)
require_once "Config.php";
// 画像格納場所
$image_dir = $config['image_dir'];
// 初期化
$images = array();
// 処理実行
$data = $_POST['content'];
// メールをデコードする
$decoder = new Mail_mimeDecode($data);
$structure = $decoder->decode(array(
'include_bodies' => true,
'decode_bodies' => true,
'decode_headers' => true,
));
// メールの宛先でユーザーを識別する
$to = $structure->headers['to'];
// 宛先は[prefix][user_id]_[auth_code]@ホスト名
$pattern = '!^'.$config['prefix'].'([0-9].*?)_([0-9a-z]{6})@.*?!';
$user = null;
if (preg_match($pattern, $to, $matches)) {
$user_id = $matches[1];
$auth_code = $matches[2];
if ($db = connectDB($db_user, $db_pass, $db_name, $db_host, true)) {
// 投稿内容を記録する
$query = "SELECT * from sns_users where id=?";
$user = execQuery($db, $query, array($user_id));
if ($user) {
$user = $user[0];
}
// データベースを閉じる
closeDB($db);}}
――――途中省略――――――――――――――
if ($image_save_path) {
// 題名取得
$subject = $structure->headers['subject'];
$subject = mb_convert_encoding($subject, "utf-8", array('ISO-2022-JP', 'sjis-win', 'utf-8', 'eucjp-win'));
// 差出人取得
$from = getFrom($structure->headers['from']);
// 本文取得
$body = getBody($structure);
$body = mb_convert_encoding($body, "utf-8", array('ISO-2022-JP', 'sjis-win', 'utf-8', 'eucjp-win'));
$params = array();
$params[] = $user['id'];
$params[] = $subject;
$params[] = $body;
$params[] = $image_save_path;
// データベースへ接続する
if ($db = connectDB($db_user, $db_pass, $db_name, $db_host, true)) {
// 投稿内容を記録する
$query = "INSERT INTO sns_diaries(user_id,subject,contents,image_path,posted_at)".
" VALUES (?,?,?,?,NOW())";
execQuery($db, $query, $params);
// データベースを閉じる
closeDB($db);
}}}
?>以上ここまで
ちなみに、送り先のsnspost@(ドメイン名)を見ると受信はできています。他に必要な情報などございましたら是非ご連絡いただけますと幸いです。どなたかお助けください。どうかお願いいたします。
お礼
無事解決しました。 回答ありがとうございました。