Уроки PHP 7 | Как сделать форму Upload файла

แชร์
ฝัง
  • เผยแพร่เมื่อ 3 ต.ค. 2024
  • В этом уроке мы продолжим изучение php7. А в частности продолжим разбирать свойства форм. Сейчас мы разберем как сделать форму upload файла на сервер и дальнейшие манипуляции с ним.
    ========================================================
    ПОДПИШИСЬ на канал "Web Developer Blog" - goo.gl/Ai4OGa
    И не пропускай новые видео!!!
    ========================================================
    ПЛЕЙ-ЛИСТЫ МОЕГО КАНАЛА:
    JavaScript практика - goo.gl/rxsyeX
    Основы JavaScript - goo.gl/Cw7Vqv
    Уроки Bootstrap 4 - goo.gl/65gmmS
    Уроки Framework для верстки Foundation 6 - goo.gl/Yi2jfc
    Рубрика "Основы за 10 минут" - goo.gl/QIvpDD
    Верстка сайта на Foundation 6 - goo.gl/gVS45o
    Основы препроцессора SASS - goo.gl/f4BDww
    Уроки по Sublime text 3 - goo.gl/SjiKM2
    Видео про заработок на TH-cam - goo.gl/VxdirI
    Создаем интернет магазин на PrestaShop - goo.gl/jop7M4
    Уроки jQuery - goo.gl/tjAs41
    ========================================================
    ПОДПИШИСЬ на Группу Вконтакте "Web Developer Blog" - goo.gl/6mO5GL
    ========================================================
    Мой заработок на TH-cam - ►goo.gl/C8Jzpv

