在php中为动态创建的文件授予777权限

时间:2013-01-07 09:30:24

标签: php apache save

您好我有一个动态在我的本地目录上创建文件的脚本 请告诉我如何在浏览器中无法访问该文件的777权限

<?php
//Get the file
$content = 'http://xxx.xxx.com.mx/media/catalog/product/cache/1/image/9df78eab33525d08d6e5fb8d27136e95/b/r/bridal-shoes1.jpg ';
$content1 = explode('/', $content);
$end = end($content1);
echo $end;
//print_r($content1[12]);
//Store in the filesystem.
$my_file = $end;
$handle = fopen($my_file, 'w') or die('Cannot open file:  '.$my_file); //implicitly creates file
$path = '/var/www/'.$end;

copy($content, $path);

 ?>

7 个答案:

答案 0 :(得分:37)

使用函数chmod
chmod

$fp = fopen($file, 'w');
fwrite($fp, $content);
fclose($fp);
chmod($file, 0777); 

答案 1 :(得分:3)

使用chmod()设置文件权限。

答案 2 :(得分:2)

使用:

private function writeFileContent($file, $content){
   $fp = fopen($file, 'w');
   fwrite($fp, $content);
   fclose($fp);
   chmod($file, 0777);  //changed to add the zero
   return true;
}

答案 3 :(得分:2)

授予动态创建文件的权限

                  $upPath = yourpath;
                    if(!file_exists($upPath)) 
                    {
                        $oldmask = umask(0);
                        mkdir($upPath, 0777, true);
                        umask($oldmask);
                    }  

答案 4 :(得分:0)

您可以使用chmod()执行此操作。

e.g。 chmod($my_file, 0777);

答案 5 :(得分:0)

使用default permission

rwx设置为u r目录(即setfacl command
ex: setfacl -d -m o::rwx your/directory/path

然后你在该目录中创建的任何内容都需要rwx权限。

答案 6 :(得分:0)

我们甚至忽略 * $ handle * 它仍会创建 文件内容复制到 $ path

 <?php
    //Get the file
    $content = 'http://dev.aviesta.com.mx/media/catalog/product/cache/1/image/9df78eab33525d08d6e5fb8d27136e95/b/r/bridal-shoes1.jpg ';
    $content1 = explode('/', $content);
    $end = end($content1);
    echo $end;
    //print_r($content1[12]);
    //Store in the filesystem.
    $my_file = $end;
    $handle = fopen($my_file, 'w') or die('Cannot open file:  '.$my_file); //implicitly creates file
    $path = '/var/www/'.$end;

    copy($content, $path);

     ?>