0

私を助けてください、ここに私のコードがあります:

if(isset($_POST['send'])) {
    $filename =strtolower(basename($_FILES['resume']['name']));
    $ext = $_FILES["resume"]["type"];
    $size= $_FILES["resume"]["size"];

    if (!empty($filename) && (($ext == "application/msword") ||
       ($ext  == "application/pdf") && ($size < 500000))) {
        $name = $_POST['name']; 
        $email_address = $_POST['email'];
        $nwname=str_replace(" ","",$name);
        $newfilename= substr(md5(rand() * time()),0,7);
        $newfilename2 =$nwname."_".$newfilename;
        if($ext == 'application/msword') {
            $newname ='upload/'.$newfilename2.".doc";
        } else if($ext == 'application/pdf'){
            $newname ='upload/'.$newfilename2.".pdf";
        }
        $temp= $_FILES['resume']['tmp_name'];
        echo $temp;

        $move = @move_uploaded_file($temp,$newname)
                    or die('Updoaling error.');
        echo $move; 

        $query = mysql_query("UPDATE saxet SET filelocation='$newname'
            WHERE name='$name' AND email='$email_address'");
    }
}

" " という名前のファイルが$filename一時フォルダに移動さ​​れません。これで私を助けることができますか?

4

3 に答える 3

0

アップロードされたファイルをそこに移動する前に、 is_writable()関数を使用して、宛先が書き込み可能かどうかを判断することをお勧めします。

また、@エラー制御演算子です。からのエラーを抑制しmove_uploaded_file()ます。予期しない機能を使用して取得しているときはいつでも@、を削除して@エラーが表示されるかどうかを確認することをお勧めします。

于 2012-05-15T12:48:10.160 に答える
0

アップロードフォルダにファイルを書き込む権限を確認する必要があると思います。

于 2012-05-15T12:46:06.800 に答える
0

アップロードされたファイルが保存されるフォルダーに適切な権限を付与します。

sudo chmod -R 755 /var/www/html/folder

所有権の確認と変更も行う

shudo chown root:www /var/www/html/folder

パスを自分のものに変更します。

于 2016-02-13T10:49:26.600 に答える