[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Upload
Hahol404
День добрый, есть форма, есть php код который должен загружать файлы на сервер, но этого увы не происходит, вот код html формы

<form enctype="multipart/form-data"
action="upload.php" method="post">
<input
type="hidden" name="MAX_FILE_SIZE"
value="30000" />
Загрузить файл: <input type="file"
name="myfile" /><br>
<input
type="submit"
value="Отправить файл" />
</form>



а вот код php

<?php
$uploaddir = 'c:/inetpub/wwwroot/upload/';
$destination = $uploaddir .
$_FILES['myfile']['name'];
print "<pre>";
if (move_uploaded_file(
$_FILES['myfile']['tmp_name'],
$destination)) {
print "Файл успешно загружен <br>";
} else {
echo "Произошла ошибка при загрузке файла.
Некоторая отладочная информация:<br>"
;
print_r($_FILES);
}
print "</pre>";
?>


Сервер iis 6, ось window server 2003, как я уже с бубном не прыгал либо вообще не работает, либо выдаёт вот чтото в этом духе:


Произошла ошибка при загрузке файла.
Некоторая отладочная информация:
Array
(
[myfile] => Array
(
[name] => feed
[type] => application/octet-stream
[tmp_name] => D:\tmp\php56.tmp
[error] => 0
[size] => 20116
)

)


Вроде и доступ есть, и php.ini весь перерыл и всёравно не пашет((
tmp правда лежит на другом диске, я как понимаю даж туда не записывается
но права есть, в php.ini адрес прописал...
теоретически всё работать должно, но....в честь этого сердечно прошу помочь с этой проблемой, ибо я уже незнаю что делать...




Спустя 33 минуты, 46 секунд (4.02.2012 - 19:27) walerus написал(а):
move_uploaded_file -- Перемещает загруженный файл в новое место
Описание
bool move_uploaded_file ( string filename, string destination )

Эта функция проверяет, является ли файл filename загруженным на сервер (переданным по протоколу HTTP POST). Если файл действительно загружен на сервер,
он будет перемещён в место, указанное в аргументе destination.

Если filename не является загруженным файлов, никаких действий не предпринимается и move_uploaded_file() возвращает FALSE.


Ключевое слово Перемещает , Ваш вариант copy ( string source, string dest )

Спустя 10 минут, 11 секунд (4.02.2012 - 19:37) golovolom написал(а):
Там где ты это брал почитай ниже перед пункитом 3..

По окончанию работы скрипта, в случае, если принятый файл не был переименован или перемещен, он будет автоматически удален из временной папки.

я думаю что $uploaddir = 'c:/inetpub/wwwroot/upload/'; тут надо не адрес физического размещения файла а интернет адрес. например http://мой_сайт/папка_для_загрузки. Или относительно, например "../gапка_для_загрузки/".

Вот например там же в примерах есть
$uploads_dir = '/uploads';

Спустя 57 минут, 18 секунд (4.02.2012 - 20:35) walerus написал(а):
golovolom
Цитата

тут надо не адрес физического размещения файла а интернет адрес. например http://мой_сайт/папка_для_загрузки.

Интересно будет посмотреть, как ты по http файл зальешь )).

Hahol404 - Я ошибся, можно и move_uploaded_file() использовать, проблема скорее всего в пути, либо папки не существует, либо запрет на запись стоит.

Попробуй через абсолютный путь записать:


<?php
define('ROOT', dirname(__FILE__).'/'); // Обозначили ROOT, как корень скрипта
$uploaddir = ROOT . 'upload/'; // Папка upload - ДОЛЖНА существовать в корне скрипта
$destination = $uploaddir . $_FILES['myfile']['name'];
print "<pre>";
if (move_uploaded_file(
$_FILES['myfile']['tmp_name'],
$destination)) {
print "Файл успешно загружен <br>";
} else {
echo "Произошла ошибка при загрузке файла.
Некоторая отладочная информация:<br>"
;
print_r($_FILES);
}
print "</pre>";
?>

попробуй так.

Спустя 2 дня, 23 часа, 35 минут, 27 секунд (7.02.2012 - 20:10) golovolom написал(а):
Цитата (walerus @ 4.02.2012 - 17:35)
Цитата

Интересно будет посмотреть, как ты по http файл зальешь )).



Тфуты, тупанул unsure.gif . От корневой папки значт или от файла скрипта, в котором эта функция..
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.