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