• Login
sketchucation logo sketchucation
  • Login
πŸ€‘ SketchPlus 1.3 | 44 Tools for $15 until June 20th Buy Now

[Solved] Uploading not obviously related to Sketchup

Scheduled Pinned Locked Moved Developers' Forum
15 Posts 2 Posters 556 Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C Offline
    chrisglasier
    last edited by chrisglasier 21 Feb 2011, 11:20

    Here is a js function

     function phpOwnerFile(){
    	s = UP.Upload();
    	alert(s);
    }
    

    called from this action in this form:

    <form method="post" enctype="multipart/form-data" action="javascript&#058;phpOwnerFile();">
    	<input name="uploadedfile" type="file" ><br />
    	<input type="submit" value="Upload file" />
    </form>
    

    using this class

    class UP{
    	public function Upload() {
    		$target_path = "uploads/";
    		$target_path = $target_path . basename( $_FILES['uploadedfile']['name']); 
    		if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
    			$status = basename( $_FILES['uploadedfile']['name']);
    		} 		
    		else{
    			$status = 0;
    		}
    		return $status;
    	}
    }	
    

    in jAPI-remote ,

    with the resulting message attached.

    If anyone is interested in getting to a solution I will appreciate any help.

    Thanks


    jAPI alert.gif

    With TBA interfaces we can analyse what is to be achieved so that IT can help with automation to achieve it.

    1 Reply Last reply Reply Quote 0
    • T Offline
      thomthom
      last edited by 21 Feb 2011, 11:30

      Just a PHP notice - not a warning. You can adjust the PHP server to not output notices.

      (Btw, why are you using that JS wrapper for the file upload? Doesn't look to do much except to add a another layer - which also makes you reliant on client JS.)

      Thomas Thomassen β€” SketchUp Monkey & Coding addict
      List of my plugins and link to the CookieWare fund

      1 Reply Last reply Reply Quote 0
      • C Offline
        chrisglasier
        last edited by 22 Feb 2011, 02:12

        @thomthom said:

        Just a PHP notice - not a warning. You can adjust the PHP server to not output notices.

        (Btw, why are you using that JS wrapper for the file upload? Doesn't look to do much except to add a another layer - which also makes you reliant on client JS.)

        Thanks TT. I wrote this just before dinner and now it would be just after breakfast. So sorry for the apparent lack of response.

        Actually the alert says uploadedFile is an undefined index, so everything stops. The problem is I don't know how to define it. But anyway maybe I am doing it all wrongly.

        Here is the upload interface:upload.gif

        I want to parse the json file and then change the display depending on the result. If I use a file.php for the action it works OK but I get into all sorts of problems/ugliness with history.back. But this is the first time I have tried the uploading business so I would be very happy to be pointed in a different direction.

        Thanks.

        With TBA interfaces we can analyse what is to be achieved so that IT can help with automation to achieve it.

        1 Reply Last reply Reply Quote 0
        • T Offline
          thomthom
          last edited by 22 Feb 2011, 08:14

          I'm not sure why you don't get an index for the uploaded file. By first glance it looks ok. This is why I wonder if it's your JS wrapper interfering. The wrapper is the first thing I noticed that deviate from the basic example in the PHP manual: http://www.php.net/manual/en/features.file-upload.post-method.php
          Are you sure the JS wrapper can be used as the target of POST commands? Not just regular POST, but also these file variants?

          I'd try to make a regular HTML form with action pointing directly to the PHP file.

          Thomas Thomassen β€” SketchUp Monkey & Coding addict
          List of my plugins and link to the CookieWare fund

          1 Reply Last reply Reply Quote 0
          • C Offline
            chrisglasier
            last edited by 22 Feb 2011, 08:52

            @thomthom said:

            I'm not sure why you don't get an index for the uploaded file. By first glance it looks ok. This is why I wonder if it's your JS wrapper interfering. The wrapper is the first thing I noticed that deviate from the basic example in the PHP manual: http://www.php.net/manual/en/features.file-upload.post-method.php
            Are you sure the JS wrapper can be used as the target of POST commands? Not just regular POST, but also these file variants?

            I'd try to make a regular HTML form with action pointing directly to the PHP file.

            Sorry not to respond. I don't get notifications any more although I checked with Gaieus that all my settings are correct. But of course I appreciate your help and want to get this going asap.

            I am now reading the php manual. I was using some tutorials before. The thing about a direct link to a php file was that it is opened in the browser - that's the part I really don't get ... or want.

            Thanks

            With TBA interfaces we can analyse what is to be achieved so that IT can help with automation to achieve it.

            1 Reply Last reply Reply Quote 0
            • T Offline
              thomthom
              last edited by 22 Feb 2011, 09:01

              @chrisglasier said:

              The thing about a direct link to a php file was that it is opened in the browser - that's the part I really don't get ... or want.

              As you're doing it now you're directing the form to a JS - I'm just not sure if form file uploads works then. I'm suggesting trying without the wrapper just to verify that everything else is working. That way we know for sure if it's the JS wrapper interfering or not.

              Thomas Thomassen β€” SketchUp Monkey & Coding addict
              List of my plugins and link to the CookieWare fund

              1 Reply Last reply Reply Quote 0
              • C Offline
                chrisglasier
                last edited by 22 Feb 2011, 09:14

                Yes I can make it work with a php file. I used a history.back[-1] in an embedded js script. That was OK but then I could not call the js that parses the json file and either reports a failure or incorporates the new file contents.

                With TBA interfaces we can analyse what is to be achieved so that IT can help with automation to achieve it.

                1 Reply Last reply Reply Quote 0
                • T Offline
                  thomthom
                  last edited by 22 Feb 2011, 09:19

                  So it sounds like it's the JS wrapper that can't be the target for file POSTs. I'm completely unfamiliar with that wrapper so I can't help much there.

                  Can you avoid the use of history.back[-1] ?

                  Thomas Thomassen β€” SketchUp Monkey & Coding addict
                  List of my plugins and link to the CookieWare fund

                  1 Reply Last reply Reply Quote 0
                  • C Offline
                    chrisglasier
                    last edited by 22 Feb 2011, 09:29

                    @thomthom said:

                    So it sounds like it's the JS wrapper that can't be the target for file POSTs. I'm completely unfamiliar with that wrapper so I can't help much there.

                    Can you avoid the use of history.back[-1] ?

                    That's what I want. Am I right that action = "xxx.php" has to open that file in the browser? I think this is what I don't understand. And I am quite happy to lose the js wrapper (I didn't know it was one!)

                    Thanks ... again

                    With TBA interfaces we can analyse what is to be achieved so that IT can help with automation to achieve it.

                    1 Reply Last reply Reply Quote 0
                    • T Offline
                      thomthom
                      last edited by 22 Feb 2011, 09:35

                      A form POST goes to another file - the file you put in action="" - which in your above example pointed to a javacript ( action="javascript&#058;phpOwnerFile();"). And that's the reason it didn't work because a POST was never sent.

                      Your PHP snipped needs to be the target of action. And that will cause the page to navigate.

                      Thomas Thomassen β€” SketchUp Monkey & Coding addict
                      List of my plugins and link to the CookieWare fund

                      1 Reply Last reply Reply Quote 0
                      • C Offline
                        chrisglasier
                        last edited by 22 Feb 2011, 09:49

                        @thomthom said:

                        ...

                        Your PHP snipped needs to be the target of action. And that will cause the page to navigate.

                        Perhaps I should open a popup window for all this but I would prefer not to if there is another solution. I am just finishing off a mock version for my site . If you have time later perhaps you would have a look, click on owner and get a better idea of what I am trying to achieve.

                        Thanks.

                        With TBA interfaces we can analyse what is to be achieved so that IT can help with automation to achieve it.

                        1 Reply Last reply Reply Quote 0
                        • T Offline
                          thomthom
                          last edited by 22 Feb 2011, 10:12

                          You could try to route the action to an hidden iframe. Similar to what this guy is doing: http://www.ajaxf1.com/tutorial/ajax-file-upload-tutorial.html

                          Thomas Thomassen β€” SketchUp Monkey & Coding addict
                          List of my plugins and link to the CookieWare fund

                          1 Reply Last reply Reply Quote 0
                          • C Offline
                            chrisglasier
                            last edited by 22 Feb 2011, 10:33

                            @thomthom said:

                            You could try to route the action to an hidden iframe. Similar to what this guy is doing: http://www.ajaxf1.com/tutorial/ajax-file-upload-tutorial.html

                            Thanks I will have a go with that.

                            Meanwhile I've uploaded the files to the site.

                            With TBA interfaces we can analyse what is to be achieved so that IT can help with automation to achieve it.

                            1 Reply Last reply Reply Quote 0
                            • C Offline
                              chrisglasier
                              last edited by 22 Feb 2011, 11:01

                              First read through that seems perfect. I think I even understand it! Will try out tomorrow.

                              Many thanks

                              With TBA interfaces we can analyse what is to be achieved so that IT can help with automation to achieve it.

                              1 Reply Last reply Reply Quote 0
                              • C Offline
                                chrisglasier
                                last edited by 23 Feb 2011, 05:56

                                Yes it works just fine.

                                Soon people who visit my site will be able to make and save an "ownerfile". When they return they can upload the file to work with all the named links, keys, functions, value options and config settings previously set. This will also be extended to upload shared project or activity files (later including Sketchup of course).

                                This is why the uploading business is so important in this context and why your pointer was much appreciated.

                                Many thanks,

                                Chris

                                With TBA interfaces we can analyse what is to be achieved so that IT can help with automation to achieve it.

                                1 Reply Last reply Reply Quote 0
                                • 1 / 1
                                1 / 1
                                • First post
                                  1/15
                                  Last post
                                Buy SketchPlus
                                Buy SUbD
                                Buy WrapR
                                Buy eBook
                                Buy Modelur
                                Buy Vertex Tools
                                Buy SketchCuisine
                                Buy FormFonts

                                Advertisement