尝试使用表单和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>
$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提供了完全控制权限。但每一次,我都会得到错误。我不知道我做错了什么。如果有人可以帮助我,那就太棒了。
答案 0 :(得分:4)
让它发挥作用。
更改
upload_tmp_dir = "C:/Users/server/Pictures/tmp" to "C:\TEMP".
在C中创建文件夹TEMP并授予权限。似乎只有在直接连接到C:时才有效。
答案 1 :(得分:0)
我最终发现,为什么会发生这种错误:
IUSR帐户(或php流程模拟的帐户,具体取决于您的身份验证设置)需要能够枚举upload_tmp_dir文件夹的父文件夹。
此行为很奇怪,因为日志或会话文件夹不需要此权限。
我的解决方案如下(使用上面的路径):
或者,您可以在父文件夹“C:/ Users / server / Pictures / tmp”上授予“仅此文件夹”的只读权限。在这种情况下,您不需要另一个子文件夹。
答案 2 :(得分:0)
最近在 Laravel 和 Wordpress(php 版本 7.3)中工作时出现此错误“文件上传错误 - 无法在第 0 行的未知中创建临时文件”
对我有用的解决方案是。希望这可以帮助任何面临此类问题的人。
upload_tmp_dir = on
upload_tmp_dir = "/path/to/tmp/folder"
这里的路径类似于 /home/cpanel username/public_html/folder/project/tmp
注意:如果您在 Laravel 中工作......如果您将文件存储在存储文件夹中,请不要忘记链接存储文件夹。为此,请在终端下运行以下命令。
php artisan storage:link
添加到此帖子的答案还... Warning: File upload error - unable to create a temporary file in Unknown on line 0