Получить оригинальное загруженное имя файла с помощью php на OpenShift

Я хотел бы убедиться, что файл, загруженный в мое приложение OpenShift, имеет расширение текста (.txt или .tab). Следуя некоторым советам дано здесь Я написал следующий код с добавлением эха, чтобы помочь отладке:

$AllowedExts =  array('txt','tab');
echo "AllowedExts: " . $AllowedExts[0] . " and " . $AllowedExts[1] . "<br>";
$ThisPath = $_FILES['uploadedfile']['tmp_name'];
echo "ThisPath: " . $ThisPath . "<br>";
$ThisExt = pathinfo($ThisPath, PATHINFO_EXTENSION);
echo "ThisExt: " . $ThisExt . "<br>";
if(!in_array($ThisExt,$AllowedExts) ) {
$error = 'Uploaded file must end in .txt or .tab';
}
echo "error echo: " . $error . "<br>";

При загрузке любого файла, ответ был:

AllowedExts: txt и tab

ThisPath: / var / lib / openshift / ************ / php / tmp /phpSmk2Ew

ThisExt:

ошибка эхо: загруженный файл должен заканчиваться на .txt или .tab

Означает ли это, что OpenShift переименовывает файл при загрузке? Как получить исходное имя файла и затем проверить его суффикс? В целом, есть ли лучший способ проверить тип файла?

0

Решение

$_FILES['uploadedfile']['tmp_name'] содержит имя временного файла на сервере (который может быть перемещен с помощью move_uploaded_file()). Если вы хотите проверить оригинальное имя загруженного файла на клиентском компьютере, используйте $_FILES['uploadedfile']['name'],

Это не проблема Open Shift, это стандартный способ PHP.

Для получения дополнительной информации см. http://php.net/manual/en/features.file-upload.post-method.php

Другие способы определения типа файла см. http://php.net/manual/en/ref.fileinfo.php

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]