Jump to content

MadTechie

Staff Alumni
  • Posts

    9,409
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by MadTechie

  1. Okay well good luck with that phpORcaffine, i have no idea how client side should be client side a it applies here! if your file is assoated with php (has a .php extenstion) then its going to be parsed, how you handle the html in that file really depends on what your doing I have found that stepping in and out of PHP is very slightly slower than echoing the data, for example <?php $example1 = "some text"; $example2 = "some text"; $example3 = "some text"; echo "<input type=\"text\" value=\"$example1\"><br />\n"; echo "<input type=\"text\" value=\"$example2\"><br />\n"; echo "<input type=\"text\" value=\"$example3\"><br />\n"; ?> is quicker than <?php $example1 = "some text"; $example2 = "some text"; $example3 = "some text"; ?> <input type="text" value="<?php echo $example1; ?>"><br /> <input type="text" value="<?php echo $example2; ?>"><br /> <input type="text" value="<?php echo $example3; ?>"><br /> BUT tons of html <?php echo "hello word";?> tons of html would be quicker than echoing the 2xtons
  2. if (preg_match('%<div class="ep_stat_top_stats_row_right">(.*?)</div>%si', $html, $matches)) { $bah = $matches[1]; Use the S modifier (dot matches new lines) EDIT: oops forgot to add a match_all example.. (same idea) preg_match_all('%<div class="ep_stat_top_stats_row_right">(.*?)</div>%si', $html, $matches); EDIT #2: And Welcome to PHP Freaks
  3. Okay.. first of all posting a form will reload the page.. if you don't want the page to reload your need to looking to frames or AJAX, with that said.. here a basic one which will require a reload, but should give you an idea (untested) <form method="post"> <select name="category"> <option value="everything">Everything</option> <option value="jeans">Jeans</option> <option value="watches">Watches</option> </select> <input type="submit" /> </form> <?php //default page $default = "default.php"; //check something has been selected if(!empty($_POST['category'])) { //convert to lowercase $cat = strtolower($_POST['category']).".php"; }else{ $cat = $default; } //an array of allowed files (for security reasons) $pages = array($default,"everything.php","jeans.php","watches.php"); //check the selected file is in the allowed list if (in_array($cat, $pages )) { //if so include it echo "loading $cat"; include $cat; }else{ //if not then use default.php include $default; } ?> EDIT: as a note you could also use header to redirect to a page ..
  4. I'm slightly confused.. do you have some sample data that you use ie convert [font=blar]123[font=blar2] to blar123blar2 EDIT: if the above is what you wanted you could do it like this $data = '[font=blar]123[font=blar2]'; $data = preg_replace('/\[font=([^\]]*)\]/', '\1', $data); echo $data;
  5. Na, I don't hijack it, I Just thought its funny how ignoring a problem doesn't make it go away, if you read back your see that he identified a problem on the 5th of Feb, then 16 days later he said he solved it, then a month later someone points out another problem and then 3 months after that its hijacked..
  6. Maybe workout how your going to work the scores first then come back write it. if you don't know how to do the logic manually you have no hope writing a the logic!
  7. Using the same xmlhttp, for both could be the problem, try making it a global array, and use a different element for each. as the first call will not be returned as its overwritten with the second call
  8. you could create a sleep function ie function sleep(naptime){ naptime = naptime * 1000; var sleeping = true; var now = new Date(); var alarm; var startingMSeconds = now.getTime(); while(sleeping){ alarm = new Date(); alarmMSeconds = alarm.getTime(); if(alarmMSeconds - startingMSeconds > naptime){ sleeping = false; } } }
  9. http://www.php.net/manual/en/function.ssh2-exec.php
  10. I'm happy its working.. well I'm sipping my coffee as we speak.. so I'm good
  11. You can't have an elseif after a else, the logic doesn't make sense ! try <?php require_once('access/mysqli_connect.php'); //Function val validates form submissions by; //Striping html tags from from; //Must be greater than three letters long; function val($field = false) { global $dbc; $errors = false; if(strlen($field) > 3) { strip_tags($field); $username = $field; $username = mysqli_real_escape_string($dbc,$username); return $username; }elseif(strlen($field) > 15){ $errors = "Field must be no more than fifteen letters long!"; } else { $errors = "Field must be greater than three letters long!"; } if($errors) { return $errors; } } //END of val function; ?>
  12. okay i played with it on my PC, i think this is what your after <?php /* * Copyright (c) 2008 http://www.webmotionuk.com / http://www.webmotionuk.co.uk * "PHP & Jquery image upload & crop" * Date: 2008-11-21 * Ver 1.2 * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * http://www.opensource.org/licenses/bsd-license.php */ error_reporting (E_ALL ^ E_NOTICE); session_start(); //Do not remove this //only assign a new timestamp if the session variable is empty if (!isset($_SESSION['random_key']) || strlen($_SESSION['random_key'])==0){ $_SESSION['random_key'] = strtotime(date('Y-m-d H:i:s')); //assign the timestamp to the session variable $_SESSION['user_file_ext']= ""; } ######################################################################################################### # CONSTANTS # # You can alter the options below # ######################################################################################################### $upload_dir = "upload_pic"; // The directory for the images to be saved in $upload_path = $upload_dir."/"; // The path to where the image will be saved $large_image_prefix = "resize_"; // The prefix name to large image $thumb_image_prefix = "thumbnail_"; // The prefix name to the thumb image $large_image_name = $large_image_prefix.$_SESSION['random_key']; // New name of the large image (append the timestamp to the filename) $thumb_image_name = $thumb_image_prefix.$_SESSION['random_key']; // New name of the thumbnail image (append the timestamp to the filename) $max_file = "3"; // Maximum file size in MB $max_width = "500"; // Max width allowed for the large image $thumb_width = "100"; // Width of thumbnail image $thumb_height = "100"; // Height of thumbnail image // Only one of these image types should be allowed for upload $allowed_image_types = array('image/pjpeg'=>"jpg",'image/jpeg'=>"jpg",'image/jpg'=>"jpg",'image/png'=>"png",'image/x-png'=>"png",'image/gif'=>"gif"); $allowed_image_ext = array_unique($allowed_image_types); // do not change this $image_ext = ""; // initialise variable, do not change this. foreach ($allowed_image_ext as $mime_type => $ext) { $image_ext.= strtoupper($ext)." "; } ########################################################################################################## # IMAGE FUNCTIONS # # You do not need to alter these functions # ########################################################################################################## function resizeImage($image,$width,$height,$scale) { list($imagewidth, $imageheight, $imageType) = getimagesize($image); $imageType = image_type_to_mime_type($imageType); $newImageWidth = ceil($width * $scale); $newImageHeight = ceil($height * $scale); $newImage = imagecreatetruecolor($newImageWidth,$newImageHeight); switch($imageType) { case "image/gif": $source=imagecreatefromgif($image); break; case "image/pjpeg": case "image/jpeg": case "image/jpg": $source=imagecreatefromjpeg($image); break; case "image/png": case "image/x-png": $source=imagecreatefrompng($image); break; } imagecopyresampled($newImage,$source,0,0,0,0,$newImageWidth,$newImageHeight,$width,$height); switch($imageType) { case "image/gif": imagegif($newImage,$image); break; case "image/pjpeg": case "image/jpeg": case "image/jpg": imagejpeg($newImage,$image,90); break; case "image/png": case "image/x-png": imagepng($newImage,$image); break; } chmod($image, 0777); return $image; } //You do not need to alter these functions function resizeThumbnailImage($thumb_image_name, $image, $width, $height, $start_width, $start_height, $scale){ list($imagewidth, $imageheight, $imageType) = getimagesize($image); $imageType = image_type_to_mime_type($imageType); $newImageWidth = ceil($width * $scale); $newImageHeight = ceil($height * $scale); $newImage = imagecreatetruecolor($newImageWidth,$newImageHeight); switch($imageType) { case "image/gif": $source=imagecreatefromgif($image); break; case "image/pjpeg": case "image/jpeg": case "image/jpg": $source=imagecreatefromjpeg($image); break; case "image/png": case "image/x-png": $source=imagecreatefrompng($image); break; } imagecopyresampled($newImage,$source,0,0,$start_width,$start_height,$newImageWidth,$newImageHeight,$width,$height); switch($imageType) { case "image/gif": imagegif($newImage,$thumb_image_name); break; case "image/pjpeg": case "image/jpeg": case "image/jpg": imagejpeg($newImage,$thumb_image_name,90); break; case "image/png": case "image/x-png": imagepng($newImage,$thumb_image_name); break; } chmod($thumb_image_name, 0777); return $thumb_image_name; } //You do not need to alter these functions function getHeight($image) { $size = getimagesize($image); $height = $size[1]; return $height; } //You do not need to alter these functions function getWidth($image) { $size = getimagesize($image); $width = $size[0]; return $width; } //Image Locations $large_image_location = $upload_path.$large_image_name.$_SESSION['user_file_ext']; $thumb_image_location = $upload_path.$thumb_image_name.$_SESSION['user_file_ext']; //Create the upload directory with the right permissions if it doesn't exist if(!is_dir($upload_dir)){ mkdir($upload_dir, 0777); chmod($upload_dir, 0777); } //Check to see if any images with the same name already exist if (file_exists($large_image_location)){ if(file_exists($thumb_image_location)){ $thumb_photo_exists = "<img src=\"".$upload_path.$thumb_image_name.$_SESSION['user_file_ext']."\" alt=\"Thumbnail Image\"/>"; }else{ $thumb_photo_exists = ""; } $large_photo_exists = "<img src=\"".$upload_path.$large_image_name.$_SESSION['user_file_ext']."\" alt=\"Large Image\"/>"; } else { $large_photo_exists = ""; $thumb_photo_exists = ""; } if (isset($_POST["upload"])) { //Get the file information $userfile_name = $_FILES['image']['name']; $userfile_tmp = $_FILES['image']['tmp_name']; $userfile_size = $_FILES['image']['size']; $userfile_type = $_FILES['image']['type']; $filename = basename($_FILES['image']['name']); $file_ext = strtolower(substr($filename, strrpos($filename, '.') + 1)); //Only process if the file is a JPG, PNG or GIF and below the allowed limit if((!empty($_FILES["image"])) && ($_FILES['image']['error'] == 0)) { foreach ($allowed_image_types as $mime_type => $ext) { //loop through the specified image types and if they match the extension then break out //everything is ok so go and check file size if($file_ext==$ext && $userfile_type==$mime_type){ $error = ""; break; }else{ $error = "Only <strong>".$image_ext."</strong> images accepted for upload<br />"; } } //check if the file size is above the allowed limit if ($userfile_size > ($max_file*1048576)) { $error.= "Images must be under ".$max_file."MB in size"; } }else{ $error= "Select an image for upload"; } //Everything is ok, so we can upload the image. if (strlen($error)==0){ if (isset($_FILES['image']['name'])){ //this file could now has an unknown file extension (we hope it's one of the ones set above!) $large_image_location = $large_image_location.".".$file_ext; $thumb_image_location = $thumb_image_location.".".$file_ext; //put the file ext in the session so we know what file to look for once its uploaded $_SESSION['user_file_ext']=".".$file_ext; move_uploaded_file($userfile_tmp, $large_image_location); chmod($large_image_location, 0777); $width = getWidth($large_image_location); $height = getHeight($large_image_location); //Scale the image if it is greater than the width set above if ($width > $max_width){ $scale = $max_width/$width; $uploaded = resizeImage($large_image_location,$width,$height,$scale); }else{ $scale = 1; $uploaded = resizeImage($large_image_location,$width,$height,$scale); } //Delete the thumbnail file so the user can create a new one if (file_exists($thumb_image_location)) { unlink($thumb_image_location); } } //Refresh the page to show the new uploaded image header("location:".$_SERVER["PHP_SELF"]); exit(); } } if (isset($_POST["upload_thumbnail"]) && strlen($large_photo_exists)>0) { //Get the new coordinates to crop the image. $x1 = $_POST["x1"]; $y1 = $_POST["y1"]; $x2 = $_POST["x2"]; $y2 = $_POST["y2"]; $w = $_POST["w"]; $h = $_POST["h"]; //Scale the image to the thumb_width set above $scale = $thumb_width/$w; $cropped = resizeThumbnailImage($thumb_image_location, $large_image_location,$w,$h,$x1,$y1,$scale); //include("connect.php"); mysql_connect("127.0.0.1","root",""); mysql_select_db("test3"); $artist_firstname = $_POST['artist_firstname']; $artist_lastname = $_POST['artist_lastname']; $thumb_image_location = $_POST['image']; $artist_about = $_POST['artist_about']; $artist_descript = $_POST['artist_descript']; $artist_timestamp = $_POST['artist_timestamp']; $query = "INSERT INTO artists (id, artist_firstname, artist_lastname, thumb_image_location, artist_about, artist_descript, artist_timestamp) VALUES ('', '$artist_firstname', '$artist_lastname', '$thumb_image_location', '$artist_about', '$artist_descript', '$artist_timestamp')"; $results = mysql_query($query) or die ("Could not execute query : $query." . mysql_error()); if ($results) { echo "Details added."; } mysql_close(); //Reload the page again to view the thumbnail header("location:".$_SERVER["PHP_SELF"]); exit(); } if ($_GET['a']=="delete" && strlen($_GET['t'])>0){ //get the file locations $large_image_location = $upload_path.$large_image_prefix.$_GET['t']; $thumb_image_location = $upload_path.$thumb_image_prefix.$_GET['t']; if (file_exists($large_image_location)) { unlink($large_image_location); } if (file_exists($thumb_image_location)) { unlink($thumb_image_location); } header("location:".$_SERVER["PHP_SELF"]); exit(); } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta name="generator" content="WebMotionUK" /> <title>WebMotionUK - PHP & Jquery image upload & crop</title> <script type="text/javascript" src="js/jquery-pack.js"></script> <script type="text/javascript" src="js/jquery.imgareaselect.min.js"></script> </head> <body> <!-- * Copyright (c) 2008 http://www.webmotionuk.com / http://www.webmotionuk.co.uk * Date: 2008-11-21 * "PHP & Jquery image upload & crop" * Ver 1.2 * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * http://www.opensource.org/licenses/bsd-license.php --> <ul> <li><a href="http://www.webmotionuk.co.uk/php-jquery-image-upload-and-crop/">Back to project page</a></li> <li><a href="http://www.webmotionuk.co.uk/jquery_upload_crop.zip">Download Files</a></li> </ul> <?php //Only display the javacript if an image has been uploaded if(strlen($large_photo_exists)>0){ $current_large_image_width = getWidth($large_image_location); $current_large_image_height = getHeight($large_image_location);?> <script type="text/javascript"> function preview(img, selection) { var scaleX = <?php echo $thumb_width;?> / selection.width; var scaleY = <?php echo $thumb_height;?> / selection.height; $('#thumbnail + div > img').css({ width: Math.round(scaleX * <?php echo $current_large_image_width;?>) + 'px', height: Math.round(scaleY * <?php echo $current_large_image_height;?>) + 'px', marginLeft: '-' + Math.round(scaleX * selection.x1) + 'px', marginTop: '-' + Math.round(scaleY * selection.y1) + 'px' }); $('#x1').val(selection.x1); $('#y1').val(selection.y1); $('#x2').val(selection.x2); $('#y2').val(selection.y2); $('#w').val(selection.width); $('#h').val(selection.height); } $(document).ready(function () { $('#save_thumb').click(function() { var x1 = $('#x1').val(); var y1 = $('#y1').val(); var x2 = $('#x2').val(); var y2 = $('#y2').val(); var w = $('#w').val(); var h = $('#h').val(); if(x1=="" || y1=="" || x2=="" || y2=="" || w=="" || h==""){ alert("You must make a selection first"); return false; }else{ return true; } }); }); $(window).load(function () { $('#thumbnail').imgAreaSelect({ aspectRatio: '1:<?php echo $thumb_height/$thumb_width;?>', onSelectChange: preview }); }); </script> <?php }?> <h1>Photo Upload and Crop</h1> <?php //Display error message if there are any if(strlen($error)>0){ echo "<ul><li><strong>Error!</strong></li><li>".$error."</li></ul>"; } if(strlen($large_photo_exists)>0 && strlen($thumb_photo_exists)>0){ echo $large_photo_exists." ".$thumb_photo_exists; echo "<p><a href=\"".$_SERVER["PHP_SELF"]."?a=delete&t=".$_SESSION['random_key'].$_SESSION['user_file_ext']."\">Delete images</a></p>"; echo "<p><a href=\"".$_SERVER["PHP_SELF"]."\">Upload another</a></p>"; //Clear the time stamp session and user file extension $_SESSION['random_key']= ""; $_SESSION['user_file_ext']= ""; }else{ if(strlen($large_photo_exists)>0){?> <h2>Create Thumbnail</h2> <div align="center"> <img src="<?php echo $upload_path.$large_image_name.$_SESSION['user_file_ext'];?>" style="float: left; margin-right: 10px;" id="thumbnail" alt="Create Thumbnail" /> <div style="border:1px #e5e5e5 solid; float:left; position:relative; overflow:hidden; width:<?php echo $thumb_width;?>px; height:<?php echo $thumb_height;?>px;"> <img src="<?php echo $upload_path.$large_image_name.$_SESSION['user_file_ext'];?>" style="position: relative;" alt="Thumbnail Preview" /> </div> <br style="clear:both;"/> <form name="thumbnail" action="<?php echo $_SERVER["PHP_SELF"];?>" method="post"> <input type="hidden" name="x1" value="" id="x1" /> <input type="hidden" name="y1" value="" id="y1" /> <input type="hidden" name="x2" value="" id="x2" /> <input type="hidden" name="y2" value="" id="y2" /> <input type="hidden" name="w" value="" id="w" /> <input type="hidden" name="h" value="" id="h" /> <input type="hidden" name="image" value="<?php echo $upload_path.$large_image_name.$_SESSION['user_file_ext']; ?>" /> <input type="submit" name="upload_thumbnail" value="Save Thumbnail" id="save_thumb" /> <table width="448" border="0" cellspacing="2" cellpadding="0"> <tr><td width = "150"><div align="right"><label for="artist_firstname">artist_firstname</label></div></td> <td><input id="artist_firstname" name="artist_firstname" type="text" size="25" value="" maxlength="30"></td></tr><tr><td width = "150"><div align="right"><label for="artist_lastname">artist_lastname</label></div></td> <td><input id="artist_lastname" name="artist_lastname" type="text" size="25" value="" maxlength="30"></td></tr><tr><td width = "150"><div align="right"></div></td> <input id="$thumb_image_location" name="$thumb_image_location" type="hidden" size="25" value="" maxlength="30"> <td> </td> </tr><tr><td width = "150"><div align="right"><label for="artist_about">artist_about</label></div></td> <td><textarea id="artist_about" name="artist_about" rows="4" cols="40"></textarea></td></tr><tr><td width = "150"><div align="right"><label for="artist_descript">artist_descript</label></div></td> <td><textarea id="artist_descript" name="artist_descript" rows="4" cols="40"></textarea></td></tr><tr><td width = "150"><div align="right"><label for="artist_timestamp">artist_timestamp</label></div></td> <td><input id="artist_timestamp" name="artist_timestamp" type="text" size="25" value="" maxlength="255"></td></tr></table> </form> </div> <hr /> <?php } ?> <h2>Upload Photo</h2> <form name="photo" enctype="multipart/form-data" action="<?php echo $_SERVER["PHP_SELF"];?>" method="post"> Photo <input type="file" name="image" size="30" /> <input type="submit" name="upload" value="Upload" /> </form> <?php } ?> <!-- Copyright (c) 2008 http://www.webmotionuk.com --> </body> </html>
  13. Okay 1. ereg is DEPRECATED, so its better to use preg, 2. The code I have supplied will give you the results and store all, 3. If you ONLY want the first one then i can change the code for that 4. topic solved button bottom left
  14. Like this (remember arrays start from 0 not 1) <?php $content = '<html><head><title>{$title}</title></head><body>{$content}</body></html>'; preg_match_all('/\{\$[a-z]+\}/i', $content, $positions); $positions =$positions[0]; echo $positions[0]; echo $positions[1]; ?>
  15. Okay.. my example input was wrong.. did you test it with your input.. and was the result what you expected ? EDIT: would this be the correct response to your input of $content = '<html><head><title>{$title}</title></head><body>{$content}</body></html>';
  16. you mean like this file_get_contents('http://domain.com:8080'); ?
  17. Do you mean this ? <?php $content = '{$content} {$title} {$moduleLeft} {$moduleRight}'; preg_match_all('/\{\$[a-z]+\}/i', $content, $result); foreach($result[0] as $Item) { echo $Item; } ?> if you want just the word ie title then change the RegEx to '/\{\$([a-z]+)\}/i' and $result[0] to $result[1]
  18. I don't get why you need to insert the record when cropping it, why not on the upload ? surely the cropping only effects the image directly and not the database! Whats does my last code not do ?
  19. It was on a concept.. not a complete solution, also your "cleaner version" is slight over kill on the functions side! and would suite a OOP solution better, when you could add an simply else statement to mine! to fix the problem
  20. The last code i posted doesn't have "Details added" in it!
  21. Well your need to set $description back to its new value (with the replacement) ie <?php $description = "[b] bold [/b] [i] italic [/i] [u] underline [/u]"; if ( stristr ( $description , '[b]' ) ) $description = str_ireplace ( '[b]' , '<b>' , $description); ?>
  22. You put the query in the thumbnail section not the upload see here (untested) <?php error_reporting(E_ALL ^ E_NOTICE); session_start(); //Do not remove this //only assign a new timestamp if the session variable is empty if (! isset($_SESSION['random_key']) || strlen($_SESSION['random_key']) == 0) { $_SESSION['random_key'] = strtotime(date('Y-m-d H:i:s')); //assign the timestamp to the session variable $_SESSION['user_file_ext'] = ""; } ######################################################################################################### # CONSTANTS # # You can alter the options below # ######################################################################################################### $upload_dir = "images"; // The directory for the images to be saved in $upload_path = $upload_dir . "/"; // The path to where the image will be saved $large_image_prefix = "resize_"; // The prefix name to large image $thumb_image_prefix = "artist_pic_"; // The prefix name to the thumb image $large_image_name = $large_image_prefix . $_SESSION['random_key']; // New name of the large image (append the timestamp to the filename) $thumb_image_name = $thumb_image_prefix . $_SESSION['random_key']; // New name of the thumbnail image (append the timestamp to the filename) $max_file = "3"; // Maximum file size in MB $max_width = "500"; // Max width allowed for the large image $thumb_width = "100"; // Width of thumbnail image $thumb_height = "100"; // Height of thumbnail image // Only one of these image types should be allowed for upload $allowed_image_types = array('image/pjpeg' => "jpg" , 'image/jpeg' => "jpg" , 'image/jpg' => "jpg" , 'image/png' => "png" , 'image/x-png' => "png" , 'image/gif' => "gif"); $allowed_image_ext = array_unique($allowed_image_types); // do not change this $image_ext = ""; // initialise variable, do not change this. foreach ($allowed_image_ext as $mime_type => $ext) { $image_ext .= strtoupper($ext) . " "; } ########################################################################################################## # IMAGE FUNCTIONS # # You do not need to alter these functions # ########################################################################################################## function resizeImage ($image, $width, $height, $scale) { list ($imagewidth, $imageheight, $imageType) = getimagesize($image); $imageType = image_type_to_mime_type($imageType); $newImageWidth = ceil($width * $scale); $newImageHeight = ceil($height * $scale); $newImage = imagecreatetruecolor($newImageWidth, $newImageHeight); switch ($imageType) { case "image/gif": $source = imagecreatefromgif($image); break; case "image/pjpeg": case "image/jpeg": case "image/jpg": $source = imagecreatefromjpeg($image); break; case "image/png": case "image/x-png": $source = imagecreatefrompng($image); break; } imagecopyresampled($newImage, $source, 0, 0, 0, 0, $newImageWidth, $newImageHeight, $width, $height); switch ($imageType) { case "image/gif": imagegif($newImage, $image); break; case "image/pjpeg": case "image/jpeg": case "image/jpg": imagejpeg($newImage, $image, 90); break; case "image/png": case "image/x-png": imagepng($newImage, $image); break; } chmod($image, 0777); return $image; } //You do not need to alter these functions function resizeThumbnailImage ($thumb_image_name, $image, $width, $height, $start_width, $start_height, $scale) { list ($imagewidth, $imageheight, $imageType) = getimagesize($image); $imageType = image_type_to_mime_type($imageType); $newImageWidth = ceil($width * $scale); $newImageHeight = ceil($height * $scale); $newImage = imagecreatetruecolor($newImageWidth, $newImageHeight); switch ($imageType) { case "image/gif": $source = imagecreatefromgif($image); break; case "image/pjpeg": case "image/jpeg": case "image/jpg": $source = imagecreatefromjpeg($image); break; case "image/png": case "image/x-png": $source = imagecreatefrompng($image); break; } imagecopyresampled($newImage, $source, 0, 0, $start_width, $start_height, $newImageWidth, $newImageHeight, $width, $height); switch ($imageType) { case "image/gif": imagegif($newImage, $thumb_image_name); break; case "image/pjpeg": case "image/jpeg": case "image/jpg": imagejpeg($newImage, $thumb_image_name, 90); break; case "image/png": case "image/x-png": imagepng($newImage, $thumb_image_name); break; } chmod($thumb_image_name, 0777); return $thumb_image_name; } //You do not need to alter these functions function getHeight ($image) { $size = getimagesize($image); $height = $size[1]; return $height; } //You do not need to alter these functions function getWidth ($image) { $size = getimagesize($image); $width = $size[0]; return $width; } //Image Locations $large_image_location = $upload_path . $large_image_name . $_SESSION['user_file_ext']; $thumb_image_location = $upload_path . $thumb_image_name . $_SESSION['user_file_ext']; //Create the upload directory with the right permissions if it doesn't exist if (! is_dir($upload_dir)) { mkdir($upload_dir, 0777); chmod($upload_dir, 0777); } //Check to see if any images with the same name already exist if (file_exists($large_image_location)) { if (file_exists($thumb_image_location)) { $thumb_photo_exists = "<img src=\"" . $upload_path . $thumb_image_name . $_SESSION['user_file_ext'] . "\" alt=\"Thumbnail Image\"/>"; } else { $thumb_photo_exists = ""; } $large_photo_exists = "<img src=\"" . $upload_path . $large_image_name . $_SESSION['user_file_ext'] . "\" alt=\"Large Image\"/>"; } else { $large_photo_exists = ""; $thumb_photo_exists = ""; } if (! empty($_FILES["image"]['tmp_name'])) { //Get the file information $userfile_name = $_FILES['image']['name']; $userfile_tmp = $_FILES['image']['tmp_name']; $userfile_size = $_FILES['image']['size']; $userfile_type = $_FILES['image']['type']; $filename = basename($_FILES['image']['name']); $file_ext = strtolower(substr($filename, strrpos($filename, '.') + 1)); //Only process if the file is a JPG, PNG or GIF and below the allowed limit if ((! empty($_FILES["image"])) && ($_FILES['image']['error'] == 0)) { foreach ($allowed_image_types as $mime_type => $ext) { //loop through the specified image types and if they match the extension then break out //everything is ok so go and check file size if ($file_ext == $ext && $userfile_type == $mime_type) { $error = ""; break; } else { $error = "Only <strong>" . $image_ext . "</strong> images accepted for upload<br />"; } } //check if the file size is above the allowed limit if ($userfile_size > ($max_file * 1048576)) { $error .= "Images must be under " . $max_file . "MB in size"; } } else { $error = "Select an image for upload"; } //Everything is ok, so we can upload the image. if (strlen($error) == 0) { if (isset($_FILES['image']['name'])) { //this file could now has an unknown file extension (we hope it's one of the ones set above!) $large_image_location = $large_image_location . "." . $file_ext; $thumb_image_location = $thumb_image_location . "." . $file_ext; //put the file ext in the session so we know what file to look for once its uploaded $_SESSION['user_file_ext'] = "." . $file_ext; move_uploaded_file($userfile_tmp, $large_image_location); chmod($large_image_location, 0777); $width = getWidth($large_image_location); $height = getHeight($large_image_location); //Scale the image if it is greater than the width set above if ($width > $max_width) { $scale = $max_width / $width; $uploaded = resizeImage($large_image_location, $width, $height, $scale); } else { $scale = 1; $uploaded = resizeImage($large_image_location, $width, $height, $scale); } //Delete the thumbnail file so the user can create a new one if (file_exists($thumb_image_location)) { unlink($thumb_image_location); } } include ("connect.php"); $artist_firstname = $_POST['artist_firstname']; $artist_lastname = $_POST['artist_lastname']; $artist_about = $_POST['artist_about']; $artist_descript = $_POST['artist_descript']; $artist_timestamp = $_POST['artist_timestamp']; //SQL INJECTION protection to be added $query = "INSERT INTO artists (id, artist_firstname, artist_lastname, thumb_image_location, artist_about, artist_descript, artist_timestamp) VALUES ('', '$artist_firstname', '$artist_lastname', '$thumb_image_location', '$artist_about', '$artist_descript', '$artist_timestamp')"; $results = mysql_query($query) or die("Could not execute query : $query." . mysql_error()); if ($results) { //Refresh the page to show the new uploaded image header("location:" . $_SERVER["PHP_SELF"]); exit(); }else{ echo "Details Failed to be added."; exit(); } } } if (isset($_POST["upload_thumbnail"]) && strlen($large_photo_exists) > 0) { //Get the new coordinates to crop the image. $x1 = $_POST["x1"]; $y1 = $_POST["y1"]; $x2 = $_POST["x2"]; $y2 = $_POST["y2"]; $w = $_POST["w"]; $h = $_POST["h"]; //Scale the image to the thumb_width set above $scale = $thumb_width / $w; $cropped = resizeThumbnailImage($thumb_image_location, $large_image_location, $w, $h, $x1, $y1, $scale); //Reload the page again to view the thumbnail header("location:" . $_SERVER["PHP_SELF"]); exit(); } if ($_GET['a'] == "delete" && strlen($_GET['t']) > 0) { //get the file locations $large_image_location = $upload_path . $large_image_prefix . $_GET['t']; $thumb_image_location = $upload_path . $thumb_image_prefix . $_GET['t']; if (file_exists($large_image_location)) { unlink($large_image_location); } if (file_exists($thumb_image_location)) { unlink($thumb_image_location); } header("location:" . $_SERVER["PHP_SELF"]); exit(); } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta name="generator" content="WebMotionUK" /> <title>WebMotionUK - PHP & Jquery image upload & crop</title> <script type="text/javascript" src="js/jquery-pack.js"></script> <script type="text/javascript" src="js/jquery.imgareaselect.min.js"></script> </head> <body> <!-- * Copyright (c) 2008 http://www.webmotionuk.com / http://www.webmotionuk.co.uk * Date: 2008-11-21 * Ver 1.2 * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * http://www.opensource.org/licenses/bsd-license.php --> <ul> <li><a href="http://www.webmotionuk.co.uk/php-jquery-image-upload-and-crop/">Back to project page</a></li> <li><a href="http://www.webmotionuk.co.uk/jquery_upload_crop.zip">Download Files</a></li> </ul> <?php //Only display the javacript if an image has been uploaded if (strlen($large_photo_exists) > 0) { $current_large_image_width = getWidth($large_image_location); $current_large_image_height = getHeight($large_image_location); ?> <script type="text/javascript"> function preview(img, selection) { var scaleX = <?php echo $thumb_width; ?> / selection.width; var scaleY = <?php echo $thumb_height; ?> / selection.height; $('#thumbnail + div > img').css({ width: Math.round(scaleX * <?php echo $current_large_image_width; ?>) + 'px', height: Math.round(scaleY * <?php echo $current_large_image_height; ?>) + 'px', marginLeft: '-' + Math.round(scaleX * selection.x1) + 'px', marginTop: '-' + Math.round(scaleY * selection.y1) + 'px' }); $('#x1').val(selection.x1); $('#y1').val(selection.y1); $('#x2').val(selection.x2); $('#y2').val(selection.y2); $('#w').val(selection.width); $('#h').val(selection.height); } $(document).ready(function () { $('#save_thumb').click(function() { var x1 = $('#x1').val(); var y1 = $('#y1').val(); var x2 = $('#x2').val(); var y2 = $('#y2').val(); var w = $('#w').val(); var h = $('#h').val(); if(x1=="" || y1=="" || x2=="" || y2=="" || w=="" || h==""){ alert("You must make a selection first"); return false; }else{ return true; } }); }); $(window).load(function () { $('#thumbnail').imgAreaSelect({ aspectRatio: '1:<?php echo $thumb_height / $thumb_width; ?>', onSelectChange: preview }); }); </script> <?php } ?> <h1>Photo Upload and Crop</h1> <?php //Display error message if there are any if (strlen($error) > 0) { echo "<ul><li><strong>Error!</strong></li><li>" . $error . "</li></ul>"; } if (strlen($large_photo_exists) > 0 && strlen($thumb_photo_exists) > 0) { echo $large_photo_exists . " " . $thumb_photo_exists; echo "<p><a href=\"" . $_SERVER["PHP_SELF"] . "?a=delete&t=" . $_SESSION['random_key'] . $_SESSION['user_file_ext'] . "\">Delete images</a></p>"; echo "<p><a href=\"" . $_SERVER["PHP_SELF"] . "\">Upload another</a></p>"; //Clear the time stamp session and user file extension $_SESSION['random_key'] = ""; $_SESSION['user_file_ext'] = ""; } else { if (strlen($large_photo_exists) > 0) { ?> <h2>Create Thumbnail</h2> <div align="center"><img src="<?php echo $upload_path . $large_image_name . $_SESSION['user_file_ext']; ?>" style="float: left; margin-right: 10px;" id="thumbnail" alt="Create Thumbnail" /> <div style="border:1px #e5e5e5 solid; float:left; position:relative; overflow:hidden; width:<?php echo $thumb_width;?>px; height:<?php echo $thumb_height; ?>px;"> <img src="<?php echo $upload_path . $large_image_name . $_SESSION['user_file_ext']; ?>" style="position: relative;" alt="Thumbnail Preview" /></div> <br style="clear: both;" /> <form name="thumbnail" action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post"> <input type="hidden" name="x1" value="" id="x1" /> <input type="hidden" name="y1" value="" id="y1" /> <input type="hidden" name="x2" value="" id="x2" /> <input type="hidden" name="y2" value="" id="y2" /> <input type="hidden" name="w" value="" id="w" /> <input type="hidden" name="h" value="" id="h" /> <input type="submit" name="upload_thumbnail" value="Save Thumbnail" id="save_thumb" /> </form> </div> <hr /> <?php } ?> <h2>Upload Photo</h2> <form name="photo" enctype="multipart/form-data" action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">Photo <input type="file" name="image" size="30" /> <input type="submit" name="upload" value="Upload" onclick="form.action='add.php';" /></form> <?php } ?> <!-- Copyright (c) 2008 http://www.webmotionuk.com --> <form id="FormName" action="" method="post" name="FormName"> Photo <input type="file" name="image" size="30" /> <table width="448" border="0" cellspacing="2" cellpadding="0"> <tr> <td width="150"> <div align="right"><label for="artist_firstname">artist_firstname</label></div> </td> <td><input id="artist_firstname" name="artist_firstname" type="text" size="25" value="" maxlength="30"></td> </tr> <tr> <td width="150"> <div align="right"><label for="artist_lastname">artist_lastname</label></div> </td> <td><input id="artist_lastname" name="artist_lastname" type="text" size="25" value="" maxlength="30"></td> </tr> <tr> <td width="150"> <div align="right"></div> </td> <input id="$thumb_image_location" name="$thumb_image_location" type="hidden" size="25" value="" maxlength="30"> <td> </td> </tr> <tr> <td width="150"> <div align="right"><label for="artist_about">artist_about</label></div> </td> <td><textarea id="artist_about" name="artist_about" rows="4" cols="40"></textarea></td> </tr> <tr> <td width="150"> <div align="right"><label for="artist_descript">artist_descript</label></div> </td> <td><textarea id="artist_descript" name="artist_descript" rows="4" cols="40"></textarea></td> </tr> <tr> <td width="150"> <div align="right"><label for="artist_timestamp">artist_timestamp</label></div> </td> <td><input id="artist_timestamp" name="artist_timestamp" type="text" size="25" value="" maxlength="255"></td> </tr> <tr> <td width="150"></td> <td><input type="submit" name="AddDetails" value="Add"></td> </tr> </table> </form> </body> </html>
  23. Okay Just say on my site I have this <?php $LangCode = (!empty($_GET['lang']))?$_GET['lang']:"en"; //include language file $LangFile = "lang.".$LangCode.".php"; //ie lang.en.php if(file_exists($LangFile)) include_once $LangFile; //echo some stuff echo $lang['Welcome']; ?> Now for English (EN) i have this file a language file <?php $lang = array(); $lang['Welcome'] = "Welcome to my site"; $lang['username'] = 'Username'; ?> for spanish (ES) i have this file <?php $lang = array(); $lang['Welcome'] = "Bienvenido a mi sitio web"; $lang['username'] = 'Nombre de usuario'; ?> Now when I visit www.mysite.com?lang=es I get but with out anything or with lang=en I get
  24. 1. change <form id="FormName" action="added.php" method="post" name="FormName"> to <form id="FormName" action="" method="post" name="FormName"> 2. change (no real reason for this but submitButtonName sounds dumb to me! <input type="submit" name="submitButtonName" value="Add"> to <input type="submit" name="AddDetails" value="Add"> 3. Add this to the details form Photo <input type="file" name="image" size="30" /> 4. change if (isset($_POST["upload"])) { to if (!empty($_FILES["image"]['tmp_name'])) { 5. Add <?php include("connect.php"); $artist_firstname = $_POST['artist_firstname']; $artist_lastname = $_POST['artist_lastname']; $artist_about = $_POST['artist_about']; $artist_descript = $_POST['artist_descript']; $artist_timestamp = $_POST['artist_timestamp']; //SQL INJECTION protection to be added $query = "INSERT INTO artists (id, artist_firstname, artist_lastname, thumb_image_location, artist_about, artist_descript, artist_timestamp) VALUES ('', '$artist_firstname', '$artist_lastname', '$thumb_image_location', '$artist_about', '$artist_descript', '$artist_timestamp')"; $results = mysql_query($query) or die ("Could not execute query : $query." . mysql_error()); if ($results) { echo "Details added."; } ?> infront of //Reload the page again to view the thumbnail header("location:".$_SERVER["PHP_SELF"]); exit(); Test that and if its all okay you can remove the image form *the above is untested*
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.