ความคิดเห็น • 96

  • @dmitriisafronov7670
    @dmitriisafronov7670 6 ปีที่แล้ว +19

    понравилась фраза: "Я думаю с этим все понятно". Напомнило универ и препода по численным методам :)

  • @Deys1985
    @Deys1985 6 ปีที่แล้ว +36

    Автор - это халтура. Я, человек плохо знающий PHP и то понимаю судя по всему лучше чем ты что происходит в кадре. "У нас нет этой папки, потому что она не создана, но это все правильно и будет работать. А пока так...". Так создай эту папку. Сделай чтоб заработало. Видео тупо на конвейере растянутые до формата рекламы, не несущие полезной инфы. Explode что такое? Точка нахрена там? Или это функция разбивает строку используя разделитель(delimetr) "." в массив, а end берет последний элемент этого массива? А $exP(t)ensions - нахрена сделал? Про экономию памяти не слышал? Код нужно подготовить, протестировать и по полочкам разложить. Пусть ты его будешь не печатать, а копипастить в видео, но объясняй что это и для чего.

    • @RomanHomya
      @RomanHomya 4 ปีที่แล้ว +1

      Согласен, новичкам трудно понять

    • @interbusiness
      @interbusiness 3 ปีที่แล้ว

      @@RomanHomya А как сделать форму загрузки файла вместе с текстом? т.е. в форме.

    • @RomanHomya
      @RomanHomya 3 ปีที่แล้ว

      @@interbusiness то есть?

  • @SlavikPro1998
    @SlavikPro1998 3 ปีที่แล้ว +1

    спасибо большое за ролик ! он помогает думать головой. а не писать и ждать готовенькое и быть тупым! настоящий программист, будет от твоих роликов - потому что будет еще и сам думать и решать и уже есть определенный стаф в понимании !

  • @kitakitsunechannel
    @kitakitsunechannel 6 ปีที่แล้ว +3

    Создал бы папку images,показал бы что всё действительно загружается,избавился бы от ошибок.
    P.s. Если кому надо байты в кб перевести, то разделите на 1024, а если в мб то на 1024*1024

  • @pavgont
    @pavgont 7 ปีที่แล้ว +14

    В условии if(empty($errors) == true) разве необходимо писать == true? Это же и так явно что либо true либо false вернет. В этой же конструкции в ветке else ,в вывод print передается массив $errors - необходимо print_r, чтобы как вы говорите развернуть ошибки. Поправте, если не прав

    • @Fayzov
      @Fayzov 6 ปีที่แล้ว

      ну автор написал более подробно для новичков будет трудно разбираться if(empty($errors)) и if(!(empty($errors))) и автор хорошо сделал что написал if(empty($errors) == true) понятнее :)

  • @paulkamel2120
    @paulkamel2120 7 ปีที่แล้ว +9

    зачем создавали переменные имени файла, размера и типа, если потом все равно обращались к суперглобальной $_FILES ??

    • @quantum-t
      @quantum-t 7 ปีที่แล้ว

      потому что лучше смотреть traversyMedia если чтото интересует)

    • @ДанилОчагов-в7э
      @ДанилОчагов-в7э 7 ปีที่แล้ว

      дак он к ним обращался потом,чтобы по сто раз не писать $_FILES["images"]["..."];

    • @АртёмЛукичёв-п2ы
      @АртёмЛукичёв-п2ы 3 ปีที่แล้ว

      @@ДанилОчагов-в7э А потом, когда они ему пригодились так и написал...

  • @oleksandrlitash1751
    @oleksandrlitash1751 7 ปีที่แล้ว +3

    Спасибо тебе огромное, продолжай! Молодец, делаешь добро! :)

    • @SuprunAlexey
      @SuprunAlexey  7 ปีที่แล้ว +2

      Спасибо, а вы подписывайтесь!

  • @quantum-t
    @quantum-t 7 ปีที่แล้ว +7

    каждое видео смешнее предыдущего) что такое expensions ? xD такая дичь что даже PS подчеркнул зеленым

  • @NihilFrost
    @NihilFrost 4 ปีที่แล้ว +1

    8 строка в вашем исполнении вызовет варнинг "Only variables can be passed by reference". php будет ругаться на то что в качестве параметра функции ты передаёшь другую функцию. Можно отключить варнинги, а можно написать по-человечески:
    $file_name = strtolower($_FILES['image']['name']); // Здесь мы объявляем переменную, сразу запуская функцию понижения символов на маленькие буквы в имени файла.
    $file_name_array = explode('.', $file_name); // Здесь мы вводим промежуточную переменную, которая будет хранить массив из имён файла после разделителя "точка".
    $file_ext = end($file_name_array); // А здесь мы записываем в данную переменную последнее значение массива $file_name_array, т.е. расширение файла.
    P:S: (Позже). Мда. Вопросов больше не имею - какой то васянский туториал. Напихал переменных и всё равно обращаешься к данным через глобальный массив $_FILES. рукалицо.
    P.P.S: Вместо того чтобы писать Размер файла:

  • @Unf-lyiann
    @Unf-lyiann 7 ปีที่แล้ว +1

    хотелось бы применение подобных алгоритмов на реальных пример.А в целом, уроки хорошие

  • @mihinov
    @mihinov 5 ปีที่แล้ว +4

    После этого видео перестал смотреть плейлист, потому что парень ничего не объясняет.

  • @Oughtem
    @Oughtem 6 ปีที่แล้ว +2

    Когда-то мне в церкви сказали «если не понимаешь, то читай дальше». Чувак, это ты был! Ты переквалифицировался в программисты? Тут не церковь, парень. Тут не верить надо, а понимать. Я ВЕРЮ, что оно будет у тебя работать, но я не понимаю, особенно когда суть задачи не ясна изначально. Очередное видео, где включаешь последние кадры, чтоб понять что в конце должно получиться и только после этого смотришь как оно делается. Короче... тебе в церковь... проповедовать, а не объяснять.

  • @Денискурач-з2н
    @Денискурач-з2н 7 ปีที่แล้ว +29

    Если данный курс позиционирует себя как "для новичков". То хотелось бы разбирать каждую строку и объяснять, что это такое. А то накидал кучу кода. "Здесь вот так, а здесь вот так."
    Человеку, который до этого ни разу с таким не сталкивался - то есть новичку, сложно понять, что происходит. Следовательно, когда нет понимания и смотреть не охота.
    В целом инфа новая (ПХП7), направление курса нравится. Но вот разбор инфы не качественный. Приходится дополнительно читать документацию по теме, дабы вникнуть.

    • @SuprunAlexey
      @SuprunAlexey  7 ปีที่แล้ว +5

      Я как бы и стараюсь чуть ли не каждую строку объяснять. По большей мере объясняю что делает данный код. Без документации никуда, после просмотра урока советую закреплять материал чтением документации.

    • @quantum-t
      @quantum-t 7 ปีที่แล้ว +6

      эти уроки никому не подходят)

    • @narodstream552
      @narodstream552 6 ปีที่แล้ว

      А откуда тогда 4000 просмотров?

    • @Fayzov
      @Fayzov 6 ปีที่แล้ว

      Братан лучше учи какой нибудь язык программирования, потом легче будет понять всю эту магию

    • @Anik_666
      @Anik_666 6 ปีที่แล้ว

      Все понятно, кроме нахрена еrrors масив?) А пред просмотром можно и почитать что-то, хотя бы документацию)

  • @nasibullomukhamedov687
    @nasibullomukhamedov687 6 ปีที่แล้ว +1

    File_ext не обяснил, что это - en d, explode?

  • @glbash_
    @glbash_ 3 ปีที่แล้ว

    Объясните как одновременно название файла закинуть в таблицу бд

  • @disdanteprm
    @disdanteprm 7 ปีที่แล้ว +5

    Ну и нахрена мне это? Это написано на php net, если что. Если уж делаете видео на тему, то делайте сразу с переименованием файла, выдачей ссылки, записью имени загрузившего и прочий хлам. А форму для захламления сервера, любой дурак сделает. Хотя, может я и не прав, конечно, судя по всему, в последнее время народ не больно-то читать доки любит...

  • @Ivan-rc4it
    @Ivan-rc4it 5 ปีที่แล้ว

    Кто может подсказать. По этому коду загрузили файл и потом в браузере пытаемся обновить страницу, а он выдает окно, которое просит подтвердить повторную отправку формы. Как можно сделать так, что после того как мы отправили форму при перезагрузке браузера не выдавало такого окна. Я подозреваю, что в где то в буфере сохранился файл.

  • @ANIMEPROTOCOL
    @ANIMEPROTOCOL 4 ปีที่แล้ว

    "Если бы мы делали это на сервере, то мы бы сделали все максимально правильно"
    Вопрос: тогда зачем это видео если там максимально не правильно? что было влом исправить чтобы не было ошибок или как? и тут я начал сомневаться, а стоит ли дальше смотреть видео из данного курса будет ли там так же максимально неправильно а?

  • @Александр-б8е9м
    @Александр-б8е9м 6 ปีที่แล้ว

    А если у меня функция move_uploaded_file не перемещает файл никак. Что тогда делать?

  • @Алиналучшия
    @Алиналучшия 5 ปีที่แล้ว +1

    А как же безопасность при загрузке файлов? Очень много ошибок, много не рассказал и наговнокодил хуже новичка)

  • @omarvelikhanov5287
    @omarvelikhanov5287 6 ปีที่แล้ว +15

    просто потерял много времени пока смотрел 13 "обучающих" видео. чувак, забрось это дело. из тебя препод нулевой

    • @ilia5194
      @ilia5194 4 ปีที่แล้ว +2

      Ну да
      Взять ту же строку " $file_ext = strtolower(end(explode('.',$_FILES['uploadedFile']['name'])));" (Это нужно, чтобы расширение файла увидеть-pdf/jpg и т.д.), которую он так и не использовал.
      Но чтобы завершить его код, нужно проверить есть ли $file_ext в $extensions (грубо говоря от названия взяли последнюю часть, которая идет после точки, уменьшили, чтобы были прописные буквы.
      Переводя в код мои слова, перед этой строкой " if (empty($errors)==true)" нужно слегка добавить:
      if ( !in_array($file_ext,$extensions)){
      $errors[] = 'Не подходящее расширение, загрузите другой файл';
      }
      Надеюсь кому помог этим комментарием.

  • @chiefsmedia
    @chiefsmedia 4 ปีที่แล้ว +2

    Всё очень даже понятно с чего так хэйтите хз. Сначала получите хотя-бы базовые знания (html,css,js(jq)), и всё будет OK, почитайте документацию сначала или после, если у него не получилось попробуйте исправить у себя GOOGLE в помощь и знайте если вы работаете на PHP и не делаете ни одной ошибки в синтаксисе то вы не знаете PHP.

  • @onemasterlomaster1829
    @onemasterlomaster1829 7 ปีที่แล้ว +4

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

    • @SuprunAlexey
      @SuprunAlexey  7 ปีที่แล้ว +2

      Да и такое будет! Спасибо!

  • @КириллХасенов
    @КириллХасенов 6 ปีที่แล้ว +1

    Чувак, объясняй что пишешь, все 10 минут дальше это, дальше это. А зачем ты пишешь ту или иную строчку?Что она означает? При твоем подходе можно тупо ссылку на код кинуть и не париться. Такое ощущение что ты сам не знаешь что пишешь, тупо пример где-то взял и переписываешь. Гораздо лучше будет если человек посмотрит твой урок и поймет логику твоих действий. PHP сам по себе очень простой, и одни и те-же решения можно применить к разным задачам

  • @danielianhaik
    @danielianhaik 4 ปีที่แล้ว +1

    "Я думаю с этим все понятно" - чувак ты серьезно??? Тогда зачем так долго разговаривать. Так бывает когда кто-то зазубрил и сам не понимает какая строка что делает.

  • @АлександрДолинский-п7б
    @АлександрДолинский-п7б 7 ปีที่แล้ว

    Есть сервер XAMPP в котором команда info встроена в вкладе

  • @МайкДжорже
    @МайкДжорже 6 ปีที่แล้ว

    С этим скриптом можно только один файл загружать? Если загрузить новый то он вместо старого грузится.

    • @SuprunAlexey
      @SuprunAlexey  6 ปีที่แล้ว

      да

    • @Ivan-rc4it
      @Ivan-rc4it 5 ปีที่แล้ว

      Проверял лично, этим кодом можно загружать один файл, но он не перезаписывает, если вы уже загружали, а сохраняет как новый файл.

  • @ДенисМ-о4м
    @ДенисМ-о4м 4 ปีที่แล้ว

    Откуда столько хейта? Возможно, есть какие-то недочёты (хоть я и не заметил существенных).
    Вы думаете другие курсы будут лучше? Вы думаете другие платные (!) курсы будут идеальны? С Вас возьмут бабки и повезёт ещё, если будет на столько же информативно...
    Не понятно что-то, задавайте вопросы, открывайте документацию. Всего объяснить невозможно.

    • @maximnovik5917
      @maximnovik5917 2 ปีที่แล้ว

      Хейт от того что автор сам не понимает что пишет, и не способен исправлять свои же ошибки, просто капирует код из документации, и доит с рекламы деньги, из этого и состаит канал в целом, особенно забавно наблюдать за комментариями типо "отличный урок я многое узнал" но сами не подозревают что автор в большинстве случаев вводил их в заблуждения.

  • @romi4171
    @romi4171 7 ปีที่แล้ว

    зачем переменная $file_ext если не где ее не использовали?

    • @SuprunAlexey
      @SuprunAlexey  7 ปีที่แล้ว

      Та забыл видимо, сам не заметил

    • @КириллХасенов
      @КириллХасенов 6 ปีที่แล้ว +1

      Потому-что он сам не понимает что пишет. Взял пример кода и записал на видео. Это как инфобизнесмены которые книжек начитались и начинают других учить как бизнес делать, при том что сами его не имеют

  • @vicchern
    @vicchern 5 ปีที่แล้ว

    Но почему большинство русскоязычных комментаторов злобные тролли?((((

  • @OgoObedSurgut
    @OgoObedSurgut 6 ปีที่แล้ว

    Ребята в чём касяк блин стока курсов посмотрел везде всё ок,тут триндец.Липну 2 часа не могу найти.... Форма не реагирует на PHP:(
    Document

    Sent File:
    File size:
    File type:

    • @bogdanpetkanic6521
      @bogdanpetkanic6521 6 ปีที่แล้ว

      то же самое дебагом проверяв и біла пустая переменная $_FILES, перезапустил опен сервер все ок)

    • @mihlandotasecound68
      @mihlandotasecound68 5 ปีที่แล้ว

      Ты намудрил в этой строке:
      Во первых: не , а
      Во вторых: зачем писать action, и в кавычках пусто, когда ты никуда не отправляешь форму? Если отправляешь самому себе, то action не надо писать.

  • @vanyabulavskiy5787
    @vanyabulavskiy5787 4 ปีที่แล้ว

    Спасибо) А как вывести именно этот файл на страницу,чтобы его можно было скачать?

  • @yarik83men51
    @yarik83men51 4 ปีที่แล้ว

    Это не для новичков в PHP...(

  • @РомаСупскапустой
    @РомаСупскапустой 5 ปีที่แล้ว

    нах без исходника нужно?

  • @ВладЕфименко-к3м
    @ВладЕфименко-к3м 6 ปีที่แล้ว

    Бесполезная переменная expensions, тк ты не показал ей применения на тот же выбор форматов... Очень не безопасная загрузка файлов. Для новичков - не сойдет. Ты даже не объяснил, что та же strtolower - означает перевод в нижний регистр и многие другие тонкости. Не лайк, не дизлайк, тк основы есть и понять, прочитав доки - можно, но блин, на будущее - объясняй лучше

  • @oleksiip2401
    @oleksiip2401 4 ปีที่แล้ว

    Я не знаю, я просто создал возле index.php папку images и все заработало

    • @oleksiip2401
      @oleksiip2401 4 ปีที่แล้ว

      Автору спасибо

  • @denismaker1017
    @denismaker1017 4 ปีที่แล้ว

    Рекламы много

  • @edgarcherqezyan7937
    @edgarcherqezyan7937 7 ปีที่แล้ว

    воопше не обяснил не нечего не сделал

  • @infinity5019
    @infinity5019 7 ปีที่แล้ว

    В принципе урок плохой, если у тебя у форму стоит multuplay тогда можно грузить несколько сразу файлов/фото, из-за этого ты не сможешь загрузить так как у тебя тупо нет перебора кол-ва и выпадет ошибка

  • @garrip91
    @garrip91 5 ปีที่แล้ว

    Народ, лицезревший данный видеоролик! Из вас всех кто-нибудь понял полностью суть составленного здесь кода???

  • @игорьлебедев-л7ь
    @игорьлебедев-л7ь 3 ปีที่แล้ว

    ахахахах

  • @hertz3001
    @hertz3001 3 ปีที่แล้ว

    тоже снял видео о том как Сделать загрузку на сервер и ПК, ЗАЦЕНИ : th-cam.com/video/52OCuSoE818/w-d-xo.html

  • @ДмитрийФролов-п1ж
    @ДмитрийФролов-п1ж 5 ปีที่แล้ว

    В данном видео автор подробно обьясняет все, только на английском языке
    th-cam.com/video/JaRq73y5MJk/w-d-xo.html

  • @nochdeveloper7240
    @nochdeveloper7240 4 ปีที่แล้ว

    Ни знаний , ни результата

  • @nordost8
    @nordost8 6 ปีที่แล้ว +4

    неужели так скинуть файл с кодом что на видео? Из-за одной маленькой ошибки пришлось пол часа потратить чтобы найти ее сравнивая с вашим убогим качеством видео

  • @СаламбекТавбулатов
    @СаламбекТавбулатов 4 ปีที่แล้ว

    Уважаемый автор, удали свои все видео, не трать время людей напрасно.

    • @SuprunAlexey
      @SuprunAlexey  4 ปีที่แล้ว

      Саламбек Тавбулатов могу только удалить все твои комментарии

    • @СаламбекТавбулатов
      @СаламбекТавбулатов 4 ปีที่แล้ว

      @@SuprunAlexey Валяй, мне по хрен. Сам себе докажешь, что правду тебе говорят

    • @SuprunAlexey
      @SuprunAlexey  4 ปีที่แล้ว

      Саламбек Тавбулатов лолчто