0

サーバー上でアプリケーションを作成しています。ユーザーは、HTML と JavaScript を組み合わせて画像をアップロードします。

ユーザーは、次の方法でコンピューター上の画像を見つけます。

<form action="uploadimage.php" method="post"
enctype="multipart/form-data">
<label for="file">Filnavn:</label>
<input type="file" name="file" id="file" value="100000" />

次に、JavaScriptの背後にあるポイントは、ユーザーの画像を検証することです

if(picture_headline.value == "" || picture_uploaded.value == "" || !ischecked)
{
   // Don't execute, stay on same site
}
else
{
   // execute php and upload image
}

php はアップロード画像の php スクリプトです

<?php 
// The file is being uploaded into the folder "upload"
$target = "/navnesutten.eu/facebook/uploads/"; 
// add the original filename of our target path
$target = $target . basename( $_FILES['uploaded']['name']) ; 
$ok=1; 
// Moves the uploaded file into correct folder
if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target)) 
{
echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded";
} 
else {
echo "Sorry, there was a problem uploading your file.";
}
?> 

私はここで少し混乱していると言わざるを得ません.html、php、およびjavascriptを数日間しか扱っていないからです。

私は完全にオフですか、それとも何ですか?

私はいくつかの「単純な」例をオンラインで見つけました。これは、cuteFTP を介してサーバーに配置しましたが、アップロードを押すたびに、Web サイトから .php ファイルに送られ、サイトが存在しないと表示されます。

4

2 に答える 2

1

Boannが指摘しているように、PHPコードに存在しないファイル(「file」(HTMLフォームでフィールドに名前を付けたもの)ではなく「uploaded」と「uploadedfile」)にアクセスしようとしています。

しかし、「JavaScriptからPHPを実行する」に関して:あなたはそうする必要はありません。JavaScriptは、フォームが無効な場合にのみfalseを返す必要があります。有効な場合は、何もする必要はなく、フォームが送信され、PHPスクリプトが実行されます。

form.onsubmit = function () {
    if (!formIsValid()) {
        return false;
    }
};

フォームが無効な場合は送信されません(ビット(代わりにreturn false使用できます))。有効な場合何も起こらず、フォームはその機能を実行します(つまり、サーバーにデータを送信します)。event.preventDefault()

于 2012-08-27T14:02:09.613 に答える
0

の各配列キーは、フォームのファイルフィールド$_FILESの属性に対応しているnameため、フォームに一致させるには、または:'file'ではなく、次のようにする必要があります。'uploaded''uploadedfile'

<?php 
// The file is being uploaded into the folder "upload"
$target = "/navnesutten.eu/facebook/uploads/"; 
// add the original filename of our target path
$target = $target . basename( $_FILES['file']['name'] ) ; 
$ok=1; 
// Moves the uploaded file into correct folder
if(move_uploaded_file($_FILES['file']['tmp_name'], $target)) 
{
echo "The file ". basename( $_FILES['file']['name']). " has been uploaded";
} 
else {
echo "Sorry, there was a problem uploading your file.";
}
于 2012-08-27T13:53:40.880 に答える