上传后文件未移动到特定文件夹-PHP
我在客户机上使用PHP5.3。xammp安装在我院实践实验室的服务器上。 我想上传一个文件,然后想把它移动到特定的文件夹中。 所以上传文件的代码工作正常,并成功上传到我们的服务器上。 但是现在我想把这个文件移到我在客户端pc上创建的php项目和表单所在的文件夹中。 我怎么做? 这是我尝试过的代码,但它只是将文件上传到服务器,但无法移动 下面是php代码上传后文件未移动到特定文件夹-PHP,php,file-upload,Php,File Upload,我在客户机上使用PHP5.3。xammp安装在我院实践实验室的服务器上。 我想上传一个文件,然后想把它移动到特定的文件夹中。 所以上传文件的代码工作正常,并成功上传到我们的服务器上。 但是现在我想把这个文件移到我在客户端pc上创建的php项目和表单所在的文件夹中。 我怎么做? 这是我尝试过的代码,但它只是将文件上传到服务器,但无法移动 下面是php代码 <?php if(isset($_POST['submit'])) { $fname=$_FILES['file']['na
<?php
if(isset($_POST['submit']))
{
$fname=$_FILES['file']['name'];
if($_FILES['file']['name']!="")
{
move_uploaded_file($_FILES["file"]["tmp_name"],"/images".$_FILES["file"]["name"]);
echo "uploaded";
}
else
{
echo "Not Uploaded";
}
}
?>
HTML代码
<form method="post" name="frm1" enctype="multipart/form-data">
<label for="fileSelect">Filename:</label>
<input type="file" name="file" />
<input type="submit" name="submit" value="Upload">
</form>
选择并提交文件后,将显示输出
上传。
但不会显示在我在项目中创建的图像文件夹中。请尝试更改:
move_uploaded_file($_FILES["file"]["tmp_name"],"/images/".$_FILES["file"]["name"]);
也许你错过了dir和name之间的联系
参考链接:我的直觉是目标目录不在站点的根结构中,因此您分配的根相对路径/images不可用。如果是这种情况,请使用该目录的完整路径字符串,如下所示:
<?php
/* utility to recursively create folder path if needed */
function createpath( $path=NULL, $perm=0644 ) {
if( !file_exists( $path ) ) {
createpath( dirname( $path ) );
mkdir( $path, $perm, TRUE );
clearstatcache();
}
}
if( isset( $_POST['submit'] ) && !empty( $_FILES['file'] ) ) {
$status = false;
$writeenable=true;
$name = $_FILES['file']['name'];
$error = $_FILES['file']['error'];
$tmp = $_FILES['file']['tmp_name'];
/* If the directory is in the DOCUMENT_ROOT structure */
/*
$targetdir = $_SERVER['DOCUMENT_ROOT'] . '/images';
if( !file_exists( $targetdir ) )createpath( $targetdir );
*/
/* If the directory is outside of the DOCUMENT_ROOT */
$targetdir = 'D:\Sem-2\PHP\Unit-3\file-upload\images';
if( !file_exists( $targetdir ) ) exit('Warning: Target directory cannot be found');
if( !is_writable( $targetdir ) ) {
if( $writeenable ) chmod( $targetdir,0644 );
else exit('unable to write to target directory');
}
if( $error == UPLOAD_ERR_OK && is_uploaded_file( $tmp ) ){
$status = move_uploaded_file( $tmp , $targetdir . '/' . $name );
}
echo $status ? 'uploaded' : 'Not Uploaded';
}
?>
images目录是根目录吗?@RamRaider我创建了D:\Sem-2\PHP\Unit-3\file upload\images这样的目录,但现在我想将该文件移动到我关注的PHP项目所在的文件夹中,并在我的客户端pc上创建了一个表单move\u upload\u文件用于移动服务器上的文件,而不是客户端上的文件。您需要下载未上载的文件;?也许你想回显未上传;?确定-上面路径中的文档根是哪个?路径以驱动器D开头的事实表明,这可能完全在文档根目录之外,除非您是从驱动器D运行Web服务器?试试chmod$targetdir,0644;警告:chmod:第48行的D:\PHP\file upload\frmFileUp.PHP中没有这样的文件或目录,无法写入目标目录。