2012-03-31 31 views
5

Tôi vừa tạo mã tải lên tệp và tôi đã tự hỏi tại sao tệp tải lên không hoạt động. Tôi đã thay đổi dir tải lên 0777. Đây là upload HTML code của tôi:PHP: Tải lên tệp move_uploaded_file() không hoạt động

<form action="upload_file.php" method="post" enctype="multipart/form-data"> 
<label for="file">Filename:</label> 
<input type="file" name="file" id="file" /> 
<br /> 
<input type="submit" name="submit" value="Submit" /> 
</form> 

Và PHP Code:

<?php 
if ($_FILES["file"]["error"] > 0){ 
echo "Error Code: " . $_FILES["file"]["error"] . "<br />"; 
} 
else 
{ 
echo "Uploaded file: " . $_FILES["file"]["name"] . "<br />"; 
echo "Type: " . $_FILES["file"]["type"] . "<br />"; 
echo "Size: " . ($_FILES["file"]["size"]/1024) . " kilobytes<br />"; 

if (file_exists("/files/".$_FILES["file"]["name"])) 
    { 
    echo $_FILES["file"]["name"] . " already exists. No joke-- this error is almost <i><b>impossible</b></i> to get. Try again, I bet 1 million dollars it won't ever happen again."; 
    } 
else 
    { 
    move_uploaded_file($_FILES["file"]["tmp_name"],"/filebro/".$_FILES["file"]["name"]); 
    echo "Done"; 
    } 
} 
?> 

Vì vậy, những gì có thể là vấn đề có thể được?

+0

Vui lòng xác định "không hoạt động". Bạn có nhận được thông báo lỗi nào không? Bạn có báo cáo lỗi không? – deceze

+0

Bạn có ý định sử dụng các đường dẫn của mình như các đường dẫn gốc thực sự trên máy chủ hay không hoặc các đường dẫn đó có liên quan đến gốc web của bạn không? – jprofitt

+0

bạn nên biết rằng ai đó có thể tải lên các tập tin .htaccess và làm rất nhiều điều thú vị với điều này –

Trả lời

11

Hãy thử

move_uploaded_file($_FILES["file"]["tmp_name"],"filebro/".$_FILES["file"]["name"]); 
+0

CẢM ƠN! Điều đó làm việc hoàn hảo. : D – SnarkyDTheman

+0

Bạn có thể đọc về đường dẫn tương đối và tuyệt đối. – segrived

+6

@SnarkyDTheman Nếu câu trả lời này giải quyết được vấn đề của bạn, bạn nên đánh dấu nó là chính xác ... –

0

bạn

if (file_exists("/files/".$_FILES["file"]["name"])) 

sẽ luôn luôn trả về false. Tệp được lưu với tên tạm thời của nó.

Hãy thử

if (is_uploaded_file($_FILES["file"]["tmp_name"])) 

để thay thế.

Các vấn đề liên quan