ik heb een probleem in mijn upload file en kan de fout niet vinden. na het uploaden van een avatar geeft hij deze foutmelding:

Fatal error: Call to undefined function do_upload() in /var/accounts/CN20050575/www/web/modules/mijnprofiel/uploadavatar.php on line 32

Dit is de code:

<HTML>
<BODY bgcolor=#BBBBBB>

<?php
if($gebruikersnaam != "" && $profielid != ""){
include("../../connect.php");

$mysql_id=mysql_connect("$dbhost","$dbuser","$dbpass");
mysql_select_db("CN20050575_swish",$mysql_id);
$sql = "SELECT * FROM gebruikers WHERE gebruikersnaam='$gebruikersnaam'";
$resultaat = mysql_query($sql);
$rij= mysql_fetch_array($resultaat);
$userid=$rij["user_id"];

$mysql_id=mysql_connect("$dbhost","$dbuser","$dbpass");
mysql_select_db("CN20050575_swish",$mysql_id);
$sql = "SELECT * FROM profielaanmaken WHERE userid='$userid'";
$resultaat = mysql_query($sql);
$rij= mysql_fetch_array($resultaat);
$profielnaam=$rij["profielnaam"];


echo "<title>Upload files</title>";

echo"Maximale bestandsgrootte voor de avatar is 2000 kb<br>Alleen .jpg bestanden worden geaccepteerd<br>";




if ($_FILES['userfile']) {

$message = $message = do_upload("../gebruikers/profiel/$userid/$profielnaam/$dir2/$dir3/", $upload_url);

}
else {
$message = "Upload file";
}

function do_upload($upload_dir, $upload_url) {


//upload directory






$temp_name = $_FILES['userfile']['tmp_name'];
$file_name = $_FILES['userfile']['name'];
$file_type = $_FILES['userfile']['type'];
$file_size = $_FILES['userfile']['size'];
$result = $_FILES['userfile']['error'];
$file_url = $upload_url.$file_name;
$file_path = $upload_dir.$file_name;


//File Name Check
if ( $file_name =="") {
echo"Fout in de bestandsnaam";
return $message;
}
//File Size Check
else if ( $file_size > 10000000) {
echo"De foto is te groot maximaal toegestaan 10000 kb";
return $message;
}
//File Type Check
else if ( $file_type != "image/pjpeg" ) {
echo"Sorry, dit is geen fotobestand" ;
return $message;
}

$result = move_uploaded_file($temp_name, $file_path);
$message = ($result)?"File url <a href=$file_url>$file_url</a>" :
"Klopt iets niet met de file.";

return $message;

echo $temp_name;
}

?>
<div align="center"><form name="upload" id="upload" ENCTYPE="multipart/form-data" method="post">
Upload bestand: <input type="file" id="userfile" name="userfile"><br>
<br>
<input type="submit" name="upload" value="Upload"></div>
</form>

<?php
//echo"Bestanden aanwezig:<br>";
$handel = opendir('school/nieuw/');

// while (false !== ($file = readdir($handel))) {
// if (($file !== ".") and ($file !== "..")) {
// list($filename, $ext) = explode(".", $file);
// list($main, $sub, $include) = explode("/", $PHP_SELF);
// echo"<a href=\"school/$file\" target=\"_blank\"";
// if ($inc==$file) echo " selected";
// echo">$file</a><br>\n";
// }
// }

?>

<?
if ($_FILES['userfile']) {
$afbeelding=$_FILES['userfile']['name'];
$breedte="900";
$hoogte="250";
$imgFILE="../gebruikers/profiel/".$userid."/".$profielnaam."/klein/avatar/".$afbeelding."";
$imgDIR="../gebruikers/profiel/$userid/".$profielnaam."/klein/avatar/";
$imgNAME=$_FILES['userfile']['name'];
$imgEXTENSION="";
$quality="100";

$mysql_id=mysql_connect("$dbhost","$dbuser","$dbpass");
mysql_select_db("CN20050575_swish",$mysql_id);
$sql = "SELECT * FROM gebruikers WHERE user_id='$userid'";
$resultaat = mysql_query($sql);
$rij= mysql_fetch_array($resultaat);
$filenaam=$rij["avatar"];

$bestand="../gebruikers/profiel/".$userid."/".$profielnaam."/klein/avatar/".$filenaam."";

unlink($bestand);

$mysql_id=mysql_connect("$dbhost","$dbuser","$dbpass");
mysql_select_db("CN20050575_swish",$mysql_id);
$sql = "UPDATE gebruikers SET avatar='$afbeelding' WHERE user_id='$userid'";
$resultaat = mysql_query($sql);

echo $_FILES['userfile']['name'] ;
echo "&nbsp is geupload";

//temp_photo voor thumbnail maken
$photo = imagecreatefromjpeg ($imgFILE);

//afmetingen bepalen
$source_x = imagesx($photo);
$source_y = imagesy($photo);

$target_x = $breedte;
$target_y = $hoogte;

//als foto te hoog is
if (($source_x/$target_x) < ($source_y/$target_y))
{
//echo "te hoog";
$from_y = ceil(($source_y - ($target_y * $source_x / $target_x))/2);
$from_x = '0';
$source_used_y = ceil(($target_y * $source_x / $target_x));
$source_used_x = $source_x;
}

//als foto te breed is
if (($source_y/$target_y) < ($source_x/$target_x))
{
//echo "te breed";
$from_x = ceil(($source_x - ($target_x * $source_y / $target_y))/2);
$from_y = '0';
$source_used_x = ceil(($target_x * $source_y / $target_y));
$source_used_y = $source_y;
}

//als verhoudingen gelijk zijn
if (($source_x/$target_x) == ($source_y/$target_y))
{
$from_x = '0';
$from_y = '0';
$source_used_x = $source_x;
$source_used_y = $source_y;
}



//nieuwe image maken en wegschrijven naar dir

$create_blank = imagecreatetruecolor ($target_x, $target_y);

imagecopyresampled ($create_blank, $photo, 0, 0, $from_x, $from_y, $target_x, $target_y, $source_used_x, $source_used_y);

$new_filename = $imgDIR.$imgNAME.$imgEXTENSION;

ImageJpeg($create_blank,$new_filename,$quality);

Imagedestroy($photo);
}
}else{
echo"je kunt dit bestand niet rechtstreeks openen";
}
?>
</body>
</html>

alvast bedankt

Groeten John
op regel 32 staat:

<?
$message = $message = do_upload("../gebruikers/profiel/$userid/$profielnaam/$dir2/$dir3/", $upload_url);
?>

Je gebruikt dus de functie: do_upload(); welke niet is gedefineerd
Beste frank allereerst bedank voor je reactie. Ik snap alleen niet wat dat betekend.. ik heb dit script al 4 keer uitgevoerd op andere files met upload deze werken allemaal nu geeft hij opeens aan dat do_upload niet gedefinieerd is. Ik ben geen held in php script.

Weet je zo wat ik moet veranderen?

Alvast bedankt!
oh ik denk dat ik het probleem al zie es ff kijken...
de dubbele $ message klopt niet maar die heb ik nu veranderd maar hij doet nog steeds niks...
editknopjes!

niet zo bumpen, en kom ook eens met foutmeldingen die helpen.
ik zie nu dat de functie er wel tussen staat :P, maar hij wordt al aangeroepen voordat het script erlangs ik gegaan,
probeer is om de functie do_upload boven aan de pagina te zetten
ALTIJD al je includes, connects etc bovenaan je pagina zetten, dan heb je dit gezeur niet.

En gebruik je EDITKNOPJE! volgende keer ist zwaaidoeidag
@wes de foutmelding staat bovenaan! en vraag me af of je uberhaupt mijn vraag wel hebt gelezen. beetje aardiger mag wel!

@frank bedankt! ik zal eens kijken wat ik kan doen. er klopt zoiezo iets niet aan het script want als er een fout wordt gemaakt in de upload voert hij de upload wel uit terwijl het script zou moeten stoppen.

Het vreemde is dat ik op andere delen van mijn website exact dezelfde script heb gebruikt en daar werkt het prima. ik denk dat ik ergens een typ fout heb gemaakt. ik kan alleen niet vinden waar.

Toch bedankt frank voor de moeite!
zoals frank al zei, je volgorde is gewoon fout.

Reageren