У меня есть довольно стандартная форма загрузки файлов (которая также записывается в mysql db). Он работал нормально во время моего тестирования, затем я пошел и протестировал файл, который был назван всеми прописными буквами. Файл не будет загружен. Простое решение, которое я понял, просто переименуйте файл перед загрузкой с помощью «strtolower», но не повезло. Также попробовал strtoupper, все равно не повезло. Я думаю, что я тоже сталкиваюсь с этой проблемой с файлами, начинающимися с цифр. (Я сделал двойную проверку да и папка для записи.)php file upload capitalized filename issue
$upload_dir = "/path/to/the/upload/folder/entries/";
$new_filename = mysql_insert_id()."_".$filename;
$tmp_name = $_FILES["filename"]["tmp_name"];
move_uploaded_file($tmp_name, $upload_dir . $new_filename);
любая помощь очень ценится.
Не удалось найти какие-либо проблемы с кодом. В моем приложении пользователи ежедневно загружают файлы со всеми странными именами. Никогда не сталкивался с проблемами прописных или цифр. Вы уверены, что 'mysql_insert_id()' что-то печатает? Или, случайно, он нарушает код? И что вы назначаете для '$ filename'? – Nirmal
$ filename устанавливается ранее в коде и просто равен $ _FILES ["filename"] ["name"] . Я сделал еще несколько исследований в этой проблеме, и кажется, что это может быть не капитализация, это на самом деле не найти файл в файле изображения, который я пытаюсь загрузить (я сделал echo $ _FILES ["filename"] ["type"], и он ничего не возвращал). Однако, когда я проверяю свойства в файле в моем Finder, он ясно показывает, что тип файла jpeg. Я действительно застрял здесь, поэтому спасибо за любую помощь. – jmarx34