-
Posts
9,409 -
Joined
-
Last visited
-
Days Won
1
Everything posted by MadTechie
-
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
-
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
-
HTML noob needs help adding PHP interactivity
MadTechie replied to Chamza's topic in PHP Coding Help
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 .. -
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;
-
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..
-
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!
-
LMAO
-
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
-
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; } } }
-
http://www.php.net/manual/en/function.ssh2-exec.php
-
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; ?>
-
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>
-
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
-
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]; ?>
-
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>';
-
using file_get_contents on differnt ports
MadTechie replied to mickwaffle's topic in PHP Coding Help
you mean like this file_get_contents('http://domain.com:8080'); ? -
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]
-
[SOLVED] adding languages to site guidance needed
MadTechie replied to xcoderx's topic in PHP Coding Help
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 -
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); ?>
-
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>
-
[SOLVED] adding languages to site guidance needed
MadTechie replied to xcoderx's topic in PHP Coding Help
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 -
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*