UNPKG

phpjs

Version:

php.js offers community built php functions in javascript

69 lines (55 loc) 2.42 kB
--- layout: page title: "JavaScript fgetcsv function" comments: true sharing: true footer: true alias: - /functions/view/fgetcsv:801 - /functions/view/fgetcsv - /functions/view/801 - /functions/fgetcsv:801 - /functions/801 --- <!-- Generated by Rakefile:build --> A JavaScript equivalent of PHP's fgetcsv {% codeblock filesystem/fgetcsv.js lang:js https://raw.github.com/kvz/phpjs/master/functions/filesystem/fgetcsv.js raw on github %} function fgetcsv (handle, length, delimiter, enclosure, escape) { // http://kevin.vanzonneveld.net // + original by: Brett Zamir (http://brett-zamir.me) // - depends on: str_getcsv // * example 1: fopen('http://kevin.vanzonneveld.net/pj_test_supportfile_1.htm', 'r'); // * example 1: fgetcsv(handle, 1); // * returns 1: '<' var start = 0, fullline = ''; if (!this.php_js || !this.php_js.resourceData || !this.php_js.resourceDataPointer || length !== undefined && !length) { return false; } start = this.php_js.resourceDataPointer[handle.id]; if (start === undefined || !this.php_js.resourceData[handle.id][start]) { return false; // Resource was already closed or already reached the end of the file } fullline = this.php_js.resourceData[handle.id].slice(start, this.php_js.resourceData[handle.id].indexOf('\n', start) + 1); if (fullline === '') { fullline = this.php_js.resourceData[handle.id].slice(start); // Get to rest of the file } length = (length === undefined || fullline.length < length) ? fullline.length : Math.floor(length / 2) || 1; // two bytes per character (or surrogate), but ensure at least one this.php_js.resourceDataPointer[handle.id] += length; // Leaves the pointer one higher apparently than in fgets/fgetss return this.str_getcsv(this.php_js.resourceData[handle.id].substr(start, length), delimiter, enclosure, escape); } {% endcodeblock %} - [view on github](https://github.com/kvz/phpjs/blob/master/functions/filesystem/fgetcsv.js) - [edit on github](https://github.com/kvz/phpjs/edit/master/functions/filesystem/fgetcsv.js) ### Example 1 This code {% codeblock lang:js example %} fopen('http://kevin.vanzonneveld.net/pj_test_supportfile_1.htm', 'r'); fgetcsv(handle, 1); {% endcodeblock %} Should return {% codeblock lang:js returns %} '<' {% endcodeblock %} ### Other PHP functions in the filesystem extension {% render_partial _includes/custom/filesystem.html %}