Momenteel ben ik bezig met een school opdracht om een eigen api te maken. Alleen mijn probleem is ik kan mijn bestanden niet kan uitlezen.
Ik heb het ook samen gekeken met mijn docenten en die komen er ook niet meer aan uit. De code is correct en hun hebben dezelfde code gebruikt op hun sites en daar werkte het wel. Alleen geeft het bij mij op de browser aan dat het een 500 error is Ik ben dan verder gaan zoeken en de map waar het bestand inzit moet op rechten 775 staan en het bestand moet de rechten 664 hebben.



en dit is het resultaat van de docent


hier heb ik het antwoord gevonden maar heb alles gedaan wat ze zeiden.


hoop dat jullie iets of wat mij kunnen helpen? Want als het aan de docenten ligt kom ik er niet aan uit....


<?php
// controleer welke GET parameter aanwezig is
// pas aan de hand daarvan de WHERE clause van het SQL statement aan
// Geen parameter img_name of img_path betekent geen where dus alle image tonen

require '../php_conectie/Connectie2.php';

// Is het formaat ingevuld?
if(isset($_GET['formaat'])){
	$formaat= $_GET['formaat'];
	
	if(isset($_GET['img_name']) && isset($_GET['img_path']))
	{
		$img_name = mysqli_escape_string($mysqli, $_GET['img_name']);
		$img_path = mysqli_escape_string($mysqli, $_GET['img_path']);
		$where = "WHERE img_name = ? AND img_path = ?";
	}
	else if(isset($_GET['img_name']))
	{
		$img_name = mysqli_escape_string($mysqli, $_GET['img_name']);
		$where = "WHERE img_name = ?";
	}
	else if(isset($_GET['img_path']))
	{
		$img_path = mysqli_escape_string($mysqli, $_GET['img_path']);
		$where = "WHERE img_path = ?";
	}
	else
	{
		$where = "";
	}

	// prepare 
	$stmt = $mysqli->prepare("SELECT img_id, img_name, img_path FROM upload_img " . $where);
	if(isset($_GET['img_name']) && isset($_GET['img_path'])) // er is een img_name en img_path meegegeven in de aanroep
	{
		$stmt->bind_param("ss", $img_name, $img_path);
	}
	else if(isset($_GET['img_name']))  // er is een img_name meegegeven in de aanroep
	{
		$stmt->bind_param("s", $img_name);
	}
	else if(isset($_GET['img_path']))  // er is een img_path meegegeven in de aanroep
	{
		$stmt->bind_param("s", $img_path);
	}
	$stmt->execute();
	$stmt->bind_result($img_id, $img_name, $img_path);
	$stmt->store_result();
	
	if($stmt->num_rows != 0) // er zijn img_ids
	{   if($formaat=='json')
		{
			while($stmt->fetch()) // zolang er rijen zijn
			{
				// $img_id, Simg_name en $img_path zijn gevuld
				$image[] = array('img_id' => $img_id, 'img_name' => $img_name, 'img_path' => $img_path); // zet img_id in array
			
			}
			header('Content-type: application/json');
			echo (json_encode(array('image'=>$image)));
		}
		elseif($formaat='xml'){
			$xml=new SimpleXMLElement('<img_names></img_names>');

			while($stmt->fetch()) // zolang er rijen zijn
			{
				// $img_id, Simg_name en $img_path zijn gevuld
  				//voeg element img_name toe met naam img_name, img_id en img_path:
   				$info = $xml->addChild('img_name');
				$item = $info->addChild('img_name',$img_name);
				$item = $info->addChild('img_id',$img_id);
				$item = $info->addChild('img_path',$img_path);
			}
			header('Content-type: text/xml');

			// coderen als JSON:
			echo $xml->asXML();
		}
	}
	else // er zijn geen img_ids
	{	
		$info = "Geen image";
		if($formaat=='json')
		{
			header('Content-type: application/json');
			echo (json_encode(array('info'=>$info)));
		}
		elseif($formaat='xml'){
			$xml=new SimpleXMLElement("<info>$info</info>");
			header('Content-type: text/xml');
			echo $xml->asXML();
		}
	}
}	
else  // er is geen formaat meegegeven
{
	$error = "Aanroep is: api_img.php?formaat=xml of api_img.php?formaat=json. Eventueel uitgebreid met &img_name= ... en/of &img_path= ... ";
	header('Content-type: application/json');
	echo (json_encode(array('error'=>$error)));
	
	//$xml=new SimpleXMLElement("<error>$error</error>");
	//header('Content-type: text/xml');
	//echo $xml->asXML();
}
?> 
Dan is het een kwestie van code strippen/commenten en/of breekpunten inbouwen om te zien waar het fout gaat. Als je voldoende hebt opgeschoond/uitgeschakeld en je een respons krijgt verschillende van error 500, dan is de code die je juist daarvoor hebt uitgeschakeld de boosdoener.

Reageren