
MadMax
17.07.2017
12:26:02
Ребята, я погулил, поковырял php.net, но ответа не нашел. Я пытаюсь реализовать загрузку изображения на сервер. Все работает замечательно. Но, вместе с изображением я хочу передать туда и объект...
$objectFile = 'images/'.file_get_contents('php://input').basename($_FILES['image']['name']);
такая вещь не работает

Alexandr
17.07.2017
12:30:38
И не должна - обьект у тебя может создасться после удачной загрузки файла
$objectFile - как потом собираешься использовать?

Google

MadMax
17.07.2017
12:31:59
Короче, objectfile у меня будет ссылка на изображение, где file_get_content какая то цифра, и конечный результат, что то вроде этого
image/userId5/avatar.jpg

Alexandr
17.07.2017
12:32:59
ну и передавай его в hidden поле

MadMax
17.07.2017
12:33:13
Передать не проблема)
return this.http.post('http://localhost/api/post/img_upload.php', {formData, id:localstorage('id')}).map(resp=> resp.json());
Получить проблема....
у меня фронт на ангуляре

Alexandr
17.07.2017
12:34:04
image/userId5/avatar.jpg - это должно формироваться при http://php.net/manual/ru/function.move-uploaded-file.php

MadMax
17.07.2017
12:34:35
Да, так и формируется. Просто этот ID получить не могу
Вот в php
if (move_uploaded_file($_FILES['image']['tmp_name'], $uploadfile)) {
$objectFile = 'images/'.basename($_FILES['image']['name']);
echo json_encode("{status:'ok', message: 'Uploaded', lastId: $uploadQuery, fileName: '$objectFile'}");
} else {
$uploaddir = '../../images/';
$uploadfile = $uploaddir . basename($_FILES['image']['name']);
Что бы не получать ошибку, пока убрал добавление в путь ID...
Я наверное кашеобразно объясняю, и Вам чуток не понятно

Google

Alexandr
17.07.2017
12:36:35
Ну для начала надо или страницу с uploads создать - если это аватар - то к users привязать - id - это авторизованный пользователь
Зачем тебе возвращать сам файл? Тебе надо провереть is_readable того что ты хотел записать..

MadMax
17.07.2017
12:38:08
мне надо ссылку построить....
и записать ее в БД...
В ответе, если успешно, я получаю ссылку сразу...

Alexandr
17.07.2017
12:39:12
$uploadfile - чему равно?

MadMax
17.07.2017
12:39:32
$uploaddir = '../../images/';
$uploadfile = $uploaddir . basename($_FILES['image']['name']);
Дериктория+ имя загружаемого файла на сервере...
так работает))
Но в данном примере пропущен 1 пункт..
Добавления между дерикторией и именем файла еще ID пользывателя..

Alexandr
17.07.2017
12:41:03
ну так юзеры будут чужие файлы перезаписывать надо $uploadfile = $uploaddir .$_SESSION['user_id'].'_'. basename($_FILES['image']['name']);

Dmitry
17.07.2017
12:41:15

Иван
17.07.2017
12:44:31
Здравствуйте народ, подскажите кто нибудь как сделать из этого числа
1500293305056.224 целое десятизначное

Igor
17.07.2017
12:45:07
раздели на 1000 и округли, например

Иван
17.07.2017
12:45:09
при этом надо округлять а не просто отрезать 10 знаков

Pavel
17.07.2017
12:46:11

Dmitry
17.07.2017
12:47:32
смотря что подразумевать под нормальным распределением ;)
если математический термин, то конечно не будет нормальным ;)

Pavel
17.07.2017
12:49:04
Вопрос в том, будет менее нормальным чем весь md5 или таким же.

Google

Pavel
17.07.2017
12:49:49
Оу нет, я имел в виду равномерное распределение конечно же. А не нормальное.

Dmitry
17.07.2017
12:50:09
если ты под нормальным подразумеваешь равеномерное - то вопрос - будет ли часть мд5 менее равномерна, чем вся мд5? ;)
сомнительно ;) по крайней мере набившее оскомину распределение файлов по первым буквам мд5 сильную неравномерность не наблюдает

Pavel
17.07.2017
12:52:35
> то вопрос - будет ли часть мд5 менее равномерна, чем вся мд5?
Да да вот вопрос. Пойду спрошу в чате криптозадротов.

Dmitry
17.07.2017
12:53:34
а мне вот кажется, что если одна часть хеша неравномерна, то весь хеш неравномерен ;)
хотя, конечно, требуется определение равномерности

Adel
17.07.2017
12:54:44
да все неравномерно

