Друзья, вот очень интересно. Ради спортивного интереса написал эммуляцию отправки файла методом "ПОСТ"(все работает локально).
Итак, вот сама форма для загрузки файла на локальный сервер:
<form enctype="multipart/form-data" action="222.php" method="post">
<input type="file" name="my_file" id="my_file" >
<br />
<input type="submit" value="Загрузить файл" >
</form>
Через форму все отлично загружается. Теперь пытаюсь эммулировать действия КУРЛОМ
Вот скрипт, который курлом отправляет файл(45.php):
<?php
$url = 'http://testtt/222.php';
// данные формы, наряду с отправляемым файлом
$postData['name'] = '111.jpg';
$postData['my_file'] = "@".realpath('111.jpg');
// инициализация cUrl
$ch = curl_init();
// сообщаем куда будет отправлять
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
// файлы и данные будет отправлены
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
// передаем true или 1 если хотим ждать ответа после запроса
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// отсылаем запрос
$response = curl_exec($ch);
// отладка: посмотрим на ответ сервера
echo $response;
?>
Вот исходник скрипт, перемещающего полученный файл(222.php):
<?php
move_uploaded_file($_FILES['my_file']['tmp_name'], "C:/333/".$_FILES['my_file']['name']);
?>
Исходник простой, в одну строчку. Самое интересное, что в Денвере 3(в котором старая версия ПХП) он работает, а в xampp выдаются ошибки:
Notice: Undefined index: my_file in путь_до_скрипта 222.php on line 3
Notice: Undefined index: my_file in путь_до_скрипта 222.php.php on line 3
Т.е. получается, что в массив $_FILES вообще ничего не приходит. Может, что в конфигах каких-то можно подправить что-то.
Подскажите, кто знает. Спасибо