@@ -226,13 +226,8 @@ public function mirror($originDir, $targetDir, \Traversable $iterator = null, $o
226
226
$ iterator = new \RecursiveIteratorIterator (new \RecursiveDirectoryIterator ($ originDir , $ flags ), \RecursiveIteratorIterator::SELF_FIRST );
227
227
}
228
228
229
- if ('/ ' === substr ($ targetDir , -1 ) || '\\' === substr ($ targetDir , -1 )) {
230
- $ targetDir = substr ($ targetDir , 0 , -1 );
231
- }
232
-
233
- if ('/ ' === substr ($ originDir , -1 ) || '\\' === substr ($ originDir , -1 )) {
234
- $ originDir = substr ($ originDir , 0 , -1 );
235
- }
229
+ $ targetDir = rtrim ($ targetDir , '/ \\' );
230
+ $ originDir = rtrim ($ originDir , '/ \\' );
236
231
237
232
foreach ($ iterator as $ file ) {
238
233
$ target = str_replace ($ originDir , $ targetDir , $ file ->getPathname ());
@@ -258,10 +253,10 @@ public function mirror($originDir, $targetDir, \Traversable $iterator = null, $o
258
253
*/
259
254
public function isAbsolutePath ($ file )
260
255
{
261
- if ($ file[ 0 ] == ' / ' || $ file [ 0 ] == '\\'
256
+ if (strspn ( $ file, ' / \\' , 0 , 1 )
262
257
|| (strlen ($ file ) > 3 && ctype_alpha ($ file [0 ])
263
- && $ file[ 1 ] == ': '
264
- && ($ file[ 2 ] == ' \\' || $ file [ 2 ] == ' / ' )
258
+ && substr ( $ file, 1 , 1 ) = == ': '
259
+ && (strspn ( $ file, ' / \\', 2 , 1 ) )
265
260
)
266
261
|| null !== parse_url ($ file , PHP_URL_SCHEME )
267
262
) {
0 commit comments