Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.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 &引用;只能通过引用传递变量;错误_Php_Csv - Fatal编程技术网

Php &引用;只能通过引用传递变量;错误

Php &引用;只能通过引用传递变量;错误,php,csv,Php,Csv,我不能真正阅读PHP,但我试图通过PHP在我的页面上传一个csv文件,并得到以下错误。我知道有很多帖子都在谈论这个,但我不太明白它们的意思。寻找一个答案,如果有人能向我解释发生了什么事,并提供修复 严格标准:只能通过引用传递变量 在上的C:\xampp\htdocs\search\php\loader\csvFileUploader1.php中 第9行上载文件失败>>>错误代码: 1 这里是PHP <?php // using upload at click from http://cod

我不能真正阅读PHP,但我试图通过PHP在我的页面上传一个csv文件,并得到以下错误。我知道有很多帖子都在谈论这个,但我不太明白它们的意思。寻找一个答案,如果有人能向我解释发生了什么事,并提供修复

严格标准:只能通过引用传递变量 在上的C:\xampp\htdocs\search\php\loader\csvFileUploader1.php中 第9行上载文件失败>>>错误代码: 1

这里是PHP

<?php
// using upload at click from http://code.google.com/p/upload-at-click/
// FileData is the name for the input file

$file_result = "";
$file = $_FILES['Filedata'];

$allowedExtensions = array("csv", "txt");
$extension = end(explode(".", $file["name"]));


function isAllowedExtension($fileName) {
    global $allowedExtensions;
    return in_array(end(explode(".", $fileName)), $allowedExtensions);
}

if($file["error"] > 0){
    echo "failure to upload the file >>> ". "Error code: ".$file["error"]."<br>";
}else{
    //echo " >>> CURRENT DIR: ".getcwd() . "\n";
    $workDir = getcwd();

    $dir = substr($workDir, 0, -10);
    $path = $file["name"];
    $newFileLoc = $dir.$path;

    $file_result.=
    "<br>     Upload: " . $file["name"] . "<br>" .
    "     Type: " . $file["type"] . "<br>" .
    "     Size: " . $file["size"] . "<br>" .
    "     file uploaded to: ".$newFileLoc."<br>";

    // txt - text/plain
    // rtf - application/msword
    // dat/obj - application/octet-stream
    // csv - application/vnd.ms-excel
    // maximum 200 MB file - 200,000,000 k

    if (    ($file["type"] == "application/vnd.ms-excel" || $file["type"] == "text/plain")
            && isAllowedExtension($file["name"])
            && ($file["size"] < 200000000)
        )
        {   
            move_uploaded_file($file["tmp_name"], $newFileLoc);
            //echo $file_result.=" >>> File uploaded successfull!!";
            echo "|".$path;//"filePath : " . $newFileLoc;

        }else{
            echo " >>> NOT a file valid: ". isAllowedExtension($file["name"]);
        }       
}


?>

不能将函数的返回值传递给
end()

让它:

$arrayVar = explode(".", $file["name"]);
$extension = end($arrayVar);

其他PHP函数也会有同样的问题。例如
empty(someFunction())
不起作用。

您不能将函数的返回值传递给
end()

让它:

$arrayVar = explode(".", $file["name"]);
$extension = end($arrayVar);

其他PHP函数也会有同样的问题。例如
empty(someFunction())
将不起作用。

说明
的要求数组通过引用传递,因为它是由函数修改的。这意味着您必须向其传递一个实变量,而不是返回数组的函数,因为只有实变量可以通过引用传递。
。在使用相同的PHP文件之前,我已经能够将其他.csv文件上载到我的页面中。这是一个好问题。此外,要获取文件的扩展名,只需使用
$extension=pathinfo($file[“name”],pathinfo\u扩展名)。更干净,不涉及技巧。的可能重复说明了
的要求,数组通过引用传递,因为它是由函数修改的。这意味着您必须向其传递一个实变量,而不是返回数组的函数,因为只有实变量可以通过引用传递。
。在使用相同的PHP文件之前,我已经能够将其他.csv文件上载到我的页面中。这是一个好问题。此外,要获取文件的扩展名,只需使用
$extension=pathinfo($file[“name”],pathinfo\u扩展名)。更干净,没有技巧。可能重复的ok我改成了那个,但现在得到了一个新的错误”--要加载的CSV文件:上传文件失败错误代码:1
“这里解释了错误代码:注意,在PHP5.5中,您应该能够在空文件中加载除变量以外的其他内容。应该很有用!如果他们对end/reset Take做了类似的操作,那就太好了,我改成了,但现在出现了一个新的错误--“要加载的CSV文件:上传文件失败错误代码:1
”这里解释了错误代码:注意,在PHP5.5中,您应该能够在空文件中加载除变量以外的其他内容。应该很有用!如果他们为end/reset做了类似的事情,那就太好了