簡體   English   中英

為什么我的文件上傳腳本不起作用?

[英]why doesn't my file upload script work?

你看到這里有什么問題嗎? 我什么都找不到。

打印:

echo $_FILES["new_text_file"]["name"];

這也是:

echo $_FILES["new_text_file"]["tmp_name"];

PHP:
“; echo $ _FILES [” new_text_file“] [” tmp_name“]; //將文本文件上傳到服務器

        if(move_uploaded_file($_FILES["new_text_file"]["tmp_name"]), $_FILES["new_text_file"]["name"]) 
        {
            //header('Location: ga-dev-exercise-pavan.php');
            echo 'worked';
        }else {
            echo 'did not work';
        }
}
?>

HTML:

    <form enctype="multipart/form-data" action="ga-dev-exercise-pavan.php" method="POST">
        Choose a text file you want to upload and search through: 
        <input type='file' name='new_text_file'>

        <input type="hidden" name="submit_yes_file" value="true" />
        <br /><br />
        <input type="submit" value="upload">
    </form>

您應該指定目標路徑

$target_path = "uploads/";

$target_path = $target_path . basename( $_FILES['uploadedfile']['name']); 

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
    echo "The file ".  basename( $_FILES['uploadedfile']['name']). 
    " has been uploaded";
} else{
    echo "There was an error uploading the file, please try again!";
}

http://www.tizag.com/phpT/fileupload.php

編輯:如注釋中所述,括號放錯了位置:

錯誤的:

if(move_uploaded_file($ _ FILES [“ new_text_file”] [“ tmp_name”]),$ _FILES [“ new_text_file”] [“ name”])

正確

if(move_uploaded_file($ _ FILES [“ new_text_file”] [“ tmp_name”],$ _FILES [“ new_text_file”] [“ name”]))

您不會自動被允許將上載的文件移動到任何地方。 您需要將其移動到您的PHP腳本具有寫權限的位置。

所以例如

$src = $_FILES["new_text_file"]["tmp_name"];
$dst = './tmp_dir/'.basename($_FILES["new_text_file"]["name"]);

if (move_uploaded_file($src, $dst))
{

basename可以防止用戶指定惡意文件路徑(對重復的文件名不執行任何操作), tmp_dir是您可以寫入的目錄。

使用$src$dst清除了一些代碼,讓我看到您的示例中有一個額外的括號...

括號不對了。 應該是這樣的:

if(move_uploaded_file($_FILES["new_text_file"]["tmp_name"], $_FILES["new_text_file"]["name"])) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM