我正在尝试通过我的PHP脚本上传图像(大小约为89kb)。我的index.php的代码是:
<html>
<head>
<title>File Uploading Form</title>
</head>
<body>
<h3>File Upload:</h3>
Select a file to upload: <br />
<form action="file_uploader.php" method="post"
enctype="multipart/form-data">
<input type="file" name="file" size="100" />
<br />
<input type="submit" value="Upload File" />
</form>
</body>
</html>
它与file_uploader.php
位于同一目录中然后file_uploader.php的代码是:
<?php
if( $_FILES['file']['name'] != "" )
{
copy( $_FILES['file']['name'], "" ) or
//Exit and show the error message, die does this
die( "Could not copy file!");
}
else
{
die("No file specified!");
}
?>
<html>
<head>
<title>Uploading Complete</title>
</head>
<body>
<h2>Uploaded File Info:</h2>
<ul>
<li>Sent file: <?php echo $_FILES['file']['name']; ?>
<li>File size: <?php echo $_FILES['file']['size']; ?> bytes
<li>File type: <?php echo $_FILES['file']['type']; ?>
</ul>
</body>
</html>
目录索引和file_uploader的权限是:755。
脚本似乎加载但我收到错误“无法复制文件”,不知道这里发生了什么。有人可以给我一些指示吗?谢谢!
答案 0 :(得分:1)
查看https://github.com/doconix/django-mako-plus,然后请解释一下copy( $_FILES['file']['name'], "" )
应该做什么?如果我是你,我会修复该声明,并将其替换为专门为此创建的更安全的变体:documentation。
此外,请仔细阅读move_uploaded_file,您可能会在代码中发现另一个错误;如果您使用$_FILES[0]['tmp_name']
可能会让它更好用。
把所有这些放在一起;我使用:
move_uploaded_file($_FILES[0]['tmp_name'], __DIR__ .'/'. $_FILES[0]['name']);