Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Дано такая форма:
<form action="script.php" method="POST">
<INPUT TYPE="file" NAME="file" SIZE=20><BR>
Как курлом такие данные передать?
$post = array('file'=>"@C:\file.txt");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://...script.php');
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$result = curl_exec ($ch);
// FTP this script to a server
$fp = fopen(__FILE__, "r");
$url = "ftp://username:password@mydomain.com:21/path/to/newfile.php";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_UPLOAD, 1);
curl_setopt($ch, CURLOPT_INFILE, $fp);
curl_setopt($ch, CURLOPT_FTPASCII, 1);
curl_setopt($ch, CURLOPT_INFILESIZE, filesize(__FILE__));
$result = curl_exec($ch);
curl_close($ch);
При чём тут фтп? Человеку нужно сэмулировать отправку формы с файлом.Можно по ftp:
PHP:// FTP this script to a server $fp = fopen(__FILE__, "r"); $url = "ftp://username:password@mydomain.com:21/path/to/newfile.php"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_UPLOAD, 1); curl_setopt($ch, CURLOPT_INFILE, $fp); curl_setopt($ch, CURLOPT_FTPASCII, 1); curl_setopt($ch, CURLOPT_INFILESIZE, filesize(__FILE__)); $result = curl_exec($ch); curl_close($ch);
PHP:$post = array('file'=>"@C:\file.txt"); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://...script.php'); curl_setopt($ch, CURLOPT_POST,1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post); $result = curl_exec ($ch);
Запускай на своем сервере.Хм., весьма интересный код, хотя с курлом давно работал - но чё-то с таким ещё не сталкивался
KillDead, не подскажете - а такой код можно использовать загрузки в формы файлообменников (типа depositfiles и т.п.) - там по сути такая же форма, только ещё надо придумать как избежать обрыва при загрузке больших файлов (max_execution_time?).
И самое главное, как-то авторизироваться (чтобы файлы считались своими)
Ыыы, жесть советЗапускай на своем сервере.
Принципиально- никакой разницы нет, токо дело в парсинге значений, которые нужно передать:KillDead, не подскажете - а такой код можно использовать загрузки в формы файлообменников (типа depositfiles и т.п.) - там по сути такая же форма, только ещё надо придумать как избежать обрыва при загрузке больших файлов (max_execution_time?).
Ты явно не понял в чем проблема.Ыыы, жесть совет
Принципиально- никакой разницы нет, токо дело в парсинге значений, которые нужно передать:
1- либо авторизироваться, либо сразу перейти ко п.2 отослать кук авторизации (который можно посмотреть в браузере)
2- отослать файл через форму, в параметрах curl указать cookies полученный при авторизации.
<form enctype="multipart/form-data" action="/photo1.php?id=99" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="3145728">
<input name="userfile" type="file">
<input type="submit" value="Загрузить">