Reputation: 19425
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??
Upvotes: 1
Views: 2856
Reputation: 1
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>
Upvotes: 0
Reputation: 5349
Do an AJAX call via jQuery to let PHP know the galleryID and then use it's callback to load uploadify.
Upvotes: 1
Reputation: 25781
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.
Upvotes: 1