2016-06-15 2 views
0

Я пытаюсь заархивировать все xml-файлы в текущем каталоге, а затем перемещать все эти файлы с zip-файлами из каталога в другой. Однако я всегда получаю «fopen (.): Не удалось открыть поток: Permission denied" ошибка. Вот мой код для gzip;разрешение запрещено fopen while gzipping

$dest = 'test2.gz'; 
$mode = 'wb' . $level; 
$error = false; 
if ($fp_out = gzopen($dest, $mode)) { 
    if ($fp_in = fopen($merged,'rb')) { 
     while (!feof($fp_in)) 
      gzwrite($fp_out, fread($fp_in, 1024 * 512)); 
     fclose($fp_in); 
    } else { 
     $error = true; 
    } 
    gzclose($fp_out); 
} else { 
    $error = true; 
} 
if ($error) 
    return false; 
else 
    return $dest; 

} 
$files = scandir("export"); 
foreach ($files as $file_name) { 
    gzCompressFile($file_name);} 
+0

Каковы права доступа к файлам (-ам) файла? Вы используете этот скрипт как root? –

+0

, пожалуйста, простите мою нехватку знаний, я начинаю, и я использую laravel framework, и эта функция работает на одном из моих методов в контроллере. – Gvep

ответ

1

Вы можете либо изменить разрешение файла с помощью CHMOD команды из оболочки

sudo chmod 777 filename 

или в качестве альтернативы вы можете запустить процесс как корневой пользователь.

Смежные вопросы