Я пытаюсь динамически создавать файлы миграции, и я сталкиваюсь с проблемой с функцией fopen, когда я вызываю функцию с динамической строкой для имени файла, я получаю следующую ошибку :PHP fopen invalide arguments при использовании динамической строки
"failed to open stream: Invalid Argument.
теперь странно вещь, когда я беру строку имя_файла, которая вызвала ошибку, и поместить его в неподвижную функции FOPEN, она работает и создает файл.
здесь является частью кода, который не:
public function add_tables($from, $to) {
$migration_name = $this->generate_migration_name($from, $to);
$migration_file = fopen($migration_name, "w") or die("Unable to open file!");
$migration_content = "...";
fwrite($migration_file, $migration_content);
}
public function generate_migration_name($from, $to) {
$current_date = Date('Y_m_d_His');
return $current_date."_create_msl_".$from."_to_".$to."_table.php";
}
я делаю что-то неправильно?
ОБНОВЛЕНИЕ: $to
и $from
- две строки, которые считываются из текстового файла с использованием функции fgets. пример для строки, которая не удалась:
2017_02_22_154148_create_msl_yeshut_yatzran_to_mimshak_table.php
Когда я исправил ее в функции fopen, файл создан успешно.
Что находится внутри '$ migration_name'? Вы уверены, что это строка? _ (Я думаю, это так, но .. вы знаете ... волшебство) _ –
Обновите вопрос с помощью значений '$ from' и' $ to', которые приводят к ошибке. –
@AlexBlex обновлен. – BoooYaKa