Тема: Загрузит файл как сделат мастери (WAP/WEB мастеру/Помощь мастерам) Pavelex (19 Jul 2019 в 14:34) Что то глаза слезятся,поэтому плохо слышно...можешь объяснить орфографически правильно? Engine (19 Jul 2019 в 18:09) https://www.google.ru/search?newwindow=1&client=ms-opera-mobile&channel=new&espv=1&ei=6NwxXcijN8-P6QSS4bygCQ&q=%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0+%D1%84%D0%B0%D0%B9%D0%BB%D0%B0+php&oq=%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0+%D1%84%D0%B0%D0%B9%D0%BB%D0%B0+php&gs_l=mobile-gws-wiz-serp.3..35i39j0i22i30l7.2527.4322..4682...0.0..0.126.432.1j3......0....1.........0i71j0i67j0.SQQM2lEfsAU Farhodjon (20 Jul 2019 в 00:00) --Цитата-- Engine (19 Jul 2019 в 18:09): https://www.google.ru/search?newwindow=1&client=ms-opera-mobile&channel=new&espv=1&ei=6NwxXcijN8-P6QSS4bygCQ&q=%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0+%D1%84%D0%B0%D0%B9%D0%BB%D0%B0+php&oq=%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0+%D1%84%D0%B0%D0%B9%D0%BB%D0%B0+php&gs_l=mobile-gws-wiz-serp.3..35i39j0i22i30l7.2527.4322..4682...0.0..0.126.432.1j3......0....1.........0i71j0i67j0.SQQM2lEfsAU ---------- Engine, вы что не поняли? Я говару как загрузит файл через get например mysite.ru/a=file///sdcard/avatar.png но не палучаеца как сделат так? Saint (20 Jul 2019 в 05:25) Изучи документацию языка на котором написано твоё приложение и добавь такую возможность. из PHP ты этого не сделаешь . но судя по всему ты используешь какой-то конструктор (иначе бы ты не задавал вопрос этот) ,отсюда следует что такой возможности у тебя нету, если это не предусмотрено разработчиком твоего приложения . Engine (20 Jul 2019 в 09:21) Farhodjon, никак. Если бы с помощью ссылки можно было доставать любой файл на компьютере посетителя - это была бы дыра в безопасности Farhodjon (20 Jul 2019 в 13:00) --Цитата-- Engine (20 Jul 2019 в 09:21): Farhodjon, никак. Если бы с помощью ссылки можно было доставать любой файл на компьютере посетителя - это была бы дыра в безопасности ---------- Engine, а я тоже так думою но, например програма vk, fb, ok как они загрузает на сервер? Напртмер на fb для загрузит фото на facebook lite выбираеш фото и загрузаети как сделат так как у других приоожения они тоже берут пут файл и загрузит через get ссылка не так ли? Engine (20 Jul 2019 в 17:54) Может в get передается просто название файла, а сам файл загружается через post kantry (20 Jul 2019 в 19:01) Farhodjon, вообще то абсолютный путь на андроиде с помощью java можно угадать)) File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath(), \"my_sdcard_file\"); И дальше уже пытаться его отправить HttpPost httppost = new HttpPost(\'my_site_url\'); И так далее... И для начала прочитай вот это [url=https://developer.android.com/reference/android/os/Environment]Environment[/url](все желательно) mrholler (21 Jul 2019 в 15:33) Можно не скачивать, а напрямую получить ссылку на аватар и с помощью библиотеки Picasso выводить в профиль приложения. [i]Добавлено:[/i] Для начала ответь, если ты таких элементарных вещей не знаешь, то как ты реализовал авторизацию на сайте через клиент? DoR (21 Jul 2019 в 19:59) Farhodjon, Здравствуйте! Не подумайте что поучаю... Но ребята верно говорят - Вам не по зубам *пока. На Ваше - НА, сервер ответит - ну и что...)) Минимум что серверу необходимо предоставить: Логин ( либо ид ) , пароль, ид фотоальбома ( или какой нибудь ключ, для созданного Вами API ) Что нибудь что бы сервер Вас распознал... Или... Допустим юзер в блоке, но фото шлёт. Согласитесь, не айс. Эти все моменты необходимо учесть на будущее. // --- Небольшой пример в архиве ( DCMS Social 1.9.9 ) Средствами php curl С одного сайта, заливаем изображение на другой Код максимально прокомал. Начните с простого... Всего хорошего...)) Farhodjon (22 Jul 2019 в 10:48) --Цитата-- kantry (20 Jul 2019 в 19:01): Farhodjon, вообще то абсолютный путь на андроиде с помощью java можно угадать)) File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath(), \"my_sdcard_file\"); И дальше уже пытаться его отправить HttpPost httppost = new HttpPost(\'my_site_url\'); И так далее... И для начала прочитай вот это [url=https://developer.android.com/reference/android/os/Environment]Environment[/url](все желательно) ---------- kantry, я напишу на Delphi XE8 вы знаети как сделат на Delphi XE8? [i]Добавлено:[/i] DoR, мне это не нужен мне нужна загрузит файл с телефон kantry (22 Jul 2019 в 13:09) Farhodjon, у меня линух, какой на хрен паскаль, и тем паче делфи)) Хотя в досбоксе наверно пожно поюзать)) А почему бы тебе документацию не почитать? Что то типа такого procedure TForm1.Button1Click(Sender: TObject); var FS: TFileStream; begin FS := TFileStream.Create(\'file:\' + TPath.Combine(TPath.GetPicturesPath, \'avatar.png\'), fmOpenRead or fmShareDenyWrite); try idhttp1.Put(\'http://site.ru/avatar.png\', FS); finally FS.Free; end; end; А на сервере принимать PUT stream в php файле $put = fopen(\"php://input\", \"r\"); // Открыть файл для записи $fp = fopen(\"avatar.png\", \"w\"); // Считываем по 1 KB для записи while ($data = fread($put, 1024)) fwrite($fp, $data); // закрыть поток fclose($fp); fclose($put); П.С. Но ты методом тыка даже не пробуй, документация сначала почитай :D Farhodjon (22 Jul 2019 в 15:21) --Цитата-- kantry (22 Jul 2019 в 13:09): Farhodjon, у меня линух, какой на хрен паскаль, и тем паче делфи)) Хотя в досбоксе наверно пожно поюзать)) А почему бы тебе документацию не почитать? Что то типа такого procedure TForm1.Button1Click(Sender: TObject); var FS: TFileStream; begin FS := TFileStream.Create(\'file:\' + TPath.Combine(TPath.GetPicturesPath, \'avatar.png\'), fmOpenRead or fmShareDenyWrite); try idhttp1.Put(\'http://site.ru/avatar.png\', FS); finally FS.Free; end; end; А на сервере принимать PUT stream в php файле $put = fopen(\"php://input\", \"r\"); // Открыть файл для записи $fp = fopen(\"avatar.png\", \"w\"); // Считываем по 1 KB для записи while ($data = fread($put, 1024)) fwrite($fp, $data); // закрыть поток fclose($fp); fclose($put); П.С. Но ты методом тыка даже не пробуй, документация сначала почитай :D ---------- kantry, помтавит пут нужна здес: (TPath.GetPicturesPath, \'avatar.png\') а если файл стоит на sdcard/download/avatar.png будет так (TPath.GetPicturesPath, \'download/avatar.png\') [i]Добавлено:[/i] kantry, \'fille:\' для чего? [i]Добавлено:[/i] kantry, как указат папку для сохранения файл на сервер kantry (22 Jul 2019 в 17:35) Farhodjon, ты рано в такие дебри залез. file в общем то не надо. Для папки с загрузками как то так будет TPath.GetSharedDownloadsPath - /storage/emulated/0/Download TPath.GetDownloadsPath - /storage/emulated/0/Android/data/<ID приложения>/files/Download Папку на сервере, в скрипте который на сервере принимает надо указывать, я там выше неправильно написал idhttp1.Put(\'http://site.ru/upload.php\', FS); upload.php это и есть файл который на сервере запрос обрабатывает. Farhodjon (22 Jul 2019 в 19:03) --Цитата-- kantry (22 Jul 2019 в 17:35): Farhodjon, ты рано в такие дебри залез. file в общем то не надо. Для папки с загрузками как то так будет TPath.GetSharedDownloadsPath - /storage/emulated/0/Download TPath.GetDownloadsPath - /storage/emulated/0/Android/data/<ID приложения>/files/Download Папку на сервере, в скрипте который на сервере принимает надо указывать, я там выше неправильно написал idhttp1.Put(\'http://site.ru/upload.php\', FS); upload.php это и есть файл который на сервере запрос обрабатывает. ---------- kantry, на upload.php что нада напичат пожалуста братан помаги мне очен нужна kantry (23 Jul 2019 в 05:21) Farhodjon, ты так ничего не добьешься, для начала хотя бы покажи что ты уже сделал. А upload.php я тебе ниже написал как примерно выглядеть будет. <?php //в $_GET можно имя файла передать, или там ай-ди юзера $filename = (isset($_GET[\'filename\'])) ? $_GET[\'filename\'] : false; if ($filename) { $put = fopen(\'php://input\', \'r\'); $fp = fopen(\'./avatar/\'.$filename, \'w\'); while ($data = fread($put, 1024)) fwrite($fp, $data); fclose($fp); fclose($put); } ?> Farhodjon (23 Jul 2019 в 12:06) --Цитата-- kantry (23 Jul 2019 в 05:21): Farhodjon, ты так ничего не добьешься, для начала хотя бы покажи что ты уже сделал. А upload.php я тебе ниже написал как примерно выглядеть будет. <?php //в $_GET можно имя файла передать, или там ай-ди юзера $filename = (isset($_GET[\'filename\'])) ? $_GET[\'filename\'] : false; if ($filename) { $put = fopen(\'php://input\', \'r\'); $fp = fopen(\'./avatar/\'.$filename, \'w\'); while ($data = fread($put, 1024)) fwrite($fp, $data); fclose($fp); fclose($put); } ?> ---------- kantry, спасиба болшой Мр. Форум (15 Sep 2020 в 17:59) [red]Тему переместил Создатель biket из раздела Уроки/готовые коды в раздел Помощь мастерам[/red] Источник: http://www.dcms-social.ru/forum/20/44/63041/