http://q.hatena.ne.jp/1251756089の続きです。



http://www.album-system.com/のアルバムシステムを設置しようとしております。お教えいただいたとおりの方法にて、アルバムの稼働は出来るようになったのですが、写真画像のアップロードが出来ないままです。php.iniを操作してもアップロードできず、以下のエラーが出てしまいます。

Warning: move_uploaded_file(※ここにはアップロード先らしきものが記載されています) [function.move-uploaded-file]: failed to open stream: No such file or directory in /opt/lampp/htdocs/album/common.php on line 872

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpBSYSKY' to '※ここにはアップロード先らしきものが記載されています。' in /opt/lampp/htdocs/album/common.php on line 872

また、アルバムにも次のようなエラー表示が出ております。
Error:ファイルのアップロードに失敗しました。指定されたファイル名:Array
Error:ファイルのアップロードに失敗しました。ファイル名:(※アップロードを行うファイル名)
こちらの原因について思い当たるものがありましたらご教授ください。よろしくお願い致します。

回答の条件
  • URL必須
  • 1人5回まで
  • 登録:2009/11/05 05:35:38
  • 終了:2009/11/12 05:40:02

ベストアンサー

id:rouge_2008 No.2

rouge_2008回答回数594ベストアンサー獲得回数3512009/11/05 15:26:12

ポイント35pt

スクリプトのバグの可能性があります。

こちらでもローカル環境ですが、Linux(Ubuntu)とWin両方で同じエラーが発生しました。

アルバムの追加時に、1つ目のカテゴリの1つ目のアルバムであれば、本来「1_1」フォルダが画像のアップロードフォルダに作成されるべき所、「1_」という具合にしか作成されていないのが原因です。

FTP等でアクセスして「1_1」等と修正してやるとアップロードできるようになります。


※ZIP版の方でアルバムを追加した場合は、正常にフォルダが作成されます。(ただし、展開・画像の追加は行われませんので、手動でアップしたZIPファイルを削除して、手動で画像をアップロードする必要があります。)

あるいは、非ZIP版でアルバムの追加直後に、FTP等で「1_2」「1_3」という具合に、フォルダ名の変更を行ってください。

※2つ目のカテゴリのアルバムであれば、作成した順番に「2_1」「2_2」・・・となります。


ソースを見てみましたが、正常に動作させる方法はちょっと分かりませんでした。

※「common.php」の160行目付近以降を修正すると良さそうですが、一部のファイルが難読化されている為、詳しい事は分かりません。

ソースが読めても分からないかもしれませんが・・・

上記のどちらかの方法を取るのが簡単だと思いますので、使用したい場合は試してみてください。

後は作者さんに報告して対応を待つしかないと思います。

※まだベータ版で、しばらく更新もしていないようですので、別のスクリプトを探した方が良いかもしれません。

 

URLはダミーです。

http://q.hatena.ne.jp

その他の回答(1件)

id:rafting No.1

ラフティング回答回数2652ベストアンサー獲得回数1762009/11/05 07:09:44

ポイント35pt

レンタルサーバーの権限設定は変更されていますか?

(700以上だと動作しないケースなどが多いです。)

また、FTPソフトで人力アップロードをしてみて、表示されますでしょうか?

http://q.hatena.ne.jp/answer

id:rouge_2008 No.2

rouge_2008回答回数594ベストアンサー獲得回数3512009/11/05 15:26:12ここでベストアンサー

ポイント35pt

スクリプトのバグの可能性があります。

こちらでもローカル環境ですが、Linux(Ubuntu)とWin両方で同じエラーが発生しました。

アルバムの追加時に、1つ目のカテゴリの1つ目のアルバムであれば、本来「1_1」フォルダが画像のアップロードフォルダに作成されるべき所、「1_」という具合にしか作成されていないのが原因です。

FTP等でアクセスして「1_1」等と修正してやるとアップロードできるようになります。


※ZIP版の方でアルバムを追加した場合は、正常にフォルダが作成されます。(ただし、展開・画像の追加は行われませんので、手動でアップしたZIPファイルを削除して、手動で画像をアップロードする必要があります。)

あるいは、非ZIP版でアルバムの追加直後に、FTP等で「1_2」「1_3」という具合に、フォルダ名の変更を行ってください。

