私のサーバーのディレクトリに以下のコードで画像をアップロードしようとしました。アップロードしたファイルを移動するときのエラー
警告: move_uploaded_file(画像/)[function.moveアップロードファイル]:しかし、私はそれを実行したとき、私はこのエラーを取得するストリームをオープンに失敗しました:/ホーム/ a2943534/public_htmlのディレクトリですライン上/add.php 24
警告: move_uploaded_file()[function.moveアップロードファイル]:/ホーム/ a2943534/public_htmlの/の '画像/' に '/ tmpに/ php7yEkDe' を移動できませんadd.php on line 24
私はここで何が欠けていますか?
私はあなたが タイトルが$ _FILES [ '写真']内に存在していないため
$target = $target . basename($_FILES['photo']['name']);
これでなければなりません
$target = $target . basename($_FILES['photo']['title']);
でミスを犯すと思う
<?php
include_once("connect.php");
?>
<?php
//This is the directory where images will be saved
$target = "images/";
$target = $target . basename($_FILES['photo']['title']);
//This gets all the other information from the form
$title=$_POST['title'];
$name=$_POST['name'];
$describe=$_POST['describe'];
$pic=($_FILES['photo']['title']);
$url=$_POST['url'];
$country=$_POST['country'];
$endDate=$_POST['endDate'];
//Writes the information to the database
mysql_query("INSERT INTO `authors` VALUES ('$title', '$name', '$describe', '$pic', '$url', '$country', '$endDate')") ;
//Writes the photo to the server
if(move_uploaded_file($_FILES['photo']['tmp_name'], $target))
{
//Tells you if its all ok
$result = "The file ". basename($_FILES['uploadedfile']['name']). " has been uploaded, and your information has been added to the directory";
}
else {
//Gives and error if its not
$result = "Sorry, there was a problem uploading your file.";
}
?>
<?php
// if the form has been submitted, display result
if (isset($result)) {
echo "<p><strong>$result</strong></p>";
}
?>
'images'ディレクトリが本当に存在することを確認してください。 –
また、 'images'ディレクトリに書き込み権限があることを確認してください。 – JRSofty
始めにあなたは墨塗りを欠いており、結果として任意のファイル書き込みの脆弱性が生じます。 http://stackoverflow.com/questions/1911382/sanitize-file-path-in-php – Polynomial