別の初心者の質問に戻ります。PHP を学ぶために作成しているブログに、ユーザーが自分のアバターをアップロードできるようにするドキュメントに取り組んでいます。私はこのドキュメントに 2 日間取り組んでおり、6 時間以上かけて検索し、さまざまなことを修正しようとしましたが、これを乗り越えることができません。
if(move_uploaded_file($_FILES['avatar']['name'], $target)){
//good message
echo "Your avatar was successfully uploaded.";
}else{
//bad message
echo "Your avatar couldnt be uploaded, please contact an admin.";
}
さまざまな解決策を約1時間試した後、最終的に「悪いメッセージ」を送信しますが、「悪いメッセージ」が表示される理由はよくわかりません。
完全なコード:
<?php
session_start();
if (isset($_SESSION['username'])){
if (isset($_POST['submit']) && isset($_FILES['avatar'])) {
$con = mysql_connect("localhost","root","");
if (!$con){
die('Could not connect: ' . mysql_error());
}
mysql_select_db('webserver', $con);
$username = $_SESSION['username'];
$query = "SELECT * FROM users WHERE username = '$username'";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
$id = $row['id'];
//Directory to save stuff
$target = "images/useravatars";
$target = $target . basename($_FILES['avatar']['tmp_name']);
//Save the avatar
if(move_uploaded_file($_FILES['avatar']['name'], $target)){
//good message
echo "Your avatar was successfully uploaded.";
}else{
//bad message
echo "Your avatar couldnt be uploaded, please contact an admin.";
}
}else{
echo "38";
}
}
?>
<form enctype="multipart/form-data" action='uploadavatar.php' method='POST'>
<table>
<tr>
<td>
Upload an avatar:
</td>
</tr>
<td>
<input type='file' name='avatar'>
</td>
</tr>
</table>
<p>
<input enctype='multipart/form-data' type='submit' name='submit' value='Submit'>
</p>
</form>
ところで、申し訳ありませんが、そこにはおそらく役に立たないコードがたくさんあります。エラーが発生するのに十分な距離まで取得するのに多くの時間を費やしました。