我不能使用 file_exists 上传脚本
Posted
技术标签:
【中文标题】我不能使用 file_exists 上传脚本【英文标题】:i cant use file_exists for uploading script 【发布时间】:2015-09-15 09:26:09 【问题描述】:<?php
ini_set('post_max_size', '40M');
ini_set('upload_max_filesize', '40M');
if (isset($_POST['do']) and $_POST['do'] == 'upload')
$filename = $_FILES['file']['name'];
$filesize = $_FILES['file']['size'];
$tmp_name = $_FILES['file']['tmp_name'];
$file_type = $_FILES['file']['type'];
$date = "[".date("d-m-Y_H-i")."]";
$temp = explode(".", $filename);
$new_filename = $temp[0] . ''/*you can put any thing that you want before the [] in the 2 singels*/ . $date . '.' . end($temp);
$f_folder = "uploads" . DIRECTORY_SEPARATOR .$_POST['user']. DIRECTORY_SEPARATOR . $new_filename;
$username = $_POST['user'];
echo $username."<br>";
if (file_exists("uploads" . DIRECTORY_SEPARATOR .$_POST['user'] == true))
if (empty($filename))
echo "choose file please";
else
move_uploaded_file($tmp_name, $f_folder);
echo "file is uploaded in " . $f_folder;
else
echo "error";
;
echo "<hr>";
echo "
<form method='post' enctype='multipart/form-data' >
File Path : <input type='file' name='file' />
<br>
username : <input type='text' name='user' />
<br>
<input type='submit' name='do' value='upload' />
</form>";
?>`
这没有给我任何东西
我想检查他们是否是file name = $_POST['user']
或者有没有更好的方法来创建一个名为 ($_POST['user'])
的文件夹,如果它不存在?
并将上传的文件放入其中
我知道代码不干净,但我还是初学者
更新
我认为这个想法对于初学者来说并不容易也许以后谢谢大家
【问题讨论】:
请正确地重新缩进你的脚本,你会发现为什么它目前导致Parse error: syntax error, unexpected end of file
顺便说一句:你的两个ini_set
s 无效。 post_max_size
和 upload_max_filesize
都是 PHP_INI_PERDIR
并且“效果”在脚本执行之前已经发生。见docs.php.net/manual/en/configuration.changes.modes.php和docs.php.net/manual/en/ini.list.php
【参考方案1】:
您的代码中有错字:
if (file_exists("uploads" . DIRECTORY_SEPARATOR .$_POST['user'] == true))
应该是:
if (file_exists("uploads" . DIRECTORY_SEPARATOR .$_POST['user']) == true)
== true
不是必需的。
【讨论】:
我想检查他们是否是文件夹名称 = $_POST['user'] 整个页面仍然没有输出 如果出现空白页,请启用错误报告。你在这里在黑暗中工作......以上是关于我不能使用 file_exists 上传脚本的主要内容,如果未能解决你的问题,请参考以下文章
照片上传 getimagesize() 警告 - 文件名不能为空