PHP 下载远程地址图片,如何获取文件后缀
时间: 2024-04-05 09:33:00 浏览: 10
在 PHP 中,我们可以使用 `pathinfo()` 函数来获取文件路径的信息,包括文件名、文件目录和文件扩展名等。具体使用方法如下:
```php
$url = "http://example.com/image.jpg";
$path_parts = pathinfo($url);
$extension = $path_parts['extension'];
```
其中,`$url` 是远程图片的 URL,`$path_parts` 是 `pathinfo()` 函数返回的数组,`$extension` 是获取到的文件后缀名。
注意,`pathinfo()` 函数只能获取到文件路径中的扩展名,如果 URL 中没有扩展名,则无法通过 `pathinfo()` 函数获取到后缀名。在这种情况下,我们可以尝试使用其他方法来获取后缀名,如通过 `getimagesize()` 函数获取图片信息并从中获取后缀名。
```php
$url = "http://example.com/image";
$image_info = getimagesize($url);
$extension = image_type_to_extension($image_info[2]);
```
其中,`$url` 是远程图片的 URL,`$image_info` 是 `getimagesize()` 函数返回的数组,第二个元素是图片类型常量,使用 `image_type_to_extension()` 函数将常量转换为文件后缀名。
相关问题
php获取文件后缀名及文件上传
获取文件后缀名可以使用 pathinfo() 函数,示例代码如下:
```php
$filename = 'example.txt';
$extension = pathinfo($filename, PATHINFO_EXTENSION);
echo $extension; // 输出 txt
```
文件上传可以使用 $_FILES 超全局变量,示例代码如下:
```php
if ($_FILES['file']['error'] === UPLOAD_ERR_OK) {
$tmp_name = $_FILES['file']['tmp_name'];
$name = $_FILES['file']['name'];
$extension = pathinfo($name, PATHINFO_EXTENSION);
$destination = 'uploads/' . uniqid('', true) . '.' . $extension;
if (move_uploaded_file($tmp_name, $destination)) {
echo '文件上传成功!';
} else {
echo '文件上传失败!';
}
} else {
echo '文件上传错误:' . $_FILES['file']['error'];
}
```
在上述示例中,我们首先判断上传文件是否成功,如果成功则获取临时文件名、文件名和文件后缀名,然后将文件移动到指定目录,并输出相应的结果。如果上传失败,则输出错误信息。
php用函数获取文件后缀
可以使用 PHP 中的 pathinfo() 函数来获取文件后缀。具体方法如下:
```php
$filename = "example.jpg";
$extension = pathinfo($filename, PATHINFO_EXTENSION);
echo $extension; // 输出:jpg
```
其中,$filename 为要获取后缀的文件名,PATHINFO_EXTENSION 为 pathinfo() 函数的参数,用于指定获取文件后缀。
注意,如果文件名中不包含后缀,则 $extension 变量将为空。所以在使用时,需要对 $extension 进行判断。