0

サーバーにもデータベースにもファイルをアップロードしようとしています。

ただし、アップロードできません。

以下のコードで 2 つのファイルを確認できます。

echo $_FILES['file']['name'][0];
echo $_FILES['file']['name'][1];


$fileName = $_FILES['file']['name'][0];
$add = "img01.imgsinemalar.com/images/haber_anasayfa/" . $fileName;

if (move_uploaded_file($_FILES[file_up][tmp_name], $add)) {
    NCore::db('NEWS')->insertAsArray(array('CONTENT' => $_POST['TvSpotdesc'], 'ADD_DATE' => $date, 'TITLE' => $_POST['newsTitle'],IMAGE_MAIN => $add))->execute();
    echo "Haber başarıyla gönderildi.";
} else {
    echo "Failed to upload file Contact Site admin to fix the problem";
}else {
    echo $msg;
}

しかし、上記のコードはファイルをアップロードせず、else ステートメントに直接移動します。なぜですか?

ファイルのアップロードに失敗しました サイト管理者に連絡して問題を解決してください

4

2 に答える 2

1

コードは、次の行から2つの通知と警告を出力する必要があります。

if (move_uploaded_file($_FILES[file_up][tmp_name], $add)) {

文書化file_upされているように、2つの通知は、引用していないtmp_nameためであり、理由を通知する警告move_uploaded_fileが失敗したためです。ログをチェックして、自分でこれらを確認する必要があります(エラーメッセージが表示されない開発は楽しいものではありません)。

失敗する理由は、ファイルをリモートサーバーに移動できないためです$add。これはローカルパスではありません。

于 2012-04-04T07:18:54.733 に答える
0

$_FILES[file_up][tmp_name]に名前を変更$_FILES['file']['tmp_name']

file_up貼り付けたコードのような変数はありません。また、ファイルは同じサーバーにのみ保存できます。/home/www/myapp/images/サーバー名の代わりに相対パスのように移動します。

于 2012-04-04T07:22:10.367 に答える