我想在进入此之前指出我是一个PHP新手,并且在最终决定我不知道我在做什么之前我一直在努力奋斗
function extract_bin($Filename, $output){
global $template;
global $BinColumnDelimiter;
global $BinLineEnd;
$decodedfile = fopen($output,'w+');
$decodedfilecontents = "";
$handle = fopen($Filename, "r");
if ($handle) {
foreach ( $template as $ColName=>$Endians)
$decodedfilecontents .= $ColName.$BinColumnDelimiter;
$decodedfilecontents .= $BinLineEnd;
while (!feof($handle)) {
$lastLine = '';
foreach ($template as $ColName => $Endians){
$hex = bin2hex(fread($handle,$Endians));
if ( $Endians <= 4) {
$val = hexdec(decodehex($hex));
if ( $val == 4294967295 ) $val = -1;
$lastLine .= $val.$BinColumnDelimiter;
} else {
$lastLine .= str_replace("\t"," ",hex2str($hex)).$BinColumnDelimiter;
}
}
if ( ! feof($handle))
$decodedfilecontents .= $lastLine.$BinLineEnd;
}
fclose($handle);
fwrite($decodedfile,$decodedfilecontents);
fclose($decodedfile);
}
echo '<h1>'.$output.'</h1>';
echo '<hr />';
print_r($decodedfilecontents);
}
我一直收到这个错误:
警告:fopen():第8行的C:\ xampp \ htdocs \ rh-bin \ func.php中的文件名不能为空
我的问题是,在尝试将上传的文件作为附件传递时,我做错了什么?而且,为什么$ FileName似乎是空的?此外,并非每个人都会上传文件,所以我怎么能允许提交?
答案 0 :(得分:0)
print_r($Filename)
检查是否打印任何内容
答案 1 :(得分:0)
在传递给fopen()之前检查$ Filename是否为空。 //这是一种很好的做法。
根据你的问题,你的说法不是每个人都在上传文件,那么你每次使用空值调用此函数而不上传文件时也要检查并确认。