forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Delphi (http://forum.boolean.name/forumdisplay.php?f=66)
-   -   Обмен файлами через интернет (http://forum.boolean.name/showthread.php?t=18633)

Trazzy 16.10.2013 17:03

Обмен файлами через интернет
 
Делаю программу для обмена информацией,
помогите реализовать обмен файлами через интернет
(как это реализовано в чатах типа аськи и скайп).
Имею сайт, через который можно проводить обмен,
хотя прокатят и другие варианты.
Где копать? Может у кого есть подобные сорцы?..
Заранее спасибо.

Andvrok 17.10.2013 01:05

Ответ: Обмен файлами через интернет
 
Копай в сторону сокетов, компонент tnmstrm.

Trazzy 17.10.2013 01:11

Ответ: Обмен файлами через интернет
 
К сожалению, в сокетах не шарю.

Накидал сорец из "накопаного" мною кода с разных уголков интернета (собрал по частям).
Идея заключается в передаче файла простым http-методом (с помощью IdHTTP) на php-скрипт
расположеный на сайте (честно говоря, я иначе и не представлял как это реализовать).
Программа вроде бы выполняет свою задачу, только как правильно принять в PHP?!..

На каком-то сапйте было написано что как-то так, но имхо это чушь полная:
PHP код:

<?
copy($File,"state.log")
?>

Для теста положил этот код в корень хоста, выдало такой ответ:
Код:

Warning:  copy() [function.copy]: open_basedir restriction in effect. File() is not within the allowed path(s): (/home/:/usr/lib/php:/tmp) in /home/a2925154/public_html/index.php on line 2
Upd: Ну, тут все понятно. Пересмотрел справку по пхп - и вправду лажа.
А ошибка выше - это ясное дело недопустимое имя переменной (File)!
Рабочий исходник в посте #5.

Andvrok 17.10.2013 01:48

Ответ: Обмен файлами через интернет
 
Я понятия не имею, как ты пользуешься гуглом.
Первая же ссылка:
http://delphixfiles.narod.ru/SendFile.htm

Trazzy 17.10.2013 02:42

Ответ: Обмен файлами через интернет
 
Вложений: 1
А я понятия не имею как ты читаешь посты.
Первые же слова:
«К сожалению, в сокетах не шарю.»

Подобные твоему примеры и исходники я находил ранее, но по причние описаной выше, ничего хорошего с этого не получалось. Никогда не имел дела с соксами (запутано там все как-то, да и не особо хотелось вникать в эту "ситему нипеля"). Поэтому я начал искать другие варианты.

Upd: Теперь по делу (рабочий пример php):
PHP код:

<?php
$uploaddir 
'uploads/';
if (
move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir $_FILES['userfile']['name'])) {
    print 
"File is valid, and was successfully uploaded.";
} else {
    print 
"There some errors!";
}
?>

Ну вот. Половина дела сделана. Выгрузка реализована :)

Andvrok 17.10.2013 09:49

Ответ: Обмен файлами через интернет
 
Мне совершенно не понятен твой ход мыслей. "Я не шарю в сокетах, поэтому вместо того, чтобы потратить полчаса и разобраться, я буду делать передачу через сайт ведь это куда проще и логичней". Так бы и написал сразу, что обучаться новому не желаешь.


Часовой пояс GMT +4, время: 19:47.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot