Я использую поиск индексации Windows вместе с PHP для поиска внутри тысяч файлов.
Я получил его работу, используя класс PHP COM :
$conn = new COM("ADODB.Connection") or die("Cannot start ADO"); $recordset = new COM("ADODB.Recordset"); $conn - > Open("Provider=Search.CollatorDSO;Extended Properties='Application=Windows';"); $recordset - > Open("SELECT System.ItemName, System.DateModified FROM SYSTEMINDEX WHERE DIRECTORY='file:C:/xxxx/' AND CONTAINS('xxxx')", $conn); $recordset - > MoveFirst(); while (!$recordset - > EOF) { echo $recordset - > Fields - > Item("System.ItemName") - > Value."\n"; $recordset - > MoveNext(); }
Теперь я хотел бы использовать свойство maxRecords, которое используется в Visual Basic для работы с ADO.
//Visual Basic usage of the property objRecordSet.MaxRecords = 150
Я не знаю, есть ли какой-либо эквивалент для класса COM в PHP, и я не мог найти ничего в документации.
Вы пробовали это?
$recordset = new COM("ADODB.Recordset"); $recordset->MaxRecords = 150;
COM-класс PHP – это всего лишь оболочка вокруг COM в целом (я думаю, что OLE Automation будет специфичной), и по большей части, если свойство или функция подвергается VBScript, это может быть непосредственно переведено в PHP-код.