Я часто обнаруживаю, что у меня есть файлы в моих проектах, к которым необходимо получить доступ из файловой системы, а также для браузера пользователей. Одним из примеров является загрузка фотографий. Мне нужен доступ к файлам в файловой системе, чтобы я мог использовать GD для изменения изображений или их перемещения. Но мои пользователи также должны иметь доступ к файлам с URL-адреса, например example.com/uploads/myphoto.jpg
.PHP - преобразовать путь к файловой системе в URL
Поскольку путь загрузки обычно соответствует URL-адресу, я создал функцию, которая работает большую часть времени. Возьмите эти пути, например:
File System /var/www/example.com/uploads/myphoto.jpg
Если бы я имел набор переменных к чему-то например /var/www/example.com/
, тогда я мог бы вычесть его из пути файловой системы, а затем использовать его как URL-адрес изображения.
/**
* Remove a given file system path from the file/path string.
* If the file/path does not contain the given path - return FALSE.
* @param string $file
* @param string $path
* @return mixed
*/
function remove_path($file, $path = UPLOAD_PATH) {
if(strpos($file, $path) !== FALSE) {
return substr($file, strlen($path));
}
}
$file = /var/www/example.com/uploads/myphoto.jpg;
print remove_path($file, /var/www/site.com/);
//prints "uploads/myphoto.jpg"
Кто-нибудь знает, как лучше справиться с этим?
Спасибо. Хотя это может быть подвержено ошибкам, это именно то, что мне нужно в моем случае. –