0

サーバーでzendフレームワークを使用してmutilplyファイルをアップロードする際に問題が発生しました

実際、私のコードはローカルホストでは正しく機能しますが、リモートサーバーではアプリケーションエラーメッセージが表示されます

私のホストはipage.comです

$upload = new Zend_File_Transfer_Adapter_Http();
$upload->setDestination('projects\\'.$_pId);
// $_pid is my project folder where all files related to it uploded
$files = $upload->getFileInfo();
$i = 1;$g = 1;
foreach ($files as $file => $info)
{
    // i have three kinds of images
    // innerfinishingphotos_ images which can be more than 1 file eg :innerfinishingphotos_1, innerfinishingphotos_2, innerfinishingphotos_3.
    // outerfinishingphotos_ images which can be more than 1 file eg :outerfinishingphotos_1, outerfinishingphotos_2, outerfinishingphotos_3.
    // _main_photo image an image.

    // here i made if statements to determine which file came from which input file 

    if( $info == $files["innerfinishingphotos_".$i] && $info["name"] ==  $files["innerfinishingphotos_".$i]["name"] && !empty( $info["name"] ) )
    {
        $filename = "inner_finishing".$_pId.uniqid().$files["innerfinishingphotos_".$i]["name"];
        $upload->addFilter('Rename', $filename, $files["innerfinishingphotos_".$i]);
        $photodata =  Array ("project_id"=> $_pId, "photo_link"=> "/projects/".$_pId."/".$filename, "photo_name"=> "inner_finishing");
        $projectModel->addInProjectGalary($photodata);
        $i++;
    }
    else if( $info == $files["outerfinishingphotos_".$g] && $info["name"] == $files["outerfinishingphotos_".$g]["name"] &&!empty( $info["name"] ) )
    {
        $filename = "outer_finishing".$_pId.uniqid().$files["outerfinishingphotos_".$g]["name"];
            $upload->addFilter('Rename', $filename, $files["outerfinishingphotos_".$g]);
            $photodata =  Array ("project_id"=> $_pId, "photo_link"=> "/projects/".$_pId."/".$filename, "photo_name"=> "outer_finishing");
            $projectModel->addInProjectGalary($photodata);
            $g++;
    }
    else if ($info == $files["_main_photo"] && !empty( $info["name"] ))
    {
        $filename = "main_photo".$_pId.uniqid().$files["_main_photo"]["name"];
            $upload->addFilter('Rename', $filename, $files["_main_photo"]);
            $photodata =  Array ("project_id"=> $_pId, "photo_link"=> "/projects/".$_pId."/".$filename, "photo_name"=> "project_photo");
            $projectModel->addInProjectGalary($photodata);  
    }

    //then i receive the image
    if($upload->isValid($file))
    {
        try {
            $upload->receive($file);  
            }
            catch (Exception $e) {
                echo "upload exteption";
            }   
    }
}

私はこのコードをテストし、ローカルホストで正しく動作し、アップロードされたすべての画像とそれらのデータがデータベースに入力されました

しかし、私のリモートホスト「ipage.com」では機能しません。

みんな助けてください

4

1 に答える 1

0

何時間も試した後、私は問題を解決しました、それはこの行にありました

$upload->setDestination('projects\\'.$_pId);

に変更します

$upload->setDestination('projects/'.$_pId);

ありがとうございます。ティムファウンテン

于 2012-06-09T11:21:08.140 に答える