0

我使用 libphonenumber js 和 php 来验证文件中的数字列表:

include 'SimpleXLSX.class.php';
$lines = array();

if(isset($_FILES['file']))
{
    $filename = $_FILES['file']['name'];
    $filetmpname = $_FILES['file']['tmp_name'];
    $ext = pathinfo($filename, PATHINFO_EXTENSION);
    print_r($ext);

    if($ext == 'csv')
    {   
        $fr = fopen($_FILES['file']['tmp_name'], 'r+');
        while( ($row = fgetcsv($fr, 8192)) !== FALSE ) 
        {   
            $lines[] = $row;
        }
    }           
    else if($ext == 'xlsx')
    {
            $xlsx = new SimpleXLSX($filetmpname);
            $rows = $xlsx->rows();

            foreach ($rows as $row)
            {
                $lines[] = $row;    
            }                                               
    }
}
$objects = (object)$lines;


$number='';

foreach($objects as $object)
{   
    $number = $object[7];   


    if(<script> </script>');


    var_dump($object[7]);
}










?>

<html>  
    <h2>libphonenumber Tool</h2>


<form action="" method="post" accept-charset="utf8" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" name="btn_submit" value="Upload File"  />


<script src="goog/base.js"></script>
<script>
  goog.require('goog.proto2.Message');
</script>
<script src="phonemetadata.pb.js"></script>
<script src="phonenumber.pb.js"></script>
<script src="metadata.js"></script>
<script src="phonenumberutil.js"></script>
<script src="asyoutypeformatter.js"></script>
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>

<script>






var number = <?php print_r(json_encode($number));?>;
var regionCode = null;
var phoneUtil = i18n.phonenumbers.PhoneNumberUtil.getInstance();
/* Grab the parser. */
//var isNumberValid = phoneUtil.isValidNumber(myStr);
/* Parse the phone number. */
var proto = null;
try {
    proto = phoneUtil.parse(number, "US");
  //  if(myStr = isNumberValid){console.log('succsess');}
} catch (error) {
    proto = error.toString();
}

var isNumberValid = phoneUtil.isValidNumber(proto);
if(isNumberValid)
{
    alert('Valid');
}
else{alert('not valid')};enter code here
</script>

我希望将 php 中的每个 $number 传递给 js 中的 var 编号,并将 true 或 false 返回给 php if 语句。抱歉英语不好

4

1 回答 1

0

PHP 在服务器端执行,JavaScript 在客户端(在浏览器中)执行。您只能将 PHP 变量传递给 JS 脚本,如下所示:

<?php
    $x1 = 'foo';
    echo ('<script type="text/javascript">var x1 = "' + $x1 + '";</script>');
?>

但是在 PHP 中生成的脚本将在客户端浏览器上执行,到那时 PHP 将停止工作。所以你不能(直接)将你的 JS 变量传递给 PHP 脚本。您可以使用 AJAX 来做到这一点,但我认为这不是您的意思。

于 2014-10-26T17:01:05.443 回答