2016-10-03 5 views
0

PHPを使用してそれぞれのフォルダに画像をアップロードしようとしています。 。完全に6つのフォルダと2つのフォルダにはサブフォルダがあります。フォーム内のフォルダとサブフォルダのリストを含むドロップダウンを作成し、特定のフォルダを選択すると、選択したフォルダに画像をアップロードすることができます。しかし、サブフォルダを選択すると、イメージはアップロードされません。サブフォルダに画像をアップロードできません

以下は、アップロード用のコードです。ドロップダウン(htmlを使用するフォルダとサブフォルダ)の場合はhere is the linkです。

if(isset($_POST["submit"])) { 

$target_dir = "images/website/". $_POST["path"]."/"; 
} 
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); 
$uploadOk = 1; 
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION); 
// Check if image file is a actual image or fake image 
if(isset($_POST["submit"])) { 
$check = @getimagesize($_FILES["fileToUpload"]["tmp_name"]); 
if($check !== false) { 
    echo '<script language="javascript">'; 
    echo 'alert("File is an image - " . $check["mime"] . ".")'; 
    echo '</script>'; 
    $uploadOk = 1; 
} else { 
    echo "File is not an image."; 
    $uploadOk = 0; 
} 
} 
// Check if file already exists 
if (file_exists($target_file)) { 
echo ("<SCRIPT LANGUAGE='JavaScript'> 
window.alert('Sorry ! Image already exists!') 
window.location.href='upload.php'; 
</SCRIPT>"); 
$uploadOk = 0; 
} 
// Check file size 
if ($_FILES["fileToUpload"]["size"] > 5000000) { 
echo ("<SCRIPT LANGUAGE='JavaScript'> 
window.alert('Sorry ! Image file size is too large.') 
window.location.href='upload.php'; 
</SCRIPT>"); 
$uploadOk = 0; 
} 
// Allow certain file formats 
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" 
&& $imageFileType != "gif" && $imageFileType != "JPG" && $imageFileType != "PNG" && $imageFileType != "JPEG" && $imageFileType != "GIF") { 
echo ("<SCRIPT LANGUAGE='JavaScript'> 
window.alert('Sorry ! only JPG, JPEG, PNG & GIF files are allowed') 
window.location.href='upload.php'; 
</SCRIPT>"); 
echo "."; 
$uploadOk = 0; 
} 
// Check if $uploadOk is set to 0 by an error 
if ($uploadOk == 0) { 
echo ("<SCRIPT LANGUAGE='JavaScript'> 
window.alert('Sorry ! Image was not uploaded') 
window.location.href='upload.php'; 
</SCRIPT>"); 
// if everything is ok, try to upload file 
} else { 
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { 
    // echo '<script language="javascript">'; 
    // echo 'alert("Image has been uploaded successfully!")'; 
    // echo '</script>'; 
echo ("<SCRIPT LANGUAGE='JavaScript'> 
window.alert('Congrats ! Image has been successfully uploaded.') 
window.location.href='upload.php'; 
</SCRIPT>"); 

    //header("Location:upload.php") ; 
    // echo "The file ". basename($_FILES["fileToUpload"]["name"]). " has been uploaded."; 
    } else { 
    echo ("<SCRIPT LANGUAGE='JavaScript'> 
    window.alert('Oops Sorry ! There was some error.') 
    window.location.href='upload.php'; 
    </SCRIPT>"); 

    // echo "Sorry, there was an error uploading your file."; 
    } 
    } 
    ?> 
+0

'$ target_dir ="/images/website/"で試してください。 – devpro

+0

私はすでにこのコードを使用しています – HebleV

+0

@devpro 2つの異なるパス、1つはフォルダ用、もう1つはサブフォルダ用に条件を使用する必要があるかどうかはわかりません。 – HebleV

答えて

0

ディレクトリとサブディレクトリをサブディレクトリ内のファイルのアップロードを制限する.htaccessファイルに設定された無規制の選択肢がないことを確認し、そのパス

上のファイルアップロードを実行するために適切なファイルのアクセス権を持っていることを確認してください。

+0

コードを読み、適切な回答を提示してください。私が必要とするのは、さまざまな選択のために異なるパスを選択する条件です。 – HebleV

関連する問題