Я пытаюсь написать файл в PHP. Пока это работает «вроде».PHP fopen ("filename", w) создает файлы с ~ 1
У меня есть массив имен в формате {Rob, Kevin, Michael}. Я использую строку кода
foreach($Team as $user)
{
print_r($user);
//create a file for each user
$file = fopen("./employee_lists/".$user, 'w');
//I have also tried: fopen("employee_lists/$user", 'w');
// ... ... ...
//write some data to each file.
}
Это работает, как ожидалось: В print_r шоу "Роб Кевин Майкл", однако, имена файлов сохраняются в следующем: ROB ~ 1, КЕВИНА ~ 1, MICHAE ~ 1
Когда я собираюсь использовать эти файлы позже в своем коде, и я хочу связать имена пользователей «Роб» с ROB-1, мне нужно сделать еще один шаг для этого. Я чувствую, что неправильно использую fopen, но он делает именно то, что я хочу, за исключением этой маленькой проблемы с именованием.
Какая ОС вы используете? Окна? – blamonet
Каково точное значение '$ user'? Описание проблемы, похоже, предполагает, что хост-система не использует длинные имена файлов, что смешно, и я подозреваю, что это невозможно. Я сомневаюсь, что PHP будет компилироваться в системе, которая не просто из-за возраста. Возможно, это связано с тем, что '$ user' содержит недопустимый символ для использования в именах файлов (моя лучшая догадка будет новой строкой), и это побочный эффект, хотя я уверен, что' fopen() 'должен полностью завершиться в этом сценарии , Попробуйте '$ file = fopen (" ./ employee_lists/". Trim ($ user), 'w');' – DaveRandom
Вы пытались использовать расширение для вашего имени файла? Например $ file = fopen ("./ employee_lists /".$ user.". Txt ", 'w'); – mokk