|
|
|
| Здраствуйте!
Я скачал Ваш скрипт загрузки файлов на сервер, а он не работает.
у меня рхр не понимает что такое
$_FILES['myfile']['name']
|
Как настроить рхр, чтобы он понимал этот масив.?
Если делать через $_POST, тоисть:
то скрипт не хочет копировать файл, так как не знает его местонахождение.
В общем строка:
передает только имя файла, а должна передавать //путь/имя файла/ на клиентской машине.
Помогите please.
Заранее спасибо. | |
|
|
|
|
|
|
|
для: anderles
(02.02.2009 в 14:17)
| | кто такой рхр?
И как настроить, чтоб я понимал, кто это?
касательно $_FILES, имеет смысл вывести весь массив через print_r()
Картина прояснится. | |
|
|
|
|
|
|
|
для: Trianon
(02.02.2009 в 14:23)
| | Извините рхр - это php | |
|
|
|
|
|
|
|
для: anderles
(02.02.2009 в 14:29)
| | Ничего не проясняется пишу print_r($FILES['myfile']['name']); или print_r($FILES['myfile']['tmp_name']); и ничего даже не реагирует. | |
|
|
|
|
|
|
|
для: anderles
(02.02.2009 в 14:38)
| | я же сказал - весь массив:
print_r($_FILES); | |
|
|
|
|
|
|
|
для: Trianon
(02.02.2009 в 14:39)
| | И че? виведет Array() | |
|
|
|
|
|
|
|
для: anderles
(02.02.2009 в 14:41)
| | ошибки в форме, с которой идет загрузка. | |
|
|
|
|
|
|
|
для: Trianon
(02.02.2009 в 14:42)
| | По моему там все норм.
Форма:
<form action="index.php" method="post" enctype="multipart/form-data">
<input type="file" name="filename"><br>
<input type="submit" value="Загрузить"><br>
</form>
|
Скрипт в том же файле:
<?php
echo "Результат загрузки файла";
print_r($_FILES); // только что добавлена строка
if($_FILES['filename']['size'] > 1024*3*1024)
{
echo ("Размер файла превышает три мегабайта");
exit;
}
if(move_uploaded_file($_FILES['filename']['tmp_name'], "C://temp/".$_FILES['filename']['name']))
{
echo("Файл успешно загружен <br>");
echo("Характеристики файла: <br>");
echo("Имя файла: ");
echo($_FILES['filename']['name']);
echo("<br>Размер файла: ");
echo($_FILES['filename']['size']);
echo("<br>Каталог для загрузки: ");
echo($_FILES['filename']['tmp_name']);
echo("<br>Тип файла: ");
echo($_FILES['filename']['type']);
} else {
echo("Ошибка загрузки файла");
}
?>
|
| |
|
|
|
|
|
|
|
для: anderles
(02.02.2009 в 14:45)
| | Это с чего вдруг так:
C://temp/
От куда два слеша в пути? Что у вас за сервер? Какие выдает ошибки? Сдается мне, что у вас не настроен он. | |
|
|
|
|
|
|
|
для: sim5
(02.02.2009 в 14:56)
| | Да. Если такое и в php-конфиге стоит, вполне может оказаться причиной. | |
|
|
|
|
|
|
|
для: anderles
(02.02.2009 в 14:41)
| | это еще при выводе формы или уже после передачи файла? | |
|
|
|
|
|
|
|
для: Trianon
(02.02.2009 в 14:53)
| | это при передаче.
А как должно быть???
Я вначале писал C:\temp\.
Да все равно файла то нет.
И как мне вывести имя файла в браузер(имя и путь на клиентской машине) | |
|
|
|
|
|
|
|
для: anderles
(02.02.2009 в 19:02)
| | какая версия php стоит?
Должно быть c:/temp | |
|
|
|
|
|
|
|
для: Trianon
(02.02.2009 в 19:04)
| | Версия 5.2.6
Вот код
if(move_uploaded_file($_FILES['filename']['tmp_name'], "c:/temp".$_FILES['filename']['name']))
{
echo("Файл успешно загружен <br>");
echo("Характеристики файла: <br>");
echo("Имя файла: ");
echo($_FILES['filename']['name']);
echo("<br>Размер файла: ");
echo($_FILES['filename']['size']);
echo("<br>Каталог для загрузки: ");
echo($_FILES['filename']['tmp_name']);
echo("<br>Тип файла: ");
echo($_FILES['filename']['type']);
} else {
echo("Ошибка загрузки файла");
}
|
Выдает Ошибка загрузки файла. | |
|
|
|
|
|
|
|
для: anderles
(02.02.2009 в 19:10)
| | еще раз .
Начинать следует не с move_uploaded_file
а с проверки $_FILES['filename']['error']
Если там значение отличное от нуля - перемещать файл бессмысленно.
а версия apache какая? | |
|
|
|
|
|
|
|
для: Trianon
(02.02.2009 в 19:14)
| | Версия Apache 2.2.10 | |
|
|
|
|
|
|
|
для: Trianon
(02.02.2009 в 19:04)
| | Может php не настроен?
register_global выключены
А че там еще может быть не знаю. | |
|
|
|
|
|
|
|
для: Trianon
(02.02.2009 в 19:04)
| | Хорошо пойдем иным путем.
Подскажите, есть ли какая-то функция которая выводит путь к вибираемому файлу???
То исть форма таже:
<form action="index.php" method="post" enctype="multipart/form-data">
<input type="file" name="filename"><br>
<input type="submit" value="Загрузить"><br>
</form>
|
как я могу узнать Полный путь к файлу, тоисть например: D://путь к/ выбраному файлу/
пхп может мне такое выдать.??? | |
|
|
|
|
|
|
|
для: anderles
(02.02.2009 в 19:21)
| | Вся информация лежит в массиве $_FILES . Собственно, больше её нет нигде.
Ну в phpinfo() разве что глянуть...
И я сталкивался с ситуацией, когда этот массив не формировался, один единственный раз.
когда запуск скрипта шел на встроенном http-сервере одного из php-редакторов. | |
|
|
|
|
|
|
|
для: Trianon
(02.02.2009 в 19:26)
| | Ну да мне тоже кажется что на формируется масив $_FILES. и чего теперь делать???
Может где то в php-настройках есть что можно формировать или наоборот.
Дело в том что у меня привязка идет через ZEND Studio. Тоисть Zend Core, и апач их же. Может там где-то в настройках.
Кто нибудь знает где ето может быть??? | |
|
|
|
|
|
|
|
для: Trianon
(02.02.2009 в 19:26)
| | Всем спасибо и особенно Вам Trianon, навели на путь истинный.
Я ду...ак(извините за выражение) поставил в настройках
круто да???:)))
Ваш скрипт рабочий, а то уже грешил.
Большое Спасибо. | |
|
|
|
|
|
|
|
для: anderles
(02.02.2009 в 19:50)
| | D://путь к/ выбраному файлу/
Не может быть такого! У вас что привычка пагубная, добавлять второй слеш в путях? | |
|
|
|
|
|
|
|
для: anderles
(02.02.2009 в 14:38)
| | А если написать $_POST['myfile']; то хотя бы виведет имя файла | |
|
|
|