herghost Posted May 5, 2009 Share Posted May 5, 2009 Sorry, I think this is PHP. Can anyone tell what is causing the error in the subject line? My script looks like this: <?php $query = "SELECT `albumname`, `userid` FROM `banddisco` WHERE userid='$userid'"; $result = mysql_query($query); echo "<select name='albumname'>"; for($i=0; $i < mysql_num_rows($result); $i++) { $albumname = mysql_fetch_object($result); echo "<option value='". $albumname->userid ."'>". $albumname->albumname ."</option>"; } echo "</select>"; //define a maxim size for the uploaded images in Kb define ("MAX_SIZE","1024"); //This function reads the extension of the file. It is used to determine if the file is an image by checking the extension. function getExtension($str) { $i = strrpos($str,"."); if (!$i) { return ""; } $l = strlen($str) - $i; $ext = substr($str,$i+1,$l); return $ext; } //This variable is used as a flag. The value is initialized with 0 (meaning no error found) and it will be changed to 1 if an errro occures. If the error occures the file will not be uploaded. $errors=0; //checks if the form has been submitted if(isset($_POST['Submit'])) { //reads the name of the file the user submitted for uploading $image=$_FILES['image']['name']; //if it is not empty if ($image) { //get the original name of the file from the clients machine $filename = stripslashes($_FILES['image']['name']); //get the extension of the file in a lower case format $extension = getExtension($filename); $extension = strtolower($extension); //if it is not a known extension, we will suppose it is an error and will not upload the file, otherwize we will do more tests if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif")) { //print error message echo '<h1>Unknown extension!</h1>'; $errors=1; } else { //get the size of the image in bytes //$_FILES['image']['tmp_name'] is the temporary filename of the file in which the uploaded file was stored on the server $size=filesize($_FILES['image']['tmp_name']); //compare the size with the maxim size we defined and print error if bigger if ($size > MAX_SIZE*1024) { echo '<h1>You have exceeded the size limit!</h1>'; $errors=1; } $newname="users/$userid/".$albumname; //we verify if the image has been uploaded, and print error instead $copied = copy($_FILES['image']['tmp_name'], $newname); if (!$copied) { echo '<h1>Copy unsuccessfull!</h1>'; $errors=1; }}}} //If no errors registred, print the success message if(isset($_POST['Submit']) && !$errors) { header("location: ../member_home.php?cover=1 "); exit(); } ?> and the error is appearing on line 120 which is as below: $newname="users/$userid/".$albumname; Thanks Link to comment https://forums.phpfreaks.com/topic/156999-solved-catchable-fatal-error-object-of-class-stdclass-could-not-be-converted-to-string/ Share on other sites More sharing options...
Ken2k7 Posted May 5, 2009 Share Posted May 5, 2009 $albumname is an object. I think you meant $albumname->albumname. Link to comment https://forums.phpfreaks.com/topic/156999-solved-catchable-fatal-error-object-of-class-stdclass-could-not-be-converted-to-string/#findComment-827051 Share on other sites More sharing options...
herghost Posted May 5, 2009 Author Share Posted May 5, 2009 genius! One thing, it stores as just a file, could I make it a jpg? Link to comment https://forums.phpfreaks.com/topic/156999-solved-catchable-fatal-error-object-of-class-stdclass-could-not-be-converted-to-string/#findComment-827055 Share on other sites More sharing options...
Ken2k7 Posted May 5, 2009 Share Posted May 5, 2009 I think you want to put the extension on it unless you want to convert any image to a jpg image. That's a different question I believe. In that same line you quoted in your first post, tack on the variable $extension. That should do it. Link to comment https://forums.phpfreaks.com/topic/156999-solved-catchable-fatal-error-object-of-class-stdclass-could-not-be-converted-to-string/#findComment-827058 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.