2011-07-13 17 views
0

私は簡単なファイルアップロード機能を構築しています。アップロードされたファイルは "uploads"フォルダに移動/保存する必要があります。しかし、彼らはフォルダーに行かない。どんな助け?PHPファイルアップロード

<?php 

include("connect.php"); 
$file_name = trim($_POST['file_name']); 
$file_size = $_FILES['size']; 
$file_type = $_FILES['type']; 
$description = trim($_POST['description']); 
$date_entered = trim($_POST['date_entered']); 

$query = "INSERT INTO uploads (id, file_name, file_size, file_type, description, date_entered) 
VALUES ('', '$file_name', '$file_size', '$file_type', '$description', '$date_entered')"; 
$results = mysql_query($query); 

if ($results) 
{ 
    echo "Details added."; 

    move_uploaded_file($_FILES[$file_name]['tmp_name'], "uploads/$id"); 
} 

mysql_close(); 
?> 
+0

適切な書式設定と適切な書式設定されたコードを使用してください。構文ハイライトを使用しない、またはすべてのコードを同じ行に置くと、人々はあなたを助けずに傷つけたいと思っています。 – AlicanC

+0

PHPエラーが発生しますか?ありがとう。 –

答えて

1

変更し、これにmove_uploaded_fileコール:

move_uploaded_file($_FILES['file_name']['tmp_name'], "uploads/$id"); 

またuploads/フォルダはWebサーバのユーザが書き込み可能であることを確認してください以下

は、コードがあります。これは通常、SSHまたはFTPでchmodを使用してパーミッションを0777に設定することによって行われます。

+0

私はちょうどそれをしました。 「アップロード/フォルダがWebサーバーユーザーによって書き込み可能であることを確認する」とはどういう意味ですか? – dcck

+0

PHPは、Webサーバーと同じユーザー、または少なくとも自分以外のユーザーとして実行されることがよくあります。したがって、FTPプログラムを使用して特定の書き込み許可を与える必要があります。独自のサーバーをお持ちの場合は、SSH経由でchmodコマンドを使用してください。 FTPアクセス(例:共有ホスティング)のみがある場合は、FTPプログラム内のフォルダを右クリックし、プロパティまたは同様のオプションを選択して、権限タブを探します。 「everyone」または「other」書き込み許可を与えます。共有ホスティングを利用している場合は、これを行う方法が不明な場合はサポートにお問い合わせください。 –

0

アップロードフォルダはどのフォルダですか?私はそれが[コードフォルダ] /アップロードだと思いますが、あなたは決して知りません。そうでなければ、クエリは例外をスローしていますか?または偽を返しますか? 「詳細が追加されました」が印刷されますか?気にいら/ディレクトリ/ file.phpのdoesnt呼ば

0

あなたのウェブサイトでスクリプトを実行しているという理由だけでは、「アップロード」は何か/ディレクトリ/アップロードとして見られることを確認/ ..

また、上の権限を確認しますディレクトリ。

アップロードしたファイル名ではなく別の名前としてfilenameを設定していますか?これはあなたのフォームにありますか(あなたは私たちがチェックするためのフォームを含んでいませんでした)

私はどこにでも$ idを設定していませんか?

SQLは機能していますか? move_uploaded_fileはtrue/falseを返します。移動が成功したことを確認していません。

+0

こんにちは、バグファインダー。ここにコード: – dcck

+0

私に許してください、私は追加のコードが表示されません – BugFinder

関連する問題