2012-04-12 6 views
0

У меня есть папка, известная как «Mobile_App», и в этой папке находится html-страница, содержащая входной файл, php-скрипт, который загружает файлы, и папку, известную как «ImageFiles».Правильно ли этот сценарий загрузки?

Проблема в том, что файлы не загружаются в «ImageFiles». Что я хочу знать, так это то, что код ниже правилен, когда дело доходит до загрузки файла в папку «Imagefiles», или это неверно, и как я могу заставить его работать правильно?

Ниже PHP скрипт, который загружает файл (входной файл известен как «fileImage»):

<?php 

    $destination_path = $_SERVER['DOCUMENT_ROOT']."/ImageFiles"; 

    $result = 0; 

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

    if(move_uploaded_file($_FILES['fileImage']['tmp_name'], $target_path)) { 
     $result = 1; 
    } 

    sleep(1); 

?> 
+0

Так что же происходит, когда вы запускаете скрипт? – acrosman

+0

Когда я запускаю скрипт, он просто появляется с пустой страницей – user1324106

+0

Вы пробовали 'error_reporting()'? –

ответ

0

Прежде всего, у вас нет / между именем папки и именем файла. Во-вторых, вам не нужно иметь корневой каталог. Исправленный код:

<?php 

    $destination_path = "/ImageFiles"; 

    $result = 0; 

    $target_path = $destination_path . "/" . basename($_FILES['fileImage']['name']); 

    if(move_uploaded_file($_FILES['fileImage']['tmp_name'], $target_path)) { 
     $result = 1; 
    } 

    sleep(1); 

?> 
-1

No. Вы не проверили на всех, если загрузка успешна или неудачна. Вы также не проверяете конфликты имен файлов, и ваш сценарий будет перезаписывать любой существующий файл новым.

<?php 

if ($_FILES['fileImage']['error'] !== UPLOAD_ERR_OK) { 
    die("Upload failed with error code " . $_FILES['fileImage']['error']); 
} 

... 
$target_path = etc... 
... 
if (file_exists($target_path)) { 
    die("$target_path exists already"); 
} 
// got here, must be ok to proceed 
if (move_uploaded_file(....)) { 
etc... 

Код ошибки загрузки defined here.

Смежные вопросы