わかりました、サイトの関数ファイルにこれらの 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 つの画像のアップロードを処理したくないようです。これは、プロファイル アップロード ビットとポートフォリオ画像も必要であるため、面倒です。これは可能ですか、それとも各画像を別々のページにアップロードする必要がありますか :/