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 函数不适用于多次上传