Witam! Znalazłem taki oto skrypt, który uploaduje pliki na serwer poprzez php:
test.php:
<?php
$max_rozmiar = 1024*1024;
if (is_uploaded_file($_FILES['plik']['tmp_name'])) {
if ($_FILES['plik']['size'] > $max_rozmiar) {
echo '-1!';
} else {
echo 'Odebrano plik. Początkowa nazwa: '.$_FILES['plik']['name'];
echo '<br/>';
if (isset($_FILES['plik']['type'])) {
echo 'Typ: '.$_FILES['plik']['type'].'<br/>';
}
move_uploaded_file($_FILES['plik']['tmp_name'],
$_SERVER['DOCUMENT_ROOT'].'/'.$_FILES['plik']['name']);
}
} else {
echo '-2';
}
?>
Teraz chciałbym się z nim połączyć za pomocą mojego programiku, ale nie wiem za bardzo jak?? :( (łączę się za pomocą IdHTTP)
TStringStream *in=new TStringStream("");
TStringStream *out=new TStringStream("");
in->WriteString("plik=C:\\test.jpg");//czy tutaj muszę podać ścieżkę do pliku??
Http->Request->ContentType="application/x-www-form-urlencoded";
Http->Post("http://localhost/test.php",strim,out);
ShowMessage(out->DataString);//tutaj zawsze mi zwraca -2
delete out;
delete strim;
Skrypt działa, gdy odwołuje się do niego z takiego formularza:
<html>
<body>
<form action="test.php" method="POST" ENCTYPE="multipart/form-data">
<input type="file" name="plik"/><br/>
<input type="submit" value="Wyślij plik"/>
</form>
</body>
</html>