※2つ目のカテゴリのアルバムであれば、作成した順番に「2_1」「2_2」・・・となります。


ソースを見てみましたが、正常に動作させる方法はちょっと分かりませんでした。

※「common.php」の160行目付近以降を修正すると良さそうですが、一部のファイルが難読化されている為、詳しい事は分かりません。

ソースが読めても分からないかもしれませんが・・・

上記のどちらかの方法を取るのが簡単だと思いますので、使用したい場合は試してみてください。

後は作者さんに報告して対応を待つしかないと思います。

※まだベータ版で、しばらく更新もしていないようですので、別のスクリプトを探した方が良いかもしれません。

 

URLはダミーです。

http://q.hatena.ne.jp

  • id:rouge_2008
    既に質問が終了した後ですが、「アルバム追加」で正常にフォルダを作成する事が出来ましたのでご報告します。
    ※間違いを訂正してコメントし直しています。

    「common.php」の163行目付近にある「function create_dir($target_basedir){ ~」の処理を以下のように変更してください。

    function create_dir($target_basedir){
    // 以下の行を追加します。
    preg_match('/([0-9]+)_([0-9]*)/', $target_basedir, $cat);
    if(! $cat[2]){
    $cat_id = $cat[1];
    $mylist = db_select_album_list($cat_id);
    $albm_list = cnv_disparray($mylist);
    array_multisort($albm_list,SORT_DESC);
    $id = $albm_list[0]['album_id'] + 1;
    }

    // 以下にフォルダの作成処理が続いていますので、「if(!mkdir( $target_basedir , 0777)){」の「$target_basedir」の後ろに「.$id」を追加して、「if(!mkdir( $target_basedir.$id , 0777)){」のように変更します。
    // 全部で6箇所あります。
    if(!mkdir( $target_basedir.$id , 0777)){

    log_message(6001," dir=".$target_basedir);

    return false;

    }



    //写真格納用ディレクトリ作成処理

    if(!mkdir( $target_basedir.$id."/".ORIGINAL_DIR_NAME , 0777)){

    log_message(6001," dir=".$target_basedir."/".ORIGINAL_DIR_NAME);

    return false;

    }



    if(!mkdir( $target_basedir.$id."/".THUMB1_DIR_NAME , 0777)){

    log_message(6001," dir=".$target_basedir."/".THUMB1_DIR_NAME);

    return false;

    }





    if(!mkdir( $target_basedir.$id."/".THUMB2_DIR_NAME , 0777)){

    log_message(6001," dir=".$target_basedir."/".THUMB2_DIR_NAME);

    return false;

    }



    if(!mkdir( $target_basedir.$id."/".THUMB3_DIR_NAME , 0777)){

    log_message(6001," dir=".$target_basedir."/".THUMB3_DIR_NAME);

    return false;

    }





    if(!mkdir( $target_basedir.$id."/".THUMB4_DIR_NAME , 0777)){

    log_message(6001," dir=".$target_basedir."/".THUMB4_DIR_NAME);

    return false;

    }



    return true;

    }

    // ここまでです。以下の行の前の部分までです。
    //フォルダ削除関数

    ※一通り動かしてみましたが、問題なく動きました。
    ※ZIP版の方の動作はそのままです。
  • id:rouge_2008
    一部動作に問題がありましたのでご報告します。

    一番新しいアルバムの削除後に、アルバムを新規作成した場合に、保存ディレクトリの番号がずれてしまいます。
    (最新ではないアルバムの削除後に新規作成した場合や、ZIP版では問題ありません。)
    元々の仕様(バグ?)がある為、この問題の修正は出来ませんでした。

    一番新しいアルバムを削除したい場合は、事前に必ず新しいアルバムを作成するようにしてください。
    ※「アルバム管理」の「アルバム変更」や「写真管理」など、管理メニューが豊富なので、アルバムごと削除したい事はほとんどないかもしれませんが一応・・・
  • id:ohkaamagi
    rouge_2008さんへ>
    同じようなことが私のサーバでも起こっておりました。明らかにバグだとその時確信しました。
    結局は別のスクリプトを使用することにしましたが、今回の件は大変勉強になりました。ありがとうございます。

    raftingさんへ>
    パーミッションに関しましては以上の件より関係ないと考えております。
    わざわざ調査いただき、お答えいただきましてありがとうございます。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません