|
|
|
| Привет всем! У меня тут возникли проблемы с загрузкой на сервер вот код подскажите в чем проблема? Не знаю почему но сразу выводить else { echo "<h3>Ошибка! Не удалось загрузить файл на сервер!</h3>"; exit; }
<?php
// Каталог, в который мы будем принимать файл:
$uploaddir = 'media/';
$uploadfile = $uploaddir.basename($_FILES['fupload']['name']);
$url = $uploaddir.$_FILES['fupload']['name'];
// Копируем файл из каталога для временного хранения файлов:
if (copy($_FILES['fupload']['tmp_name'], $uploadfile))
{
$result = mysql_query("INSERT INTO media (title_ru,title_en,title_uz,url,korzina) VALUES ('$title_ru','$title_en', '$title_uz','$url','no')");
if ($result == true)
{
echo "<tr><td><p class='green_title'>Медиафайл загружен!</p></td>
</tr>";
}
else
{
echo "<tr><td><p class='error_text'>Медиафайл не загружен из-за проблемы в коде!</p></td>
</tr>";
}
}
else
{
echo "<h3>Ошибка! Не удалось загрузить файл на сервер!</h3>"; exit;
}
?>
|
| |
|
|
|
|
|
|
|
для: Я Чайник
(26.08.2010 в 00:06)
| | вместо copy() надо использовать move_uploaded_file(), Вы не делаете ни каких проверок, возможно из-за размера файла и происходит ошибка, проверте enctype формы, должен быть multipart/form/data | |
|
|
|
|
|
|
|
для: Slo_Nik
(26.08.2010 в 00:13)
| | У меня на форме стоить enctype='multipart/form-data' и файл я бросаю очень маленький 8кб :) ну новерно из-за copy() сейчас сделаю move_uploaded_file() | |
|
|
|
|
|
|
|
для: Я Чайник
(26.08.2010 в 00:18)
| | скопировать то скрипт скопирует, но как написал serenya1983 проверьте сам массив $_FILES и имя файла вместе с путём $uploadfile = $uploaddir.basename($_FILES['fupload']['name']); | |
|
|
|
|
|
|
|
для: Я Чайник
(26.08.2010 в 00:06)
| | для начала можно посмотреть, что есть в $_FILES?
так же могут возникнуть тут проблемы:
uploadfile = $uploaddir.basename($_FILES['fupload']['name']);
т.к., например, мой хостер не очень любит принимать файлы с русскими именами и разными символами в имени!
вместо copy использовать move_uploaded_file! | |
|
|
|
|
|
|
|
для: serenya1983
(26.08.2010 в 00:19)
| | Не знаю в чем проблема? Попробовал move_uploaded_file() все равно такая фигня! Да кстати у меня на локальном все нормально в хостинге проблемы! | |
|
|
|
|
|
|
|
для: serenya1983
(26.08.2010 в 00:19)
| | Попробовал загрузить файл без русский символов все равно не получаеться! | |
|
|
|
|
|
|
|
для: Я Чайник
(26.08.2010 в 00:26)
| |
<?php
print_r($_FILES);
?>
|
| |
|
|
|
|
|
|
|
для: mihdan
(26.08.2010 в 00:28)
| | И что это за код что он делаеть?
<?php
print_r($_FILES);
?>
|
| |
|
|
|
|
|
|
|
для: Я Чайник
(26.08.2010 в 00:30)
| | как то, тоже с хостером были проблемы, он посоветовал прописать:
в .htaccess
SecFilterEngine Off
SecFilterScanPOST Off
у меня всё заработало! | |
|
|
|
|
|
|
|
для: serenya1983
(26.08.2010 в 00:31)
| | а где он находиться этот .htaccess в корневой эго нету | |
|
|
|
|
|
|
|
для: Я Чайник
(26.08.2010 в 00:34)
| | если в конревой нету - создайте его! (в начале файла обязательно точка) | |
|
|
|
|
|
|
|
для: serenya1983
(26.08.2010 в 00:37)
| | :) а как создать-та эго? | |
|
|
|
|
|
|
|
для: Я Чайник
(26.08.2010 в 00:40)
| | надеюсь вы пошутили с вопросом как создать файл!!!
В Windows правой кнопкой "создать"!
Во всяких коммандерах F4
и т.п.
создайте его у себя и закачайте на хостинг!
и как уже многие советовали посмотрети что в $_FILES есть. | |
|
|
|
|
|
|
|
для: serenya1983
(26.08.2010 в 00:43)
| | Проста если я эго создаю с помощью блокнот .htaccess становиться .htaccess.txt | |
|
|
|
|
|
|
|
для: Я Чайник
(26.08.2010 в 00:56)
| | дак потом выйдите из блоконота и переименуйте файл убрав расширение! | |
|
|
|
|
|
|
|
для: serenya1983
(26.08.2010 в 00:58)
| | Я не могу это реализовать так как я не вижу .txt Windows не показывает у меня Я знал как это сделать в XP а вот в Windows 7 не знаю | |
|
|
|
|
|
|
|
для: Я Чайник
(26.08.2010 в 01:03)
| | откройте блокнот, нажмите "сохранить как...", введите имя ".htaccess", а в поле "тип файла" выбирите "все файлы". | |
|
|
|
|
|
|
|
для: serenya1983
(26.08.2010 в 00:43)
| | Вот что выходить Array ( [fupload] => Array ( [name] => asd.jpg [type] => image/jpeg [tmp_name] => /tmp/phpXVihzp [error] => 0 [size] => 7546 ) ) | |
|
|
|
|
|
|
|
для: Я Чайник
(26.08.2010 в 00:59)
| | с $_FILES вроде всё нормально! | |
|
|
|
|
|
|
|
для: serenya1983
(26.08.2010 в 01:02)
| | вот архив в нём файл
http://92.255.66.35/1.rar | |
|
|
|
|
|
|
|
для: serenya1983
(26.08.2010 в 01:08)
| | Дааа все равно .htaccess скопировал в корен сайта и все равно не получаеться | |
|
|
|
|
|
|
|
для: Я Чайник
(26.08.2010 в 01:23)
| | вопросы тогда к хостеру!!! | |
|
|
|
|
|
|
|
для: serenya1983
(26.08.2010 в 01:23)
| | ну скорее всего вы знаете этот хостинг я проста провераю сайт на бесплатном хостинге www.freewebhostingarea.com | |
|
|
|
|
|
|
|
для: Я Чайник
(26.08.2010 в 01:26)
| | с бесплатными не знаком!
Но могу предположить что у них запрещён upload файлов!!! | |
|
|
|
|
|
|
|
для: serenya1983
(26.08.2010 в 01:33)
| | посмотрите в phpinfo() разрешён ли upload. | |
|
|
|
|
|
|
|
для: Я Чайник
(26.08.2010 в 01:26)
| | воспользуйтесь функцией phpinfo(); , создайте файл, например test.php впишите туда
загрузите на хост и запустите этот скриптик. Вам покажет таблицу с настройками хостинга, найдите там file_uploads и посмотрите значение, если off , то " упс"
А скорей всего Вам надо ещё раз проверить и перепроверить свой скрипт загрузки файла
p.s. скопировал Ваш код, запустил и мне сразу выдало Ошибка! Не удалось загрузить файл на сервер!, я ни чего и не делал.
Если у Вас продолжается такая фигня, то проверяйте свой код, выставляйте eror_reporting(E_ALL); и смотрите, что Вам будет говорить php. | |
|
|
|
|
|
|
|
для: Slo_Nik
(26.08.2010 в 01:39)
| | на хосте не показывает инфо а на локальном все супер | |
|
|
|
|
|
|
|
для: Я Чайник
(26.08.2010 в 01:48)
| | что ж Вы внимательно не посмотрели на главной странице Вашего хостинга, там даже для удобства сделана ссылка, что бы не лепить файл с единственной функцией phpinfo() :):):)
Внимательно смотрите, на главной всё расписано, что есть и чего нет на хостинге. Если у Вас такое же знание английского, как и у меня, то есть "0", есть онлайн переводчики.
Значит повторюсь.
В Вашем скрипте(если в Вашей схеме не один файл, то в каждом) самой первой строчкой должно быть error_reporting(E_ALL);, вписываете, смотрите предупреждения/ошибки на локальном, всё исправляете, потом грузите на хостинг и пытаетесь запустить там скрипт. Права доступа на каталог, в который Вы будете грузить файлы выставьте 777, то есть полный доступ.
Для удобства, на локальном можно выводить в браузер все переменные, которые Вы формируете в процессе обработки Ваших файлов. | |
|
|
|
|
|
|
|
для: Slo_Nik
(26.08.2010 в 07:55)
| | Добрый день! file_uploads на хостинге стоит on | |
|
|
|
|
|
|
|
для: Я Чайник
(26.08.2010 в 13:53)
| | а что со скриптом, проверили, перепроверили, идёт загрузка файла на сервер? | |
|
|
|
|
|
|
|
для: Slo_Nik
(26.08.2010 в 13:59)
| | Выходить вот такая фигня:
Warning: move_uploaded_file(media/Direktor.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/vhosts/college.freetzi.com/admin/add_media.php on line 143
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpkvXfWn' to 'media/Direktor.jpg' in /home/vhosts/college.freetzi.com/admin/add_media.php on line 143
143 строка:
if (move_uploaded_file($_FILES['fupload']['tmp_name'], $uploadfile))
{
|
| |
|
|
|
|
|
|
|
для: Я Чайник
(26.08.2010 в 14:44)
| | У Вас не достаточно прав для записи в указаный каталог, установите права на каталог 777(полный доступ), я уже Вам писал об этом, и будет Вам счастье.
Установить права доступа можно через total commander или панель управления Вашим хостингом | |
|
|
|
|
|
|
|
для: Slo_Nik
(26.08.2010 в 14:48)
| | А Как установить права на доступ можно както поконкретнее с Total Comandera. Помогите с этой задачи | |
|
|
|
|
|
|
|
для: Я Чайник
(26.08.2010 в 15:11)
| | Правой кнопкой на папку/файл -> файл -> изменить атрибуты -> 777 (666 - для файлов). Или просто правой кнопкой -> атрибуты.
Это вы поставили полный доступ к файлу/папке. | |
|
|
|
|
|
|
|
для: Я Чайник
(26.08.2010 в 14:44)
| | Мне кажется, или у вас указанной папке в скрипте не существует? | |
|
|
|
|
|
|
|
для: lElectroHardl
(26.08.2010 в 14:49)
| | Нет папка сушествуеть! | |
|
|
|
|
|
|
|
для: lElectroHardl
(26.08.2010 в 14:49)
| | Всё файл загружается но вот я хочу чтоб он загружал не в папку где находиться этот файл php а в корневую папку media сейчас объясню: у меня в корне сайта лежит папки admin, ru, en, media. И вот в папке admin валяться файл add_media.php он должен загружать файл не в папку admin а в папку который находиться в корне сайта media. Как это реализовать? | |
|
|
|
|
|
|
|
для: Я Чайник
(26.08.2010 в 16:26)
| | измените пути к каталогу media в переменной $uploaddir относительно корня сайта так, как Вам надо. | |
|
|
|
|
|
|
|
для: Slo_Nik
(26.08.2010 в 16:54)
| | Я знаю что надо изменить в $uploaddir = 'media/'; но как задать путь чтобы не загружал в эту папку а в корневую сайта прочитайте мое предедушшие сообщение помогите очень надо а-то уже голова болит докончит надо админку сайта а вот знание не хватает | |
|
|
|
|
|
|
|
для: Я Чайник
(26.08.2010 в 23:21)
| | [поправлено модератором] | |
|
|
|
|
|
|
|
для: Slo_Nik
(26.08.2010 в 23:39)
| | Большое спасибо всем! | |
|
|
|
|
|
|
|
для: Я Чайник
(26.08.2010 в 00:59)
| | если на локальном грузит, а на хосте нет, то возможно проблема в правах на каталог, в который Вы грузите.
В самом начале скрипта выставьте уровень ошибок
<?php
error_reporting(E_ALL);
// тут продолжение Вашего скрипта
?>
|
| |
|
|
|
|
|
|
|
для: Я Чайник
(26.08.2010 в 00:30)
| | функция print_r() выводит всего лишь дамп массива $_FILES, а в этом массиве Вы увидите, что приходит из формы после отправки, все данные о файле. Обратите внимание на $_FILES['userfile']['error'] | |
|
|
|