• UAH
  • USD
  • RUB
  • EUR
  • +38(044) 392-74-33  Киев
  • +38(057) 728-39-00  Харьков
  • +38(056) 794-38-31  Днепропетровск
  • +38(062) 210-24-93  Донецк
  • +38(032) 229-58-93  Львов
  • +38(048) 738-57-70  Одесса
  • +38(093) 449-04-21  Life
  • +38(067) 400-88-44  Киевстар
  • +38(095) 007-72-35  MTC
  • +1(888)393-24-51  USA, Toll free
  • +44(131)507-01-14  Great Britain
  • +7(499) 348-28-61  Москва

Хостинг. Не удаётся загрузить файл на сервер

Форумы Хостинг Не удаётся загрузить файл на сервер
tolik555.83
05.09.2011 23:46
хостинг: нет
домен: нет
Не удаётся загрузить файл на сервер
Помогите пожалуста!
Вот код php
<?php
// Загрузка файлов на сервер
// register_globals=Off

// Если upload файла
if(isset($_FILES["pricefile"]))
{
$myfile = $_FILES["pricefile"]["tmp_name"];
$myfile_name = $_FILES["pricefile"]["name"];
$myfile_size = $_FILES["pricefile"]["size"];
$myfile_type = $_FILES["pricefile"]["type"];
$error_flag = $_FILES["pricefile"]["error"];

// Если ошибок не было
if($error_flag == 0)
{
print("Имя файла на нашем сервере (во время запроса): ".$myfile."<br>");
print("Имя файла на компьютере пользователя: ".$myfile_name."<br>");
print("MIME-тип файла: ".$myfile_type."<br>");
print("Размер файла: ".$myfile_size."<br><br>");


// Получаем содержимое файла
$fp = fopen($myfile,"r");
$content = fread($fp, filesize($myfile));
fclose($fp);

// Вывод содержимого файла
print($content);
// Каталог, в который мы будем принимать файл:
$uploaddir = $_SERVER['DOCUMENT_ROOT'] .'/price/';
$uploadfile = $uploaddir.basename($_FILES['pricefile']['name']);
echo $uploadfile;
// Копируем файл из каталога для временного хранения файлов:
if (@move_uploaded_file($_FILES['uploadfile']['tmp_name'], $uploadfile))
{
echo "<h3>Файл успешно загружен на сервер</h3>";
}
else { echo "<h3>Ошибка! Не удалось загрузить файл на сервер!</h3>"; exit; }

} // end of if 2
} // end of if 1
?>
Всё время выдаёт "Ошибка! Не удалось загрузить файл на сервер!"
Сообщений об ошибках PHP никаких нет
Права доступа на папку 777
Илья
06.09.2011 13:43
хостинг: есть
домен: есть
1. У вас ошибка в коде. Строку
if (@move_uploaded_file($_FILES['uploadfile']['tmp_name'], $uploadfile))
необходимо заменить на
if (@move_uploaded_file($_FILES['pricefile']['tmp_name'], $uploadfile))

2. Для отладки PHP скриптов, рекомендую ставить в начале скрипта вывод ошибок:
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 1);
и убрать подавление ошибок со всех функций в виде префикса @. Тогда сразу видны все ошибки в скрипте.

3. Ставить права на директорию 777 не рекомендую. Так как у нас на хостинге каждый работает от имени отдельного пользователя, который независит от других.

4. Исходный код рабочего PHP скрипта:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// Загрузка файлов на сервер
// register_globals=Off

// Если upload файла
if(isset($_FILES["pricefile"]))
{
$myfile = $_FILES["pricefile"]["tmp_name"];
$myfile_name = $_FILES["pricefile"]["name"];
$myfile_size = $_FILES["pricefile"]["size"];
$myfile_type = $_FILES["pricefile"]["type"];
$error_flag = $_FILES["pricefile"]["error"];

// Если ошибок не было
if($error_flag == 0)
{
print("Имя файла на нашем сервере (во время запроса): ".$myfile."<br>");
print("Имя файла на компьютере пользователя: ".$myfile_name."<br>");
print("MIME-тип файла: ".$myfile_type."<br>");
print("Размер файла: ".$myfile_size."<br><br>");


// Получаем содержимое файла
$fp = fopen($myfile,"r");
$content = fread($fp, filesize($myfile));
fclose($fp);

// Вывод содержимого файла
// print($content);
// Каталог, в который мы будем принимать файл:
$uploaddir = $_SERVER['DOCUMENT_ROOT'] .'/price/';
$uploadfile = $uploaddir.basename($_FILES['pricefile']['name']);
if (!is_dir($uploaddir)) mkdir($uploaddir, 0750, true);
// echo $uploadfile;
// Копируем файл из каталога для временного хранения файлов:
move_uploaded_file($_FILES['uploadfile']['tmp_name'], $uploadfile);
if (@move_uploaded_file($_FILES['uploadfile']['tmp_name'], $uploadfile))
{
echo "<h3>Файл успешно загружен на сервер</h3>";
}
else { echo "<h3>Ошибка! Не удалось загрузить файл на сервер!</h3>"; exit; }

} // end of if 2
} // end of if 1
?>
<form action="/test.php" enctype="multipart/form-data" method="POST">
<input type="file" name="pricefile">
<input type="submit">
</form>
tolik555.83
06.09.2011 17:35
хостинг: нет
домен: нет
Дурень я невнимательный!!!)))
Илья,Огромное спасибо!!! Всё заработало, но, есть но... После отправки файла всё равно пишет "Ошибка! Не удалось загрузить файл на сервер!", исправил удалением строки "move_uploaded_file($_FILES['uploadfile']['tmp_name'], $uploadfile);" перед if
Илья
06.09.2011 19:30
хостинг: есть
домен: есть
Да, точно, извиняюсь, это я для отлидки в отдельную строку вынес функцию move_uploaded_file().
Участвовать в общении на этом форуме могут только
зарегистрированные пользователи.

Если вы уже зарегистрированы Вам необходимо войти на форум.

Тема закрыта по истечению срока давности.
Горячая линия
(044)
392 74 33
другие города