За последние 24 часа нас посетили 52534 программиста и 1716 роботов. Сейчас ищут 973 программиста ...

copy php utf-8

Тема в разделе "PHP для новичков", создана пользователем Naykon, 19 май 2017.

  1. Naykon

    Naykon Активный пользователь

    С нами с:
    15 ноя 2015
    Сообщения:
    65
    Симпатии:
    0
    Здравствуйте хочу скопировать файл из одной папки в другую, папка в которую копируем файл подписана кириллицей, файлы копируются, но создают отдельно папку Передовой - с таким названием... а нужно чтоб просто скопировало в уже существующую папку с нормальный русским названием. Как это можно исправить?
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
    что за прога/скрипт создает? в студию
    p.s: .htaccess - AddDefaultCharset UTF-8
     
  3. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Какая ОС и файловая система?
     
  4. Naykon

    Naykon Активный пользователь

    С нами с:
    15 ноя 2015
    Сообщения:
    65
    Симпатии:
    0
    p.s: .htaccess - AddDefaultCharset UTF-8 уже лежит в www/html
    --- Добавлено ---
    Ubuntu 16.04

    <?php
    copy('/home/file/demo.bsp', '/var/www/html/демочка/demo.bsp');
    ?>
    --- Добавлено ---
    /var/www/html/демочка/demo.bsp - тут должен лежать файл. но лежит он тут /var/www/html/Передовой/demo.bsp
     
  5. Naykon

    Naykon Активный пользователь

    С нами с:
    15 ноя 2015
    Сообщения:
    65
    Симпатии:
    0
    Если я даже просто создам переменную
    $dir = '/var/www/html/демочка/';
    $haves = scandir($dir);

    PHP Warning: scandir(/var/www/html/демочка/): failed to open dir: No such file or directory in /demo.php on line 2
    PHP Warning: scandir(): (errno 2): No such file or directory in /demo.php on line 2

    Я просто получаю файлы по этому пути... если не юзать русские символы то все работает... но мне нужно юзать русские.
     
  6. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
    директории должны быть созданы латиницей
    либо страдай
     
  7. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    ну, в какой-то момент оно теряется. В убунте есть русская локаль? php-файлы в какой кодировке? В какой приходят названия файлов?
     
  8. Naykon

    Naykon Активный пользователь

    С нами с:
    15 ноя 2015
    Сообщения:
    65
    Симпатии:
    0
    как будто живем в средневековье.. что решений нет..
    --- Добавлено ---
    я не очень силен в убунту но ls - русские символы показывает и через mkdir русские папки создает. кодировка Utf-8 без БООМ самого php скрипта.
    --- Добавлено ---
    $haves = scandir(iconv("UTF-8", "cp1251", $dir)); - пробовал так получил вовсе китай какой то
    scandir(/var/www/html/߭鯰/): failed to open dir:
     
  9. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    А откуда изначально берется имя файла?
     
  10. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
    страдай :mad::D
     
  11. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Дай в консоли команду locale, покажи вывод. Linux изучай, помогает. Мне помогло, что я одно время его как домашнюю ось держал :)
    --- Добавлено ---
    locale --all
     
  12. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
    PHP:
    1. copy(dirname(__FILE__).'/index.php', iconv("UTF-8", "cp1251", dirname(__FILE__).'/й/demo.bsp'));
    катает