不能去下载一个php手册看看么?

解决方案 »

  1.   

    fopen(string filename, string mode);
      

  2.   

    我已经试过了,老报错 $fifo_write=fopen("/tmp/cnm_fifo","w");
             $real_wnum=fwrite("/tmp/cnm_fifo",$arr,strlen($arr));
             if(real_wnum==-1)
            {
                   if(errno==EAGAIN)
                         printf("write to cnm_fifo error; try it later\n");
             }
           else
                      printf("real write num is %d\n",real_wnum);报如下的结果:
    Warning: fopen(/tmp/cnm_fifo) [function.fopen]: failed to open stream: Permission denied in /usr/local/php_bed/ZYCNM_DEPLOY_BED/apache/htdocs/webpage/login.php on line 48Warning: fwrite(): supplied argument is not a valid stream resource in /usr/local/php_bed/ZYCNM_DEPLOY_BED/apache/htdocs/webpage/login.php on line 49
    real write num is 0
      

  3.   

    启动web服务的用户对那个文件没有写权限
      

  4.   

    chmod o+rw /tmp/cnm_fifo 试试看
      

  5.   

    可是在c语言里
    fifo_write=open(cnm_fifo,O_WRONLY|O_NONBLOCK,0);
            real_wnum=write(fifo_write,w_buf,strlen(w_buf));
            if(real_wnum==-1)
            {
                   if(errno==EAGAIN)
                           printf("write to fifo error; try later\n");
            }
            else 
                   printf("real write num is %d\n",real_wnum);就可以对它进行读写,是相同的文件,为什么呢?
    我该怎么用php实现这些呢?包括创建一个这样的文件(c语言中用mkfifo(FIFO_SERVER1, CNM_FIFO_MODE)就可以实现)?
      

  6.   

    你的c程序所有者是根用户对吧。
    将/tmp目录属性改下,改为apache的。
    打开终端。键入命令
    chown -R  apache.apache /tmp
    chmod -R 775 /tmp
      

  7.   

    $arr = "words"; //要写入的内容
    $fifo_write=fopen("tmp/cnm_fifo","w");  //文件的名确保没有后缀吗?文件路径是否正确?
             if(!fwrite($fifo_write,$arr))
            {
                  print("write to cnm_fifo error; try it later\n");
             }
           else
                  print("real write num is ".strlen($arr));