5

フォームと PHP/IIS 7 を使用してファイルをアップロードしようとすると、次のメッセージが表示されます。

PHP Warning:  File upload error - unable to create a temporary file in Unknown on line 0

私のフォーム:

<form action="acciones.php" id="form3" method="POST" enctype="multipart/form-data">
    <input type="hidden" value="3" name="accion">
    <input type="text" name="nombre" placeholder="Nombre">
        <input type="file" name="imagen" accept="image/x-png, image/gif, image/jpeg" />
    <input type="button" id="envio" class="button azul" value="Agregar" onclick="envios()">
</form>

私のPHPコードとリファレンス:

$target = "/images/";
$target = $target . basename( $_FILES['imagen']['name']);
//This gets all the other information from the form
$name=$_POST['nombre'];
$pic=($_FILES['imagen']['name']);

//Writes the information to the database
$query = "INSERT INTO Playeras (Nombre, Ruta) VALUES ('$name', $pic')";
mysql_query($query, $conexion -> conn) or die("Error: ".mysql_error()) ;

//Writes the photo to the server
if(move_uploaded_file($_FILES['imagen']['tmp_name'], $target))
{
    //Tells you if its all ok
    echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded, and your information has been added to the directory";
}
else 
{
 //Gives and error if its not
 echo "Sorry, there was a problem uploading your file.";
}

一時ファイルのパスを設定しました:

upload_tmp_dir = "C:/Users/server/Pictures/tmp"

また、IIS_IUSRS と IUSRS のアクセス許可を完全に制御できるようにしました。しかし、毎回、エラーが発生します。何が間違っているのかわかりません。誰かが私を助けることができれば、それは素晴らしいことです.

4

3 に答える 3

6

それを機能させました。

かわった

upload_tmp_dir = "C:/Users/server/Pictures/tmp" to "C:\TEMP".

CでフォルダTEMPを作成し、権限を与えます。C: に直接接続する場合にのみ機能するようです。

于 2013-05-12T02:34:16.570 に答える
0

最近、Laravel と Wordpress (php バージョン 7.3) で作業しているときに、「ファイル アップロード エラー - 行 0 の不明で一時ファイルを作成できません」というエラーが発生しました。

私のために働いた解決策はです。これが、このような問題に直面しているすべての人に役立つことを願っています。

ララベル

  1. プロジェクトのルート フォルダーに tmp フォルダーを作成します。書き込み権限が適切に設定されていることを確認してください。
  2. public フォルダーに php.ini ファイルを作成します。

ワードプレス

  1. プロジェクトのルート フォルダーに tmp フォルダーを作成します。書き込み権限が適切に設定されていることを確認してください。
  2. wp_admin フォルダーに php.ini ファイルを作成します。他の ini 設定に加えて、特に php.ini に以下の行を追加します。

upload_tmp_dir = オン

upload_tmp_dir = "/path/to/tmp/folder"

ここでパスは /home/cpanel username/public_html/folder/project/tmp のようになります

注: Laravel で作業している場合は、ストレージ フォルダーにファイルを保存する場合は、ストレージ フォルダーをリンクすることを忘れないでください。このために、ターミナルで以下のコマンドを実行します。

php アーティザン ストレージ:リンク

この投稿にも回答が追加されました...警告: ファイルのアップロード エラー - 行 0 の不明で一時ファイルを作成できません

于 2021-03-18T12:19:46.907 に答える