Как я могу изменить расширение файла, использующее PHP?

Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:

  1. Вызов метода экземпляра объекта null.
  2. Доступ или изменение поля объекта null.
  3. Принимая длину null, как если бы это был массив.
  4. Доступ или изменение слотов null, как если бы это был массив.
  5. Бросок null как будто это было значение Throwable.

Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null.

Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html

26
задан cdeszaq 28 March 2012 в 16:57
поделиться

3 ответа

Как только у Вас есть имя файла в строке, сначала используйте regex для замены расширения расширением по Вашему выбору. Вот небольшая функция, это сделает это:

function replace_extension($filename, $new_extension) {
    return preg_replace('/\..+$/', '.' . $new_extension, $filename);
}

Тогда используют эти , переименовывают () функция для переименования файла с новым именем файла.

7
ответ дан Jeremy Ruten 28 November 2019 в 06:09
поделиться
7
ответ дан Galen 28 November 2019 в 06:09
поделиться

Мне было нужно это для изменения всего скручивания жгутов расширений изображений галерея на нижний регистр. Я закончил тем, что делал следующее:

// Converts image file extensions to all lowercase
$currentdir = opendir($gallerydir);
while(false !== ($file = readdir($currentdir))) {
  if(strpos($file,'.JPG',1) || strpos($file,'.GIF',1) || strpos($file,'.PNG',1)) {
    $srcfile = "$gallerydir/$file";
    $filearray = explode(".",$file);
    $count = count($filearray);
    $pos = $count - 1;
    $filearray[$pos] = strtolower($filearray[$pos]);
    $file = implode(".",$filearray);
    $dstfile = "$gallerydir/$file";
    rename($srcfile,$dstfile);
  }
}

Это работало на мои цели.

-2
ответ дан PHLAK 28 November 2019 в 06:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: