php
1<?php 2// var_dump($_FILES); 3// exit(); 4 5session_start(); 6include("functions.php"); 7check_session_id(); 8 9//DB接続 10$pdo = connect_to_db(); 11 12$user_id = $_SESSION["user_id"]; 13// var_dump($user_id); 14// exit(); 15 16// ここからファイルアップロード&DB登録の処理を追加しよう!!! 17if (isset($_FILES['upfile']) && $_FILES['upfile']['error'] == 0) { 18 $uploadedFileName = $_FILES['upfile']['name']; //ファイル名の取得 19 $tempPathName = $_FILES['upfile']['tmp_name']; //tmpフォルダの場所 20 $fileDirectoryPath = 'upload/'; 21 $extension = pathinfo($uploadedFileName, PATHINFO_EXTENSION); 22 $uniqueName = date('YmdHis') . md5(session_id()) . "." . $extension; 23 $fileNameToSave = $fileDirectoryPath . $uniqueName; 24 25 if (is_uploaded_file($tempPathName)) { 26 if (move_uploaded_file($tempPathName, $fileNameToSave)) { 27 chmod($fileNameToSave, 0644); // 権限の変更 28 29 // UPDATE文を作成&実行 30 $sql = "UPDATE users_table SET image=:image,updated_at=sysdate() WHERE user_id=:user_id"; 31 32 $stmt = $pdo->prepare($sql); 33 $stmt->bindValue(':user_id', $user_id, PDO::PARAM_STR); 34 $stmt->bindValue(':image', $fileNameToSave, PDO::PARAM_STR); 35 $status = $stmt->execute(); 36 var_dump($status); 37 exit(); 38 39 if ($status == false) { 40 // SQL実行に失敗した場合はここでエラーを出力し,以降の処理を中止する 41 $error = $stmt->errorInfo(); 42 echo json_encode(["error_msg" => "{$error[2]}"]); 43 exit(); 44 } else { 45 header("Location: home.php"); 46 exit(); 47 } 48 } else { 49 exit('Error:アップロードできませんでした'); // 画像の保存に失敗 50 } 51 } else { 52 exit('Error:画像がありません'); // tmpフォルダにデータがない 53 } 54}
画像のアップロードを試みていますが、画像がアップロードできませんでしたという処理になります。
目標としてはSQLに画像をアップロードすることです。
どこかおかしい点があればご教示願いたいです。
回答2件
あなたの回答
tips
プレビュー