$element['path'] = "C:\xampp\htdocs\IntelliKid\public\assets\uploads\123.mp4";

Como laravel 5 no permite acceder a archivos locales, necesito subcadenas de la ruta del archivo anterior desde la carpeta de evaluaciones hasta el final.

Resultado esperado assets\uploads\123.mp4

También quiero llevar el formato a otra cadena.

Resultado esperado .mp4

0
Jude Niroshan 27 ene. 2016 a las 22:53

2 respuestas

La mejor respuesta

Simplemente reemplace la raíz del documento:

$path = str_replace($_SERVER['DOCUMENT_ROOT'], '', $element['path']);

pathinfo() puede obtener la extensión:

$ext  = pathinfo($path, PATHINFO_EXTENSION);

O use strstr() y strrchr():

$path = strstr($element['path'], 'assets');
$ext  = strrchr($element['path'], '.');

Aunque usaría pathinfo() para la extensión.

1
AbraCadaver 27 ene. 2016 a las 20:08

Prueba esto

<?php
$asset_posn = strpos($element['path'],"assets\");
$output = substr($element['path'],$asset_posn);
$output1 = substr($element['path'],-4);
?>
0
Bernie Stephens 27 ene. 2016 a las 20:03