Акция!  Домен 34 грн, домен 55 грн, домен  - 200 грн домен  - 65 грн, домен  - 99 грн, домен  - 56 грн!, домен  - 425 грн!
Мы используем cookie-файлы
Для оптимизации работы нашего сайта мы используем cookie-файлы. Продолжая использовать сайт, Вы соглашаетесь с использованием cookie-файлов.
  • RUB
  • USD
  • EUR
  • UAH
Чат техподдержки
Вы являетесь клиентом?
  • +38(044) 392-74-33  Киев
  • +38(057) 728-39-00  Харьков
  • +38(056) 794-38-31  Днепр
  • +38(032) 229-58-93  Львов
  • +38(048) 738-57-70  Одесса
  • +38(093) 170-15-42  Life
  • +38(067) 400-88-44  Киевстар
  • +38(095) 630-90-82  MTC
  • +1(888)393-24-51  USA, Toll free
  • +44(131)507-01-14  Great Britain
  • +7(499) 348-28-61  Москва

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

Форумы Хостинг Не удаётся загрузить файл на сервер
tolik555.83
8 лет
хостинг: нет
домен: нет
Не удаётся загрузить файл на сервер
Помогите пожалуста!
Вот код 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
Илья
8 лет
хостинг: есть
домен: есть
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
8 лет
хостинг: нет
домен: нет
Дурень я невнимательный!!!)))
Илья,Огромное спасибо!!! Всё заработало, но, есть но... После отправки файла всё равно пишет "Ошибка! Не удалось загрузить файл на сервер!", исправил удалением строки "move_uploaded_file($_FILES['uploadfile']['tmp_name'], $uploadfile);" перед if
Илья
8 лет
хостинг: есть
домен: есть
Да, точно, извиняюсь, это я для отлидки в отдельную строку вынес функцию move_uploaded_file().
Участвовать в общении на этом форуме могут только
зарегистрированные пользователи.

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

Тема закрыта по истечению срока давности.