2017-02-07 8 views
0

以前に作成されたサーバー上のディレクトリに移動するイメージファイルをアップロードするための単純なWebページを作成する必要があります。ファイルはPHP経由でアップロードされません

ここでindex.phpファイルのコードです:ここではupload.phpのコードです

<!DOCTYPE html> 
<html> 
<body> 

<form action="upload.php" method="post" enctype="multipart/form-data"> 
    Select image to upload: 
    <input type="file" name="fileToUpload" id="fileToUpload"> 
    <input type="submit" value="Upload Image" name="submit"> 
</form> 

</body> 
</html> 

<?php 
$target_dir = "uploads/"; 
$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 "File is an image - " . $check["mime"] . "."; 
     $uploadOk = 1; 
    } else { 
     echo "File is not an image."; 
     $uploadOk = 0; 
    } 
} 
?> 

コードは(支払わない無料ホスティングサーバー上でホストされているが、私は両方のスクリプトが置かれている同じサブディレクトリに「uploads」というディレクトリを作成しました。 PHP設定でアップロードが有効になっているようです。 index.phpがうまく表示され、画像を選択してアップロードをクリックすると、1秒間ロードされ、 'ファイルは画像 - 画像/ gifです。'というメッセージが表示されます。 しかし、私がアップロードディレクトリに行ったとき、そこには一つのファイルがありません。

何が問題になりますか?前もって感謝します。

+0

を削除されるようにするには、一時ファイルをアップロードした後、サーバーにファイルを移動していませんか?ファイルの拡張子をチェックしているだけです! –

+0

どの時点でファイルを移動/コピーしていますか?これは役に立つはずですhttp://php.net/manual/en/features.file-upload.post-method.php – xlordt

+0

@Arsalan Mithani彼はファイルをアップロードするときにファイルをアップロードしていますが、 move_uploaded_file'関数は、ページが送信された直後に期限切れになるため、一時ファイルがサーバーから削除されています。 – Kaboom

答えて

4

それがコードをアップロードしている

if ($uploadOk == 0) { 
    echo "Sorry, your file was not uploaded."; 
// if everything is ok, try to upload file 
} else { 
    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { 
     echo "The file ". basename($_FILES["fileToUpload"]["name"]). " has been uploaded."; 
    } else { 
     echo "Sorry, there was an error uploading your file."; 
    } 
} 
+0

ありがとう!出来た。 – mynex

+0

許可されているファイルタイプの配列でファイル拡張子チェックを使用して、サーバー上で望ましくないものをアップロードしないようにすることもできます。例えば。あなたのサイトやディレクトリ全体をワイプするPHPスクリプト。ちょうど頭を上げる:) – Kaboom

+0

チュートリアル私はまたそれをカバーしているので、心配はありません:)警告のおかげで! – mynex

関連する問題