Добрый день!
Понадобилось отправка картинки на сайт.
Выбор стоял межд у POST и PUT,я выбрал пат,так как я вкурил,что до как.Вот код:
В программе:
Вот на сервере his.php:
cUrl подключил,ошибка вылазиет на fopen.помогите пожалуйста
Понадобилось отправка картинки на сайт.
Выбор стоял межд у POST и PUT,я выбрал пат,так как я вкурил,что до как.Вот код:
В программе:
PHP код:
global $file;
// Задаем скрипт на сайте B, который примет наш запрос и обработает его
$url = 'http://*****/his.php';
// Указываем файл, который мы хотим передать сайту B
// Если файл находится не в текущей дирректории, то необходимо
// указать путь до файла
// Узнаем размер передаваемого файла
$filesize = filesize($file);
// Узнаем имя файла (в случае, если в $file указан полный путь до файла)
$pathinfo = pathinfo($file);
$filename = $pathinfo['basename'];
// Открываем передаваемый файл на чтение
// для дальнейшей его передачи
$fp = fopen($file, 'r');
// Инициализируем сеанс CURL
$ch = curl_init();
// Задаем параметры для открытого сеанса CURL
// Указываем URL скрипта, который примет наш запрос
// К имени скрипта добавляем переменную, содержащую имя передаваемого файла
// Чтобы это имя было доступно в принимающем скрипте из массива $_GET
curl_setopt($ch, CURLOPT_URL, $url . '?filename=' . $filename);
// Указываем файл (а вернее дескриптор открытого на чтение файла),
// который собираемся передать
curl_setopt($ch, CURLOPT_INFILE, $fp);
// Указываем предполагаемый размер отправляемого файла
curl_setopt($ch, CURLOPT_INFILESIZE, $filesize);
// Указываем, что файл передается методом PUT
curl_setopt($ch, CURLOPT_PUT, true);
// Указываем, что будет производиться закачка на удаленный сервер
curl_setopt($ch, CURLOPT_UPLOAD, true);
// Выполняем запрос CURL
curl_exec($ch);
// Завершаем сеанс CURL
curl_close($ch);
PHP код:
<?php
$rand = rand(000000001,999999999);
$FileRandName = str_repleace("3", "bit", "$rand");
$FileRandName = str_repleace("1", "bit", "$FileRandName");
$FileRandName = str_repleace("7", "bit", "$FileRandName");
$FileRandName = str_repleace("5", "bit", "$FileRandName");
$FileRandName = str_repleace("9", "bit", "$FileRandName");
// Определяем имя файла
// Если не определено, задаем как $FileRandName
$filename = (isset($_GET['filename'])) ? $_GET['filename'] : "$FileRandName.png";
// Получаем содержимое входящего потока
$content = file_get_contents('php://input');
// Записываем содержимое потока в файл
$file = fopen($filename, 'w+');
fwrite($file, $content);
fclose($file);
?>