ID: 19775
Updated by: [email]sniperphp.net[/email]
Reported By: waazup at hotmail dot com
-Status: Open
+Status: Wont fix
Bug Type: Java related
Operating System: Windows XP Pro
PHP Version: 4CVS
New Comment:

Won't be fixed in PHP 4.



Previous Comments:
------------------------------------------------------------------------

[2003-08-21 08:20:50] [email]sniperphp.net[/email]

The Java stuff in PHP is totally unmaintained (and still experimental
too). Maybe in PHP 5 it will actually work.


------------------------------------------------------------------------

[2002-10-05 16:55:57] waazup at hotmail dot com

I used PHP 4.2.3 zip file for windows.
The GD extension and the Java extension are used and the appropriate
paths are set for in Java in the php.ini

PHP is crashing when I try to get the value of a specific point in my 2
dimensional array. The error occurs on the second attempt in the same
script to read from the array.

Below I will include the java code used and the php code that calls the
java object.

Java Code:
/**
* Filter class designed to do computations for a php script
*
* author (Peter Kroll)
* version (2002-10-02)
*/

public class Filter
{

/**
* Constructor for objects of class Filter
*/
public Filter()
{
}

/**
* applyFilter
*
* param
* filterMatrix: 2 dimensional array of integers
* imageMatrix: 2 dimensional array of integers
* return
* newImageMatrix: 2 dimensional array of integers
*/
public int[][] applyFilter(double [][] filterMatrix, int
filterDimension, int [][] imageMatrix, int imageSizeX, int imageSizeY)
{
int countX;
int countY;
double sum = 0;
int posX;
int posY;
int pixelValue;
int temp;
int [][] newImageMatrix = new int[imageSizeX][imageSizeY];


// Apply filter to image
for(countX = 0; countX < imageSizeX; countX++)
{
for(countY = 0; countY < imageSizeY; countY++)
{
sum = 0;
for(posY = 0; posY < filterDimension; posY++)
{
for(posX = 0; posX < filterDimension; posX++)
{
if(countX - posX < 0 || countY - posY < 0)
{
pixelValue = 0;
}
else
{
pixelValue =
imageMatrix[countX-posX][countY-posY];
sum = sum +
imageMatrix[countX-posX][countY-posY] * filterMatrix[filterDimension -
1 - posX][filterDimension - 1 - posY];
}
}
}
newImageMatrix[countX][countY] = (int) sum;
}
}

return newImageMatrix;
}

}


PHP code:
// Apply filter to image
$FilterObject = new Java("Filter");
$newImageMatrix = $FilterObject->applyFilter($filter, $filterDimension,
$imageMatrix, $imageSizeX, $imageSizeY);
$tempVal = $newImageMatrix[0][0];
print $tempVal . "<BR>\n";
$tempVal = $newImageMatrix[1][1];
print $tempVal . "<BR>\n";

The PHP code above is not my whole script but the part that calls Java
and causes the error.
Please note that the Java compiles fine and there are no errors in the
PHP.
The variables passed into the Java method are the same type as required
by the Java method.
I am able to read one value from the returned matrix and print it to
the screen on the second attempt php crashes, this bug is reproducable
100% of the time.


------------------------------------------------------------------------


--
Edit this bug report at [url]http://bugs.php.net/?id=19775&edit=1[/url]