move_uploaded_file 不工作我正在使用 php 5.6.25

Posted

技术标签:

【中文标题】move_uploaded_file 不工作我正在使用 php 5.6.25【英文标题】:move_uploaded_file is not working i'm using php 5.6.25 【发布时间】:2017-07-04 14:03:30 【问题描述】:

Move_uploaded_file 不工作。我已经尝试了所有方法,但似乎没有任何效果。

<?php
error_reporting(E_ALL); 
ini_set("display_errors", 1); 
session_start();
error_reporting( E_ALL ^ E_DEPRECATED );
mysql_connect("127.0.0.1","root","");
mysql_select_db("v-u-a-p");

if(isset($_POST['submit']))

	$name = $_FILES['file']['name'];
	$temp = $_FILES['file']['tmp_name'];
	 if (move_uploaded_file($temp, "/files/".$name)) 
        print "Received $_FILES['file']['name'] - its size is $_FILES['userfile']['size']";
     else 
        print "Upload failed!";

	$url="http://127.0.0.1/Number1Edward/files/$name";
	mysql_query("INSERT INTO `videos` VALUE ('','$name','$url')");

?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Number_1_Edward</title>
<link rel="stylesheet" href="style.css?version=1">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
$(document).ready(function()
	 $('#sidebar-btn').click(function()
		 $('#sidebar').toggleClass('visable');
	 );
);	
</script>
</head>
<body>
<div id="box">
<center><h9 id="Logo">Number_1_Edward</h9></center>
</div>
<div id="sidebar">
  <ul>
    <li><a href="view.php">Home</a></li>
    <li><a href="upload.php">Upload</a></li>
    <li><a href="register.php">Register</a></li>
    <li><a href="#">About</a></li>
  </ul>
  <div id="sidebar-btn">
<span></span>
<span></span>
<span></span>
</div>
</div>
<div id='box'>
	<h1>Videos and Photos:</h1><p>Upload your videos and photos</p>
		<form action="view.php" method='POST' enctype="multipart/form-data">
			<input type="file" name="file"/>
			<input type="submit" name="submit" value="Upload!"/><br/>
			<textarea name="text" cols="40" rows="4" placeholder="Write a discription!(You must right a discription or it wont upload)" type="text"></textarea>
		</form>
	<?php
	if(isset($_POST['submit']))
	
		echo"<br/>".$name." has been uploaded";
	
	?>
	</div>
</body>
</html>
该文件正在将所有数据上传到mysql数据库,但文件没有移动我尝试了不同的命令,但似乎没有任何效果我已经多次更改director。代码中没有错误,除了mysql被弃用和使用error_reporting( E_ALL ^ E_DEPRECATED );命令。 我正在使用 wamp 服务器和 php 5.6.25。 你能帮我么?

【问题讨论】:

“你能帮我快速回答一下吗!” - 截止日期吧?啧啧,太惨了。我们在这里没有截止日期;我们会尽可能回答。 抱歉,我不能这么快回答。但是错误就在那里,也很容易看到。下次有礼貌。 and answer quick! 但我不能快速回答:( Felippe Duarte 哪里出错了? 【参考方案1】:

很高兴使用__DIR__ 来确保/files/ 是您认为的那样。如下所示。

最可能的答案是,这是您尝试写入的目录的权限问题,因此您可能希望获取对您的目录的引用,然后检查is_writable()

$name = __DIR__.'/files/' . $_FILES['file']['name'];
$temp = $_FILES['file']['tmp_name'];
 if (move_uploaded_file($temp, $name)) 
    print "Received $_FILES['file']['name'] - its size is $_FILES['userfile']['size']";
 else 
    print "Upload failed!";

【讨论】:

我使用了 is_writable() 它说文件是可写的。请帮忙。 @LeonardoStokes 尝试在 else 块中添加 print_r(error_get_last()); 以获取有关错误的更多详细信息。你也可以尝试转储$_FILES['file']['error']

以上是关于move_uploaded_file 不工作我正在使用 php 5.6.25的主要内容,如果未能解决你的问题,请参考以下文章

PHP move_uploaded_file无法在公共服务器上运行

使用move_uploaded_file时imagerotate

move_uploaded_file() 期望参数 2 是有效路径,给定对象

move_uploaded_file() php 函数不适用于多次上传

Ubuntu Server不会使用PHP“move_uploaded_file”上传文件

PHP文件上传move_uploaded_file不起作用