2016-03-28 36 views
0

は、私は、スタックオーバーフローやPHPを使用してファイルをアップロードする方法のために他のチュートリアルを探してきました。それは、「ファイルアップロードされませんが、」エコー、その時点でmove_uploaded_file($ file_temp、$ file_destination)の条件で声明場合、それはに到達するまで、以下のスクリプトが動作します。画像のアップロード - move_uploaded_file

chmod関数を含むifステートメントは、多くの関連するスタックの提案であるため、ファイルのアクセス権を0777に変更しようとしています(これは私が読んだり、誰にでもアクセスできるようにします)オーバーフローの答え。私はこの時点で問題はファイルのアクセス許可だとは思わない。

だから、基本的に私はこれで何が間違っている見当がつかない。ヘルプが理解される:)

<form action="upload.php" method="post" enctype="multipart/form-data"> 
    Your Photo: <input type="file" name="image" /> 
    <input type="submit" name="submit" value="Submit" /> 
</form> 

<?php 
print_r($_FILES); 

// file properties 
$file_name = $_FILES['image']['name']; 
$file_tmp_name = $_FILES['image']['tmp_name']; 
$file_size = $_FILES['image']['size']; 
$file_error = $_FILES['image']['error']; 

// get the extension of the file 
$file_ext = explode('.', $file_name); 
$file_ext = strtolower(end($file_ext)); 

var_dump(file_exists('uploads')); 

// this is false 
if(chmod('uploads', 0777)){ 
    echo " booooh"; 
    } 
    else{ 
    echo "naaah"; 
    } 

$file_name_new = uniqid('', true) . '.' . $file_ext; 
echo "<br>"; 
echo $file_destination = '/uploads/' . $file_name;   

// this is false too 
if(move_uploaded_file($file_temp, $file_destination)) { 
    echo "<br>$file_destination<br>"; 
    echo "hello world<br>"; 
} 
else { 
    echo "<br>file not uploaded<br>"; 
} 

?> 
+0

'のvar_dump(file_exists( 'アップロード'));'エラーです私はあなたがファイル〜/アップロードまたはディレクトリを存在して確認してくださいと思います。 'php.ini' http://php.net/manual/en/ini.core.php#ini.open-basedir – Naumov

答えて

2

あなたが書く:

move_uploaded_file($file_temp, $file_destination); 

$file_tempはスクリプトで定義されていません。元のfilePathは$file_tmp_nameです。

move_uploaded_file($file_tmp_name, $file_destination); 

また、$file_name_newを使用しないことに注意してください。

追加注:/uploads/ディレクトリがないドキュメントルートの下に、ディレクトリツリーのトップレベルにある必要があります先のパスは絶対パスでなければなりません。

+0

修正が($ file_temp、$ file_destinationを)move_uploaded_fileするために変更されたにオプション' open_basedir'をご確認ください。 move_uploaded_file($ file_tmp_name、$ file_destination)に移動します。 $ destination_pathを絶対ファイルパスに変更します。おかげで@ fusion3k – Daniel

+0

あなたはようこそ。 – fusion3k

関連する問題