gpt4 book ai didi

php - move_uploaded_file 不工作

转载 作者:太空宇宙 更新时间:2023-11-03 11:46:51 26 4
gpt4 key购买 nike

您好,我正在尝试将图像上传到我的数据库和文件夹以及我表单中的其他元素,一切正常,但我无法让文件出现在上传文件夹中。这是我的代码:

if(isset($_POST['submit'])){
//This gets all the other information from the form
$name = $_POST['name'];
$description = $_POST['description'];
$founded = $_POST['founded'];
$category = $_POST['category'];
$fileName = $_FILES['userfile']['name'];
$tmpName = $_FILES['userfile']['tmp_name'];
$fileSize = $_FILES['userfile']['size'];
$fileType = $_FILES['userfile']['type'];

$uploaded_dir = "/httpdocs/uploads/";
$path = $uploaded_dir . $fileName;

print "Temporary name: " . $_FILES['userfile']['tmp_name'] . "<br>";
print "Original name: $filename<br>";
print "Destination: $path<br>";

if (move_uploaded_file($_FILES["userfile"]["tmp_name"], $path)) {
print "Uploaded file moved";
// do something with the file here
} else {
print "Move failed";
}

$fp = fopen($tmpName, 'r');
$content = fread($fp, filesize($tmpName));
$content = addslashes($content);
fclose($fp);

if(!get_magic_quotes_gpc()){
$fileName = addslashes($fileName);
}

// Connects to your Database
mysql_connect("localhost", "root", "") or die(mysql_error()) ;
mysql_select_db("my_db") or die(mysql_error()) ;


//Writes the information to the database
$query = "INSERT INTO mytable (name, description, founded, category, logo)".
"VALUES ('$name', '$description', '$founded', '$category', '$fileName')";

mysql_query($query) or die('Error, query failed');
include 'library/closedb.php';

echo "<br>File $fileName uploaded<br>";
}

这是我每次得到的回应

Temporary name: /tmp/phpA8JjRz
Original name:
Destination: /httpdocs/uploads/fixed.png
Move failed
File fixed.png uploaded

这是我的表格

<form method="POST" action="path" enctype="multipart/form-data">
<label>Flying School</label><br />
<input type="text" name="name" id="fsn" placeholder="Flying School Name" required/><br />
<label>Category</label><br />
<select name="category">
<option value="0">one</option>
<option value="1">two</option>
<option value="2">three</option>
<option value="3">four</option>
</select><br />
<label>Founded</label><br />
<input type="text" name="founded" id="founded" placeholder="yyyy-mm-dd" /><br />
<label>Logo</label><br />
<!--<div class="uploadlogo">-->
<input type="file" name="userfile" />
<!--</div>--><br />
<label>Cover Image</label><br />
<div class="coverimage">
<input type="file" name="cover" id="cover" />
</div><br />
<label>Description</label><br />
<?php
if (isset($_POST['description'])) $initialentry=$_POST['description'];
else $initialentry='';
$editor = JFactory::getEditor();
echo $editor->display( 'description', $initialentry, '80%', '350', '55', '20', false ) ;
?><br />
<label>Photos</label><br />
<ul id="addPhotos">
<li><div class="upload1">
<input type="file" name="acimg1" id="acimg1" />
</div></li>
<li><div class="upload2">
<input type="file" name="acimg2" id="acimg2" />
</div></li>
<li><div class="upload3">
<input type="file" name="acimg3" id="acimg3" />
</div></li>
</ul>
<br />
<label>Choose here</label><br />
<label class="checkbox-inline">
<input type="checkbox" value="Rss">R22
</label>
<label class="checkbox-inline">
<input type="checkbox" value="R44">R44
</label>
<label class="checkbox-inline">
<input type="checkbox" value="R66">R66
</label>
<label class="checkbox-inline">
<input type="checkbox" value="AS355">AS355
</label>
<label class="checkbox-inline">
<input type="checkbox" value="PA28">PA28
</label>
<label class="checkbox-inline">
<input type="checkbox" value="CESSNA172">Cessna 172
</label>
<label class="checkbox-inline">
<input type="checkbox" value="CESSNA152">Cessna 152
</label><br />
<input class="btn btn-primary" type="submit" name="submit" value="Submit" />

提前致谢!

最佳答案

"SOLVED!!! thanks man I got the true path for the folder and its worked like a dream!! you my friend are a life saver! – Dave Lynch"

将我的评论添加到答案中:

/httpdocs/uploads/ 应该是一个完整的系统路径。

即:/var/usr/httpdocs/uploads/ 或相对路径。即:../uploads/

我怀疑你的根是/httpdocs/。在大多数服务器上,系统路径通常以 /var/usr/ 开头。其他人有类似 /var/usr/public_html/ 等。还有更多,但这些已经足够了。

使用 phpinfo() 将显示您的系统路径。

也如评论中所述:

您现在的密码是开放给SQL injection .使用 prepared statements , 或 PDOprepared statements .

关于php - move_uploaded_file 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38088114/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com