загрузка файла на сервер заняла время - PullRequest
2 голосов
/ 08 июля 2010

Я попытался загрузить изображение, используя localhost, и оно было загружено мгновенно, однако, когда я попытался загрузить мой веб-хостинг, понадобилось более 5 минут, чтобы файл появился в папке "_uploads".

Кто-нибудь сталкивался ста же проблема?Учитывает ли AV задержку сканирования?

<?php
$hasError = false;foreach( $_FILES as $i=>$file ){
    if ( $file['error'] ){
        $hasError = true;
    }
}
if ( ! $hasError ){
    $filename = '_uploads/'.$_GET["key"].'_'.$file["name"];
    $myFilePath = '_uploads/'.$_GET["key"].'_'.$file["name"];
    $dta = file_get_contents($file['tmp_name']);
    file_put_contents($myFilePath, $dta);
    echo('success');
} else {
    echo('Image was not successfully upload.');
}
?>

Ответы [ 2 ]

1 голос
/ 08 июля 2010

Взгляните на этот урок: http://www.w3schools.com/PHP/php_file_upload.asp

Используется метод move_uploaded_file , ниже которого, я думаю, есть более эффективный способ перемещения файла, чем file_get_contents и file_put_contents

move_uploaded_file($_FILES["file"]["tmp_name"],
  "upload/" . $_FILES["file"]["name"]);

Если вы еще не проверяли, убедитесь, что загруженные файлы действительны, проверив там тип mime и тип расширения.

Вот ссылка на ссылку на PHP: http://php.net/manual/en/function.move-uploaded-file.php

0 голосов
/ 08 июля 2010

Зависит от размера файла.

На локальном хосте файл не может быть передан через Интернет.

Какой размер файла?

Вы также можете проверить move_uploaded_file вместо file_put_contents

http://php.net/manual/en/function.move-uploaded-file.php

<?php
$uploads_dir = '/uploads';
foreach ($_FILES["pictures"]["error"] as $key => $error) {
    if ($error == UPLOAD_ERR_OK) {
        $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
        $name = $_FILES["pictures"]["name"][$key];
        move_uploaded_file($tmp_name, "$uploads_dir/$name");
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...