【问题标题】:T_STRING error in my php code [duplicate]我的 php 代码中的 T_STRING 错误[重复]
【发布时间】:2015-06-16 02:11:41
【问题描述】:

我有这个 PHP 应该抓取 End Clothing 网站以获取产品 ID

当我运行它时,它给了我这个错误

解析错误:语法错误,意外的 'i' (T_STRING),在第 5 行的 C:\xampp\phpMyAdmin\end3.php 中需要 '('

<?php
#!/bin/bash
#Crawl End Clothing For Product IDs

for i in $(eval echo {$1..$2})
do
rm -f end-cookie.jar
curl -c end-cookie.jar -L 
http://www.endclothing.co.uk/checkout/cart/add/uenc/aHR0cDovL3d3dy5lbmRjbG90aGluZy5jby51ay9ldHEtaGlnaC10b3AtMS1zbmVha2VyLWVuZC1leGNsdXNpdmUtZXRxLTQtZW5kYmsuaHRtbA,,/product/253361/form_key/DcwmUqDsjy4Wj4Az/ 

-s -o /dev/null
url='curl -b end-cookie.jar -w "%{url_effective}\n" -L -s -S -o 

/dev/null 
http://www.endclothing.co.uk/checkout/cart/add/uenc/aHR0cDovL3d3dy5lbmRjbG90aGluZy5jby51ay9ldHEtaGlnaC10b3AtMS1zbmVha2VyLWVuZC1leGNsdXNpdmUtZXRxLTQtZW5kYmsuaHRtbA,,/product/

$i/form_key/DcwmUqDsjy4Wj4Az/ 
'
echo $i - $url
done
?>

请问我该如何解决这个问题?谢谢

【问题讨论】:

  • 你真的可以在&lt;?php这样的标签中放一个任意的shell脚本吗?这对我来说是个新闻......
  • for i 应该为 $i。不过我同意前面两个人的观点:你在这里粘贴了什么?
  • 对不起,长网址看起来很奇怪,我不知道为什么
  • 我把 i 改成了 $i 还是报错:(
  • 这是一个不同的错误。你不是在这里写 PHP,这看起来像一个 shell 脚本。下面是用 PHP 编写 curl 的方法,php.net/manual/en/curl.examples-basic.php

标签: php web-crawler


【解决方案1】:

我认为你得到了这个 C# 或 C++ 或其他类似语言的代码,这个代码在 PHP 中不起作用,

如果您获得一个外部 java 应用程序 (jar),请改用 exec 函数。

$url_effective = "http://www.endclothing.co.uk/checkout/cart/add/uenc/aHR0cDovL3d3dy5lbmRjbG90aGluZy5jby51ay9ldHEtaGlnaC10b3AtMS1zbmVha2VyLWVuZC1leGNsdXNpdmUtZXRxLTQtZW5kYmsuaHRtbA,,/product/$i/form_key/DcwmUqDsjy4Wj4Az/";
$crwal = exec("end-cookie.jar -w".$url_effective." -L -s -S -o");

或者一些适合这种风格的。

【讨论】:

  • 是的,我是从外部来源获得的,但不确定。我尝试了你的建议,但仍然给我一个关于第 5 行的错误:(
  • 在 php 中的 bucle 应该是:for($i=0;$i &lt;= $total_ids ; ++$i){ $total_ids 是一个假变量,你应该想办法知道数据的总数来运行 for bucle,然后把它放在一个变量中。
  • 这个问题对你的倾诉非常有用stackoverflow.com/questions/2313107/…
猜你喜欢
  • 2012-05-17
  • 2023-03-20
  • 2011-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-09
相关资源
最近更新 更多