1

I'm using Uploadify to upload an image. Now I need to get the correct upload path.

I have the following code / script:

  <?php
    $uploadifyPath = get_bloginfo('url') . '/wp-content/plugins/uploadify/';
    $galleryPath = "'".getGalleryURL('1620')."'"; // <--- 1620 is inputed by me. 
  ?>

  <input id="galleryID" type="hidden" value="1620" name="galleryID"/>
  <input id="fileInput" name="fileInput" type="file" />

  <script type="text/javascript">// <![CDATA[
    $(document).ready(function() {
      $('#fileInput').uploadify({
          'uploader'  : '<?php echo $uploadifyPath ?>uploadify.swf',
          'script'    : '<?php echo $uploadifyPath ?>uploadify.php',
          'cancelImg' : '<?php echo $uploadifyPath ?>cancel.png',
          'auto'      : true,
          'folder'    : <?php echo $galleryPath ?>
      });
    });
  // ]]></script>

How can I, with jQuery, get the value of galleryID and input it into my function getGalleryURL() ?

Or... is there a better way to do this??

2
  • When it's jquery's turn to do some work, the request has already come back from the server and PHP has already done its job. How are you getting 1620 into the galleryID input? Commented Nov 21, 2009 at 0:30
  • galleryID is getting the value from jQuery when I use Autocomplete in a text search box. Commented Nov 21, 2009 at 0:38

3 Answers 3

1

You can't. You're PHP code is executed on the webserver. Then, the HTML/CSS/JS code is transmitted to the browser, where javascript is executed.

If you need Javascript/PHP communication, you will have to use jQuerys AJAX functionality.

Sign up to request clarification or add additional context in comments.

2 Comments

Note how I'm using PHP inside the <script> tags. So I'm already mixing the two.
No, you aren't, actually. As I said, PHP is executed on the webserver, and Javascript in the client browser, therefor, Javascript will never be able to tell if some value came out of a PHP function or it was hardcoded or whatever. You should really try to understand the difference between server-side and client-side languages, as that would answer all your questions on this matter.
1

Do an AJAX call via jQuery to let PHP know the galleryID and then use it's callback to load uploadify.

Comments

0

Totally get this challenge, had to figure it out for a project I am working on just now.

What I came to was more simple: echo out the variable in the HTML before the script so then jQuery can pull the variable from the data attribute.

I haven't tested the code below yet but I imagine you could solve this with something similar. Good luck!

<div class="marker" data-path="<?php echo get_bloginfo('url') . '/wp-content/plugins/uploadify/'; ?>" data-url="<?php echo getGalleryURL('1620'); ?>" style="display:none;"></div>

<input id="galleryID" type="hidden" value="1620" name="galleryID"/>
<input id="fileInput" name="fileInput" type="file" />


<script type="text/javascript">// <![CDATA[
    $(document).ready(function() {


      var path = $('.marker').data('path');
      var url = $('.marker').data('url');

      $('#selector').uploadify({
          'uploader'  : url + '/uploadify.swf',
          'script'    : url + '/uploadify.php',
          'cancelImg' : url + '/cancel.png',
          'auto'      : true,
          'folder'    : path
      });
    });

    // ]]>
</script>

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.