データベースにデータを入力して特定のディレクトリに画像をアップロードしようとしています。接続が失敗した場合、私のgetConnected()
関数はエラー処理が含まれているので、私は成功した私のデータベースに接続しているHow to store file name in database, with other info while uploading image to server using PHP?PHP画像アップロードスクリプトがアップロードされているが失敗していない
require($_SERVER['DOCUMENT_ROOT']."/settings/functions.php");
// This is the directory where images will be saved
$target = $_SERVER['DOCUMENT_ROOT']."/safetyarticles/images/";
$target = $target . basename($_FILES['article_img']['name']);
date_default_timezone_set("America/Chicago");
// This gets all the other information from the form
$article_name = $_POST['article_title'];
$article_date = date("m/d/Y");
$article_creator = $_POST['article_creator'];
$article_views = "0";
$article_content = $_POST['article_content'];
$article_content_2 = $_POST['article_content_2'];
$article_img = ($_FILES['article_img']['name']);
$article_credit = $_POST['article_credit'];
// Connect to database
$conn = getConnected("safetyArticles");
// moves the image
if(move_uploaded_file($_FILES['article_img']['tmp_name'], $target))
{
// if upload is a success query data into db
mysqli_query($conn, "INSERT INTO currentArticles (article_name, article_date, article_creator, article_content, article_content_2, article_img, article_credit)
VALUES ('$article_name', '$article_date', '$article_creator', '$article_views', '$article_content', '$article_content_2', '$article_img', '$article_credit')") ;
echo "The file ". basename($_FILES['article_img']['name']). " has been uploaded, and your information has been added to the directory";
}
else {
echo "Sorry, there was a problem uploading your file.";
}
:私はこの質問への答えを投票トップの修正版である以下のスクリプトを使用しています。
私はSorry, there was a problem uploading your file.
エラーがスクリプトの最後から引き続き発生します。
何か不足していますか?私がしたことは、ここでデータベースがどのように接続されるか、そして変数など、いくつかのマイナーラインを変更することでした。また、ファイルがアップロードされた場合にのみクエリが実行されるようにしました。
私は何が欠けているのか分かりません。
この現在のスクリプトを変更して、$article_name
の値にイメージの名前を変更することもできますか?たとえば、記事名が「This Is The Article」の場合、画像はthis-is-the-first-article.jpg
になりますか?
<form method="post" action="http://example.com/admin/articleCreate.php" enctype='multipart/form-data'>
<input type="text" name="article_title" placeholder="What Is The Name Of This Article?" id="article_title_input">
<textarea name="article_content" placeholder="Write The Top Half Of Your Article Here." id="article_content_input"></textarea>
<input type="file" name="article_img" placeholder="If The Article Has An Image, Upload It Here." id="article_img_input">
<textarea name="article_content_2" placeholder="Write The Bottom Half Of Your Article Here." id="article_content_2_input"></textarea>
<input type="text" name="article_creator" placeholder="Who Is Writing This Article?" id="article_creator_input">
<input type="text" name="article_credit" placeholder="If This Article Is Copied, What Website Was It Taken From?" id="article_credit_input">
<input type="submit" value="Submit">
</form>
そして私はvar_dump(is_uploaded_file($_FILES['article_img']['tmp_name']));
を行なったし、それがtrue
returnignです:
私のHTMLフォームがあります。
ディレクトリ/ safetyarticles/images /が存在し、スクリプトに書き込み権限がありますか? –
ディレクトリが存在し、 'safetyarticles'と' images'の両方に '777'パーミッションがあります。 –
何かに777パーミッションを与えるのは良い習慣ではありません –