我是PHP的新手,我学习的最好方法是测试项目,所以......我要做的是创建一个程序,让用户定义代码字符串的核心,以及然后上传一个放入其中的变量csv。我正在使用的示例是制作一组HTML列表项,因此最终代码为:
<li><span class="label">VARAIBLE1:</span> <span class="value">VARIABLE2</span></li>
因此,对于VARIABLE1,他们可以上传像CSS这样的csv项目
蝙蝠侠,加尔文,西蒙,洛基
对于VARIABLE2,单独的csv与
Robin,Hobbes,Garfunkel,Bullwinkle
这将反过来生成
<li><span class="label">Batman:</span> <span class="value">Robin</span></li>
<li><span class="label">Calvin:</span> <span class="value">Hobbes</span></li>
<li><span class="label">Simon:</span> <span class="value">Garfunkel</span></li>
<li><span class="label">Rocky:</span> <span class="value">Bullwinkle</span></li>
到目前为止,这是我一起拼凑的PHP。
$t1 = htmlspecialchars('<li><span class="label">');
$csv1 = fopen('http://viai.co/viai/viaidev/stringvariable/String%20Creator/csv1.csv', 'r');
fclose($csv1);
$t2 = htmlspecialchars('</span><span class="value">');
$csv2 = fopen('http://viai.co/viai/viaidev/stringvariable/String%20Creator/csv2.csv', 'r');
while (($line2 = fgetcsv($csv2)) !== FALSE) {
//$line is an array of the csv elements
print_r($line2);
}
fclose($csv2);
$t3 = htmlspecialchars('</span></li>');
$len = max(count($csv1), count($csv2));
for($i=0; $i<$len; $i++){
$csv1 = isset($csv1[$i]) ? $csv1[$i] : '';
$csv2 = isset($csv2[$i]) ? $csv2[$i] : '';
echo $t1.$csv1.$t2.$csv2.$t3;}
在某些时候,我能够使用我在PHP中键入的数组,但我希望从上传的CSV中读取它。任何指导都很棒,并提前感谢!
答案 0 :(得分:0)
您已经提到您的数据是CSV格式,但每行的格式为一项,因此我考虑了"\n"
而不是","
到explode。
Label 1
Label 2
Label 3
...
Description 1
Description 2
Description 3
...
所以你可以file_get_contents然后explode数据。
$data1 = file_get_contents( "http://viai.co/viai/viaidev/stringvariable/String%20Creator/csv1.csv" ,false );
$dataArray1 = explode( "\n" ,$data1 ); // Use "," instead if your data is CSV
var_dump( $dataArray1 ); // For test
$data2 = file_get_contents( "http://viai.co/viai/viaidev/stringvariable/String%20Creator/csv2.csv" ,false );
$dataArray2 = explode( "\n" ,$data2 ); // Use "," instead if your data is CSV
var_dump( $dataArray2 ); // For test
// Rest of your code to iterate through the arrays and display the info