Pavel
17.07.2017
12:54:55
Да видимо ты прав. Я подумал что хеш состоит из 32х случайных величин, у каждой из них распределение равномерно, корреляции между ними не наблюдается вроде бы. Значит любая подстрока md5 так же будет обладать равномерным распределением в символах.

Adel
17.07.2017
12:55:40
недавно отказался работать S3. потому что мы генерили слишком много обьектов с одинаковой началом имени.
что говорит о том, что они не очень равномерно распределеяют хеши у себя там

Pavel
17.07.2017
12:56:26
А там md5 ?

Adel
17.07.2017
12:56:32
не знаю :)

Dmitry
17.07.2017
12:56:37
завалили S3 хешом ;)
а на function foo() : Type еще psr нет? ;) писать пробел перед двоеточием или нет ;)

Pavel
17.07.2017
13:04:32
Я где-то видел что не пишут
обосновано ли это чем то не знаю.

Adel
17.07.2017
13:04:42
Да. в большинстве случаев - не пишут
мне както не нравилось сначала
а потом привык

Dmitry
17.07.2017
13:05:22
а я вот чота по-разному, не могу привыкнуть... то пишу, то нет.. некрасиво ;)

Google

Adel
17.07.2017
13:05:33
фууу. как лох :)))
вспомнил школьные времена :)))

Dmitry
17.07.2017
13:06:08
лох, это кто пишет как-то по одному не имея на то оснований ;)

Adel
17.07.2017
13:06:17
ах вот ты как обернул :)

Dmitry
17.07.2017
13:06:26
;)
хм, а почему шторм обращение к свойству трейта подчеркивает, как обращение к динамическому свойству...
Есть у меня Query класс, в которым собраны условия поиска... примерно десяток-полтора. И хочется мне его иммутабельности. Вот городить костыль в сеттерах или все же впихнуть все условия в конструктор? Конструктор в принципе не очень удобен - и жирный будет сам по себе и условия в сервисе собирать не удобн. Но и костылять проверки в сеттере, как я сделал... вот в сомнениях.

Adel
17.07.2017
13:37:34
Builder. И костылим проверки только при создании обьекта

Dmitry
17.07.2017
13:40:24
хм, классический блдер подразумевает, что в создаваемом объекте должны быть сеттеры ведь?
или сделать билдер, который накапливает данные,а потом по запросу getObject дает созданный Object заполненный через конструктор?

Adel
17.07.2017
13:41:45
ну както так. да.

Dmitry
17.07.2017
13:43:57
мдя, может может... в следующий раз так и сделаю ;)

Adel
17.07.2017
13:44:54
в следующей жизни :)

Dmitry
17.07.2017
13:45:07
в следующем проекте ;)
в росбанк фулстеком никто не хочет пойти? ;) интернет банк пилить и все такое

Adel
17.07.2017
14:14:26

Dmitry
17.07.2017
14:17:07
а шторм мультиселект то не поддерживает... хм

Adel
17.07.2017
14:27:28
а сколько платите зарплату?

Dmitry
17.07.2017
14:27:36
=)
а начиная с какой суммы можно без реги постить? ;)

Google

Adel
17.07.2017
14:28:38
не знаю. но эту шкалу можно ввести
от 10 килобаксов в месяц можно даже картинку залепить! с сиськами :)))

Pavel
17.07.2017
14:29:52
причем разработчики залепят свои в ответ

Dmitry
17.07.2017
14:30:06
свои сиськи? неее....

Pavel
17.07.2017
14:30:57
Ну да
За 10 килобаксов разработчики еще и не такое вытворять будут, а начнуть думать при написании кода и обкладывать тестами.
Просто напиши вилку ЗП и 3-4 слова из стека технологий. Ну и территориально еще.

Dmitry
17.07.2017
14:35:01
что делаете то?
хм, вот "молодой коллектив в стабильной компании 7 лет"... это значит, что постоянная ротация кадров или изначально детей набрали, и сейчас вот они молодые, значит...

Pavel
17.07.2017
14:37:35
Молодой это может 30 лет, ведь после 30 жизнь не заканчивается же?

Dmitry
17.07.2017
14:39:01
да, для точной оценки нужен возраст рекрутера... исходя из этого можно оценить возраст коллектива

Andrei
17.07.2017
14:39:27
"старый конь, борозды не портит"

Dmitry
17.07.2017
14:40:18
сеньоры работу не ищут, они ее выбирают ;) увы
а вот про иммутейбл массивы было для меня откровением, да... что они их в опкодкеш пихают просто

Pavel
17.07.2017
14:46:17
Вопрос был впринципе легитимный. Всякие проблемные компании это не редкость. Возраст компании и коллектива дает полезную информацию.

Dmitry
17.07.2017
14:47:08
да лан, это стеб был... к вопросу о молодых активно развивающихся...