Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过php在apache服务器上上传文件_Php_Apache_File Upload_Debian - Fatal编程技术网

通过php在apache服务器上上传文件

通过php在apache服务器上上传文件,php,apache,file-upload,debian,Php,Apache,File Upload,Debian,我正试图将一个文件从我的网站下载到我的服务器上,但找不到我做错的原因或地方 下面是我的php代码: $fn = $_FILES['file']['name']; if (is_writable('.')) { echo "Writable<BR>"; } else { echo "Not writable<BR>"; } $upfile = './'.basename($fn); echo

我正试图将一个文件从我的网站下载到我的服务器上,但找不到我做错的原因或地方

下面是我的php代码:

    $fn = $_FILES['file']['name'];
    if (is_writable('.')) { 
        echo "Writable<BR>";
    } else {
        echo "Not writable<BR>";
    }
    $upfile = './'.basename($fn);
    echo $upfile.'<BR>';
    shell_exec("echo 'baaaaah' > test.baaaah");
    $f = $_FILES['file']['tmp_name'];
    echo $f.'<BR>';
    if (is_uploaded_file($f)) { echo "uploaded<BR>"; } else { echo "not uploaded<BR>";} 
    $com = "test - f ".$f." && echo 'F' || echo 'N'";
    echo $com.'<BR>';
    echo shell_exec($com).'<BR>';
    if (move_uploaded_file($f,$uploadfile)) {
        echo "File transfer OK<BR>";
    } else {
        echo "File transfer NOK<BR>";
    }
    print_r($_FILES);
因此,我首先检查我的文件夹是否可写(它不打算是“.”,但我移动到这里是因为我想要的文件夹也不工作(与“.”到…)的行为相同)=>检查

然后我尝试在这里shell_exec一个文件,只是为了确保=>check,文件在服务器上

然后检查是否在服务器上创建了临时文件: -检查,不管怎样,上传的文件在这里 -不检查,但是对临时文件的测试不起作用(并且由于该文件不应该在脚本结束之前删除,所以应该在这里看到该文件imho?)

然后我尝试使move\u upload\u file=>不检查

我打印的$_文件没有显示任何可疑内容(错误=0,文件名与我以前看到的匹配)


我不知道哪里出了问题,也不知道哪里出了错误>$uploadfile在代码中没有定义。更改它或将其设置为“.”,它应该可以工作

您似乎没有在任何地方定义目标文件名
$uploadfile
。你可能想要
$upfile
。真不敢相信我错过了。。。我把它改成$upfile,我确实工作了
Writable
./flag.jpg
/tmp/phpyKvhEz
uploaded
test - f /tmp/phpyKvhEz && echo 'F' || echo 'N'
N 
File transfer NOK
Array ( [file] => Array ( [name] => flag.jpg [type] => image/jpeg [tmp_name] => /tmp/phpyKvhEz [error] => 0 [size] => 1660 ) )