elFinder::rewind PHP Метод

rewind() публичный статический Метод

Rewind stream resource
public static rewind ( resource $resource ) : void
$resource resource
Результат void
    public static function rewind($resource)
    {
        self::isSeekableStream($resource) && rewind($resource);
    }

Usage Example

 /**
  * Create new file and write into it from file pointer.
  * Return new file path or false on error.
  *
  * @param  resource  $fp   file pointer
  * @param  string    $dir  target dir path
  * @param  string    $name file name
  * @param  array     $stat file stat (required by some virtual fs)
  * @return bool|string
  * @author Dmitry (dio) Levashov
  **/
 protected function _save($fp, $dir, $name, $stat)
 {
     $this->clearcache();
     $mime = $stat['mime'];
     $w = !empty($stat['width']) ? $stat['width'] : 0;
     $h = !empty($stat['height']) ? $stat['height'] : 0;
     $id = $this->_joinPath($dir, $name);
     elFinder::rewind($fp);
     $stat = fstat($fp);
     $size = $stat['size'];
     if ($tmpfile = tempnam($this->tmpPath, $this->id)) {
         if (($trgfp = fopen($tmpfile, 'wb')) == false) {
             unlink($tmpfile);
         } else {
             while (!feof($fp)) {
                 fwrite($trgfp, fread($fp, 8192));
             }
             fclose($trgfp);
             chmod($tmpfile, 0644);
             $sql = $id > 0 ? 'REPLACE INTO %s (id, parent_id, name, content, size, mtime, mime, width, height) VALUES (' . $id . ', %d, \'%s\', LOAD_FILE(\'%s\'), %d, %d, \'%s\', %d, %d)' : 'INSERT INTO %s (parent_id, name, content, size, mtime, mime, width, height) VALUES (%d, \'%s\', LOAD_FILE(\'%s\'), %d, %d, \'%s\', %d, %d)';
             $sql = sprintf($sql, $this->tbf, $dir, $this->db->real_escape_string($name), $this->loadFilePath($tmpfile), $size, time(), $mime, $w, $h);
             $res = $this->query($sql);
             unlink($tmpfile);
             if ($res) {
                 return $id > 0 ? $id : $this->db->insert_id;
             }
         }
     }
     $content = '';
     elFinder::rewind($fp);
     while (!feof($fp)) {
         $content .= fread($fp, 8192);
     }
     $sql = $id > 0 ? 'REPLACE INTO %s (id, parent_id, name, content, size, mtime, mime, width, height) VALUES (' . $id . ', %d, \'%s\', \'%s\', %d, %d, \'%s\', %d, %d)' : 'INSERT INTO %s (parent_id, name, content, size, mtime, mime, width, height) VALUES (%d, \'%s\', \'%s\', %d, %d, \'%s\', %d, %d)';
     $sql = sprintf($sql, $this->tbf, $dir, $this->db->real_escape_string($name), $this->db->real_escape_string($content), $size, time(), $mime, $w, $h);
     unset($content);
     if ($this->query($sql)) {
         return $id > 0 ? $id : $this->db->insert_id;
     }
     return false;
 }
All Usage Examples Of elFinder::rewind