Googleドキュメントでリンクを使って共有する方法

Googleドキュメントは一人で使用していても使い易いので便利なのですが、仲間とファイルを共有する時こそ真価を発揮します。というわけで、本日はリンク機能を使って、ドキュメントを共有する方法を書いておきます。

まずは何かドキュメントを用意

NewImage

共有ボタンを押す

NewImage

アクセス出来るユーザーを変更

NewImage

共有設定を変更(ここ重要)

NewImage

リンクをコピーして共有

NewImage

 

以上です。このリンクをメールやチャットなどに貼って送ると、相手はドキュメントの内容が見れるようになります。この方法はファイルを直接送る必要がないので、なかなか便利です。おためしを。

[CakePHP]SplFileInfo::openFileエラーの対応方法

[CakePHP2.2.3]

CakePHP2.xから、app/tmp/cache/modelsやapp/tmp/cache/persistent内のキャッシュファイルが生成される際に、パーミッションの問題で以下のようなエラーが出ることが多いです。

Warning: SplFileInfo::openFile(/www/app/tmp/cache/persistent/cake_core_cake_console_) [splfileinfo.openfile]: failed to open stream: Permission denied in /www/lib/Cake/Cache/Engine/FileEngine.php on line 292

この問題はファイル所有者とアクセスユーザーが違うので発生しているのですが、umaskを設定することで解決できます。
実際のコードは、core.phpの最下部にあるキャッシュ設定にmaskオプション追加するだけです。

[php]
//app/Config/core.php
Cache::config(‘_cake_core_’, array(
‘engine’ => $engine,
‘prefix’ => $prefix . ‘cake_core_’,
‘path’ => CACHE . ‘persistent’ . DS,
‘serialize’ => ($engine === ‘File’),
‘duration’ => $duration,
‘mask’ => 0666,
));
Cache::config(‘_cake_model_’, array(
‘engine’ => $engine,
‘prefix’ => $prefix . ‘cake_model_’,
‘path’ => CACHE . ‘models’ . DS,
‘serialize’ => ($engine === ‘File’),
‘duration’ => $duration,
‘mask’ => 0666,
));
[/php]

追記:Cache:write();を使う方は、以下のように別途、defaultの設定も追加しておいた方がいいでしょう。bootstrapに以下を追加しておきましょう。

[php]
//app/Config/bootstrap.php
Cache::config(‘default’, array(
‘mask’ => 0666,
));
[/php]