2014/09/12フォルダを指定しパーミッションを変更するプログラムを作ってみたプログラムを作った経緯とプログラムソースとあるサーバで、ファイルのパーミッションをまとめて変更したい、という必要性があり、プログラムを作成してみました。大したものではないですが、せっかく作りましたので、もし他の人も何か参考になるのならばと思ってここにアップしてみることにしました。"フォルダ名を入力してください。"パーミッションは数値で入力してください。"フォルダ名を入力してください。"パーミッションは数値で入力してください。上記のソースプログラムを適当なファイル名のファイルにコピペして、サーバにアップして、そのファイルにアクセスすると下記のような画面が表示されます。「フォルダ名」にフォルダ名を入力します。相対パスで指定し、フォルダ名の最後に「/」は不要です。「パーミッション」には指定したいパーミッションを入力します。パーミッションの設定は「0755」「0666」など最初に「0」を付ける必要がありますが、その部分は自動付与しますので、入力は必要ありません。「Chmod実行」ボタンをクリックすると、「フォルダ名」で指定したフォルダの中のファイルのパーミッションを「パーミッション」で指定したものに変更します。フォルダのパーミッションは変更しません。プログラムの解説プログラムの解説、というほどたいそうな処理を書いているわけではありませんが、解説をしていきます。1つずつのファイルを取得し、37行目で「.」「..」を排除し、39行目の「is_file」でファイルであることを確認(フォルダを排除)します。42行目の「chmod」でパーミッションを変更します。見ていただいて分かる通り、入力チェックは最低限しか行っていませんので、正しくない値を入れた場合は、想定外の不具合につながる可能性もあります。サニタイジングも行っていませんので、使い終わったら速やかにプログラムファイルを削除しておく方がいいでしょう。サンプルソースの注意点このプログラムは想定通りの結果が得られない場合が多々あります。下記のような場合は、サーバの設定によって実行できないものになりますので、あきらめるしかありません。・chmod関数が使えないchmod関数は、使い方を間違えるとサーバ全体に大きな影響を与えかねない関数であることから、これらの関数を利用できないようにしているサーバもあります。・ファイルの権限が違うサーバで動いているプログラムにはそれぞれ権限があり、FTPでアップロードしたファイルと、PHPのプログラムで生成されたファイルと、それぞれ違うユーザが割り当てられているサーバもあります。その場合は、作成したユーザが違うためにプログラム上からパーミッションの変更ができない場合があります。このプログラムは、パーミッションを変えるだけですが、設定に失敗するとシステム全体に大きな影響を与えてしまう可能性もありますので、まずは、テスト用のファイルで実験をしてみてください。下記の様にフォルダとファイルを生成し、「test1」フォルダを指定して実験してみるとかテストファイルで試してみてください。/test/test/chmod_php.php/test/test1//test/test1/01.txt/test/test1/02.txt/test/test1/03.txt/test/test1/04.txt/test/test1/05.txt※「chmod_php.php」が上記サンプルのプログラムとします。PHP・Smarty・ECCUBEGoogleAdwordsGoogleAdwords最後までお読みいただきましてありがとうございます。コメントをキャンセルメールアドレスが公開されることはありません。*サイト下記の空欄を埋めてください。date*日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)※入力いただいたコメントは管理者の承認後に掲載されます。商品情報を編集するCRITEO(クリテオ)タグを編集ECCUBEの注文完了画面にクリテオのタグを編集する方法を紹介。標準機能では完了画面に注文IDや購入商品の情報を渡さないため改修が必要です。数値文字参照コード変換ツール(HTML特殊文字コード変換ツール)テキストを数値文字参照コード(特殊文字コード)に変換するツール。ファイル変更だけ!ECCUBEの本番から開発環境をコピーする手順を解説ECCUBEを本番から開発環境をコピーする際の手順を解説。PGMメンテに必要な開発環境を構築する手順を解説。ECCUBEの仕組みは簡単なので作業は5分ほど。GMOペイメントゲートウェイのjava.io.IOExceptionのエラーECCUBEの決済でGMOペイメントゲートウェイのモジュールを使ってテスト決済を行った場合の不具合、java.io.IOExceptionと言うエラーの原因と対策方法の解説です。ECCUBE2.13.3で商品規格の在庫数が無制限から変更できないバグがある2.13.3固有のバグである商品規格の在庫数の入力エリアがアクティブにならない不具合を解消する解説です。product_class.tplの2行を修正するだけの簡単対応です。PHPパーミッション変更のchmod関数・モードを変数で指定する方法パーミッション変更関数であるchmod関数の第二引数、ファイルモードの指定に変数を使う場合は8進数に変換するoctdec関数を使って変換します。$url”);を使うと画面が真っ白になる不具合が出る場合もあります。パーミッション(属性)一括変更ツール・WordPress最適化済WordPressのパーミッション(属性)を一括変更するツールを作成!ファイル、フォルダのパーミッションが一覧表示でき、ファイルを選んでパーミッションの変更が行えます。標準出力をバッファリングし変数に代入することができるob_start()関数の解説。include()の処理をバッファリングすることで自由な場所に処理を記述することが可能。ECCUBEでカード決済NGの受注情報をマイページ購入履歴に表示しない方法解説ECCUBEでカード決済に失敗しても購入履歴一覧に注文情報(受注情報)が表示される問題への対処方法を解説。受注情報レコードの作成の流れとステイタスについても解説。小学校でプログラミングの授業が始まる。プログラムを組むことを覚えることが本質ではなく理論的な手順の組み立てのトレーニングをする授業という理解が必要だと思う。Parserを使ってスクレイピングをする方法を解説。インストール方法、読み込み方法。具体的なスクレイピングを実行するサンプルソースも。Parser」の使い方を解説。要素を取得する方法、そこから属性を取得する方法を解説。マニュアルにはない注意点なども解説。2020.01.27PHPでスクレイピング。スクレイピング」で検索すると「phpQuery」ばかりヒットするが、10年以上も放置されている。Parser」をオススメする。2020.01.26PHPのcURLでAPIやWebサイトへのアクセス方法。file_get_contentsとの比較PHPからWebサイトにアクセスしてHTMLを取得、APIにアクセスして情報を取得する場合は、cURLがオススメ。file_get_contentsでも可能だがエラー制御に難がありトラブルのもとになる。add_shortcode関数を使ったショートコードという機能を利用します。不正なコピーコンテンツからの直リンクを拒否する.htaccessの設定方法。拒否するサイトを指定、許可するサイトを指定する方法、単純な拒否と画像の差し替えを解説。口コミサイトを作るために必要な評価点、レビューを投稿できるプラグインを探して評価。10プラグインをチェックし、8プラグインは詳細解説付き。2014.07.17BackWPupでバックアップ・リストア(復元)の具体的手順BackWPupその9。バックアップファイルからのリストア(復元)の手順です。109キーボード)は日本人サイズのキーボード。ショートカットも押しやすく女性や子供にも優しいサイズ。Web開発・運用に役立つ記事を中心に紹介しています。