0

わかりました、サイトの関数ファイルにこれらの 2 つの関数があります。ファイル名をデータベースに移動して画像を取り込みます。これは機能しないクエリです。

function change_profile_image($user_id, $file_temp, $file_extn){
    $file_path = 'images/profile/' .substr(md5(time()), 0, 10). '.' . $file_extn;
    move_uploaded_file($file_temp, $file_path);
    mysql_query ("UPDATE `users` SET `profile` = '" . mysql_real_escape_string ($file_path) . "' WHERE `user_id` = " . (int)$user_id);
}



function portfolio_image($user_id, $file_temps, $file_extns ){
    $file_paths = 'images/portfolio/' .substr(md5(time()), 0, 9). '.' . $file_extns;
    move_uploaded_file($file_temps, $file_paths);
    mysql_query ("UPDATE `users` SET `image` = '" . mysql_real_escape_string ($file_paths) . "' WHERE `user_id` = " . (int)$user_id);

}

フォーム

<textarea name="last_name" placeholder="surname" class="name"><?php echo $user_data['last_name'] ?></textarea> <br>

<input class="proupload" type="file" name="profile"><input class="profilepicup" type="submit" value="Upload">

    <? if (isset($_FILES['profile']) === true){
     if (empty($_FILES['profile']['name'])=== true){
            echo "<p> please choose a file </p>";
     } else {
        $allowed = array('jpg','jpeg','gif','png');

        $file_name = $_FILES['profile']['name'];
        $file_extn = strtolower(end(explode('.', $file_name)));
        $file_temp = $_FILES['profile']['tmp_name'];

        if (in_array($file_extn, $allowed) === true) {
                change_profile_image($session_user_id, $file_temp, $file_extn );
        } else {
            echo '<p>Incorrect file type.</p>';

            }
            }
     }
 ?>



<form action= "portfolioupload.php" method ="post" enctype="multipart/form-data">

<input class="proupload" type="file" name="profile"><input class="profilepicup" type="submit" value="Upload">
    </form> 


        <?php if (isset($_FILES['profile']) === true){
     if (empty($_FILES['profile']['name'])=== true){
            echo "<p> please choose a file </p>";
     } else {
        $allowed = array('jpg','jpeg','gif','png');

        $file_name = $_FILES['profile']['name'];
        $file_extn = strtolower(end(explode('.', $file_name)));
        $file_temp = $_FILES['profile']['tmp_name'];

        if (in_array($file_extn, $allowed) === true) {
                portfolio_image($session_user_id, $file_temp, $file_extn );
        } else {
            echo '<p>Incorrect file type.</p>';

            }
            }
     }


?>

私はこれらのクエリを別々のページに配置しましたが、それらは php で動作し、mysql は 1 つのページで 2 つの画像のアップロードを処理したくないようです。これは、プロファイル アップロード ビットとポートフォリオ画像も必要であるため、面倒です。これは可能ですか、それとも各画像を別々のページにアップロードする必要がありますか :/

4

2 に答える 2