PHP - Generate New String
Hi guys, so i have this file upload script. When i upload a file it gets stored in /uploads and keeps the same file name. So if i upload a file "test.exe" the file will be available at uploads/test.exe
What i want is that it generates a new file name like: "9daln292os.exe" so upload/9daln292os.exe
This is my code:
<?php // Where the file is going to be placed $target_path = "uploads/"; /* Add the original filename to our target path. Result is "uploads/filename.extension" */ $target_path = $target_path . basename( $_FILES['uploadedfile']['name']); $_FILES['uploadedfile']['tmp_name']; ?> <?php $file_type = $_FILES['userfile']['type']; $file_name = $_FILES['userfile']['name']; $file_ext = strtolower(substr($file_name,strrpos($file_name,"."))); if (!in_array($file_type, $FILE_MIMES) && !in_array($file_ext, $FILE_EXTS) ) $message = "Sorry, $file_name($file_type) is not allowed to be uploaded."; else $message = do_upload_function_here($upload_path_here, $upload_ur_upload_url_herel); ?> <?php $target_path = "uploads/"; $target_path = $target_path . basename( $_FILES['uploadedfile']['name']); if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) { echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded. Here is the link to your file: <a href=uploads/". basename( $_FILES['uploadedfile']['name']). ">". basename( $_FILES['uploadedfile']['name'])."</a>"; } else{ echo "There was an error uploading the file, please try again!"; } ?>I don't know any basic php i really need someone to give me the code ready please. Thanks much appreciated. Edited by darox, 21 July 2014 - 01:07 PM. Similar TutorialsSo I found this code from someone else on here who posted about creating a random string. I've copied the code for myself but when I upload php page to my server and view source... there is no php code. Essentially, i see no randomly generated text. what am i missing? Code: [Select] <?php function genRandomString() { $length = 5; $characters = array_merge(range(0,9),range('a','z'),range('A','Z')); $string = ""; for ($p = 0; $p < $length; $p++) { $string .= $characters[mt_rand(0, count($characters)-1)]; } return $string; } ?> Hi, I am trying to make some adjustments to uploadify.php which comes with the latest version of uploadify (3.0 beta), so that it works with a session variable that stores the login username and adds it to the path for uploads. Here is uploadify.php as it currently looks: Code: [Select] <?php session_name("MyLogin"); session_start(); $targetFolder = '/songs/' . $_SESSION['name']; // Relative to the root if (!empty($_FILES)) { $tempFile = $_FILES['Filedata']['tmp_name']; $targetPath = $_SERVER['DOCUMENT_ROOT'] . $targetFolder; $targetFile = rtrim($targetPath,'/') .'/'. $_FILES['Filedata']['name']; // Validate the file type $fileTypes = array('m4a','mp3','flac','ogg'); // File extensions $fileParts = pathinfo($_FILES['Filedata']['name']); if (in_array($fileParts['extension'],$fileTypes)) { move_uploaded_file($tempFile,$targetFile); echo '1'; } else { echo 'Invalid file type.'; } } echo $targetFolder; ?> I added Code: [Select] echo $targetFolder; at the bottom so that I could make sure that the string returned was correct, and it is, i.e. '/songs/nick'. For some reason though, uploads are not going to the correct folder, i.e. the username folder, but instead are going to the parent folder 'songs'. The folder for username exists, with correct permissions, and when I manually enter Code: [Select] $targetFolder = '/songs/nick';all works fine. Which strikes me as rather strange. I have limited experience of using php, but wonder how if the correct string is returned by the session variable, the upload works differently than with the manually entered string. Any help would be much appreciated. It's the last issue with a website that was due to go live 2 days ago! Thanks, Nick Can this be done with php? aaa aab aac ... zzz This topic has been moved to PHP Regex. http://www.phpfreaks.com/forums/index.php?topic=326004.0 Hello all, I'm trying to change the end of a javascript call based on the end of the url string. The common part of all the url strings is sobi2Id=, I'm trying to do this with strstr but am having no luck. I'm new to php so my syntax knowledge is terrible! at the moment i've got Code: [Select] <?php $url = $_SERVER['REQUEST_URI']; $tag = strstr ($url, 'sobi2Id='); echo $tag; ?> but this returns an unexpected T_STRING, expecting ',' or ';' Can anyone debug this? I may well be being really silly! Hey there, Thanks for taking the time to read my thread. My issue is that I can't think of a way to edit a XML file using PHP's XML functionality and then assign the edited contents to a string instead of saving the file. Because my issue is that I have to edit the XML file based upon a string brought from a remote location then give it back to that remote location using a string again, to be exact I am doing it via Linux command line utilizing SSH2. This is what I managed to complete on my own. function CheckIVMPConfig($ServerID) { global $Panel; if(is_numeric($ServerID) && $this->IsValidServer($ServerID)) { // We select the game server that the FTP account was created for. $Servers = mysql_query("SELECT * FROM control_servers WHERE server_id = '".mysql_real_escape_string($FTPAccount['ftp_server'])."'"); $Server = mysql_fetch_array($Servers); // Here we select the Box ID that the game server is on. $Boxs = mysql_query("SELECT * FROM control_machines WHERE machine_id = '".$Server['server_machine']."'"); $Box = mysql_fetch_array($Boxs); // Now we select the required package for the box. $Packages = mysql_query("SELECT * FROM control_packages WHERE package_id = '".$Server['server_package']."'"); $Package = mysql_fetch_array($Packages); // Retrive the file. $Config = $CProtocol->exec("cat /home/{$Server['server_id']}/{$Package['package_config']}"); $Parse = SimpleXMLElement($Config); foreach($Parse as $Entry) // loop through our books { if($Entry->port != $Server['server_port']) { // edit the value } else if($Entry->maxplayers > $Server['server_slots']) { // edit the value } } } } I have tried sitemap.org and a few others but have not found anything that will give the results I am after. I have a blog site that has a URL and a Description for the URL and wish to have the description show as the anchor text which is linked to the URL, all data is taken from MySQL. Does anyone have a code that will generate something like this ? <?php if(isset($_POST['submit'])){ //collect form data $location = $_POST['location']; $ID = $_POST['ID']; $section = $_POST['section']; //check name is set if($location ==''){ $error[] = 'Name is required'; } //if no errors carry on if(!isset($error)){ # Title of the CSV $Content = "location, ID, section\n"; //set the data of the CSV $Content .= "$location, $ID, $section\n"; # set the file name and create CSV file $my_file = ("$location$ID$section.cvs"); $handle = fopen("$my_file", "w") or die('Cannot open file: '.$my_file); header('Content-Type: application/csv'); header('Content-Disposition: attachment; filename="' . $FileName . '"'); echo $Content; exit(); } } //if their are errors display them if(isset($error)){ foreach($error as $error){ echo "<p style='color:#ff0000'>$error</p>"; } } ?> <form action='' method='post'> <p><label>Location:</label><br><input type='text' name='location' value=''></p> <p><label>ID:</label><br><input type='text' name='ID' value=''></p> <p><label>Section:</label><br><input type='text' name='section' value=''></p> <p><input type='submit' name='submit' value='Submit'></p> </form>I have wrote a .php file which is a form with 3 different fields, in these fields I want to write entries which lateron will be submitted into a .csv generating a csv file on my server with the name of the entries. The issue is that the file is not being generated on my server. With the current code the entries are being recognized and being placed in the filename of the csv. The point is not to make it downloadable sinds I want to have it on my webserver and keep editing information in it. My code is top of this post. My .php file replies that: Cannot open file: BOD10Buffer.csv Pardon my sloppy code everyone, I am not really a person that codes but this "form" may save me a lot of time in the longrun, just difficult and I am asking for help on this. Is there anyone that may be kind enough to help me? and as to what I might be doing wrong? All help is much appreciated! Hi, can someone help me to understand this? What i want to do is to write some information in a form and after i submit the form that data will be in a new php page. Thanks in advance hi, im trying to create a website and only now started thinking about the security part(noob mistake). say for example i have home.php page and an index.php page. index.php is where users would sign up/log in. the login and sign up processes are all done but i was thinking of creating a unique id of some sort for when the user logs in. or something like this site (forum.phpfreaks) when we sign in, you are signed but the url stays the same = forums.phpfreaks.com. like if we were signed out we will be permanantly signed out and typing in forums.phpfreaks.com would just land us at the main page where we need to sign in.
right now ,my home.php can be accessed with or without logging in even with sessions.
hope im making sense, thanks in advanced!
**haha that rhymed.
i tried adding:
<?php echo $_SERVER[PHP_SELF] . '?name=' . $userData['name'];?> in the index.php:
<?php ob_start(); session_start(); if(isset($_POST['login'])) { $email = $_POST['email']; $password = $_POST['pass']; require "connection.php"; $emails = mysqli_real_escape_string($con, $email); $query = "SELECT id, name, email, password, salt FROM users WHERE email = '$emails';"; $result = mysqli_query($con, $query); if(mysqli_num_rows($result) == 0) // User not found. So, redirect to login_form again. { echo "<script>alert(\"User does not exist!\")</script>"; } $userData = mysqli_fetch_array($result, MYSQLI_ASSOC); $hash = hash('sha256', $userData['salt'] . hash('sha256', $password) ); if($hash != $userData['password']) { echo "<script>alert(\"Incorrect Password!\")</script>"; }else{ session_regenerate_id(); $_SESSION['sess_user_id'] = $userData['id']; $_SESSION['sess_name'] = $userData['name']; session_write_close(); header('Location: home.php?user='); } } ob_flush(); ?> <!DOCTYPE html> <form name="login" method="post" action="<?php echo $_SERVER[PHP_SELF] . '?name=' . $userData['name'];?>">but i got access forbidden! Edited by noobdood, 19 May 2014 - 10:05 PM. I have the following function, which takes a string with commas in it and attempts remove those commas. The way I have it here is that I use explode to take out the commas, which makes an array, and then iterate through that array to put a string back together without the commas. function tags_to_sort_by( $sortMeta ) { $sortByArray = explode(",", $sortMeta); $sortByCount = count($sortByArray); for ($i = 0; $i < $sortByCount; $i++) { $sortByString += $sortByArray[$i]; } return $sortByString; } What does not work is the following line: $sortByString += $sortByArray[$i]; Somehow that outputs a 0, which I don't understand. It should output something like: arrayItem1 arrayItem2 array3 etc. My question is if there either is an easier way to remove the commas from the original string or what I am doing wrong in this line: $sortByString += $sortByArray[$i]; // I am trying to concatenate each part of the array back into the string. Thanks a lot for help with this! hey guys im trying to find a string inside a string which could be made up of different things eg... {$test}, {$test1}, {$test2} etc (but the varable inside could be called anything hence maybe using regex im not sure?) is this possible?...i hope you guys understand....thanks How do you generate a random number like say, 0 through 10? I want to select random sites from my database that have IDs 0 through 10. Hello
I am using fpdf to generate pdf files based on certain csv files. Now the client wants certain fields of the generated pdf file to be 'interactive' .
Is this possible ? Googling about editable (interactive pdf's) only confused me . any help ?
btw by interactive I mean fields that can be typed into directly by the client and then saved into the pdf .
Hi all, This is something related with php as well as java script. If anyone can help me regarding this issue i would be very pleased. In a particular form, i have 2 fields namely customer id and Account type. Since there are many account types it is stored as a jump menu. There are seperate tables in my database to represent each of those accounts types. There is a seperate field in each table called account number which is auto incremented. If i select a particular account type in my form, i want to get the account number which is relevant to that account type. For an example if i click the submit button a message should appear like " A new ..........( relevant account type) has been successfully opened" Any idea of how this could be done? Thanks, Heshan. Hi, I'm quite new to PHP so please forgive me if this is a bit simple! I have a form on my website, which uses PHP to generate an email to me, the recipient. It works, but there are two new modifications I need help with. First of all, I want the PHP to generate a 'thank you' email to the person who has submitted the email. Please could somebody show me the code, and where to add it? Secondly, I want the email to come through to me from the email address of the person submitting the form (i.e. replacing the donotreply email address currently). Again, could somebody please show me how to do that? Many thanks in advance Here's the code: <?php // Website Contact Form Generator // http://www.tele-pro.co.uk/scripts/contact_form/ // This script is free to use as long as you // retain the credit link // get posted data into local variables $EmailFrom = "donotreply@simplyskillsgroup.co.uk"; $EmailTo = "robin@trillodigital.co.uk"; $Subject = "Simply Skills Franchise Application"; $name = Trim(stripslashes($_POST['name'])); $surname = Trim(stripslashes($_POST['surname'])); $telephone = Trim(stripslashes($_POST['telephone'])); $email = Trim(stripslashes($_POST['email'])); $dob = Trim(stripslashes($_POST['dob'])); $add1 = Trim(stripslashes($_POST['add1'])); $add2 = Trim(stripslashes($_POST['add2'])); $add3 = Trim(stripslashes($_POST['add3'])); $town = Trim(stripslashes($_POST['town'])); $postcode = Trim(stripslashes($_POST['postcode'])); $where = Trim(stripslashes($_POST['where'])); $employment = Trim(stripslashes($_POST['employment'])); $trade = Trim(stripslashes($_POST['trade'])); $drive = Trim(stripslashes($_POST['drive'])); $crb = Trim(stripslashes($_POST['crb'])); $firstaid = Trim(stripslashes($_POST['firstaid'])); $protect = Trim(stripslashes($_POST['protect'])); $convict = Trim(stripslashes($_POST['convict'])); $coach = Trim(stripslashes($_POST['coach'])); $other = Trim(stripslashes($_POST['other'])); $faca = Trim(stripslashes($_POST['faca'])); $other2 = Trim(stripslashes($_POST['other2'])); $other3 = Trim(stripslashes($_POST['other3'])); $hear = Trim(stripslashes($_POST['hear'])); $confirm = Trim(stripslashes($_POST['confirm'])); // validation $validationOK=true; if (Trim($email)=="") $validationOK=false; if (!$validationOK) { print "<meta http-equiv=\"refresh\" content=\"0;URL=http://clientzone.trillodigital.co.uk/simplyskills/error.html\">"; exit; } // prepare email body text $Body = ""; $Body .= "PERSONAL DETAILS"; $Body .= "\n"; $Body .= "\n"; $Body .= "First Name: "; $Body .= $name; $Body .= "\n"; $Body .= "\n"; $Body .= "Surname: "; $Body .= $surname; $Body .= "\n"; $Body .= "\n"; $Body .= "Contact Number: "; $Body .= $telephone; $Body .= "\n"; $Body .= "\n"; $Body .= "Email: "; $Body .= $email; $Body .= "\n"; $Body .= "\n"; $Body .= "Date of Birth: "; $Body .= $dob; $Body .= "\n"; $Body .= "\n"; $Body .= "Address Line 1: "; $Body .= $add1; $Body .= "\n"; $Body .= "\n"; $Body .= "Address Line 2: "; $Body .= $add2; $Body .= "\n"; $Body .= "\n"; $Body .= "Address Line 3: "; $Body .= $add3; $Body .= "\n"; $Body .= "\n"; $Body .= "Town or City: "; $Body .= $town; $Body .= "\n"; $Body .= "\n"; $Body .= "Post Code: "; $Body .= $postcode; $Body .= "\n"; $Body .= "\n"; $Body .= "\n"; $Body .= "FRANCHISE DETAILS"; $Body .= "\n"; $Body .= "\n"; $Body .= "Where in the United Kingdom would you like to operate a Simply Skills franchise: "; $Body .= $where; $Body .= "\n"; $Body .= "\n"; $Body .= "Your current employment or business: "; $Body .= $employment; $Body .= "\n"; $Body .= "\n"; $Body .= "In a position to trade within: "; $Body .= $trade; $Body .= "\n"; $Body .= "\n"; $Body .= "Driving licence: "; $Body .= $drive; $Body .= "\n"; $Body .= "\n"; $Body .= "Enhanced CRB disclosure (within 3 years): "; $Body .= $crb; $Body .= "\n"; $Body .= "\n"; $Body .= "Current first-aid qualification (within 3 years): "; $Body .= $firstaid; $Body .= "\n"; $Body .= "\n"; $Body .= "Child protection training (within 3 years): "; $Body .= $protect; $Body .= "\n"; $Body .= "\n"; $Body .= "Any convictions that would affect your ability to work within schools: "; $Body .= $convict; $Body .= "\n"; $Body .= "\n"; $Body .= "\n"; $Body .= "EXPERIENCE"; $Body .= "\n"; $Body .= "\n"; $Body .= "Highest football coaching qualification: "; $Body .= $coach; $Body .= "\n"; $Body .= "\n"; $Body .= "Other football coaching qualifications: "; $Body .= $other; $Body .= "\n"; $Body .= "\n"; $Body .= "Member of the Football Association Coaches Association: "; $Body .= $faca; $Body .= "\n"; $Body .= "\n"; $Body .= "Other sports/disciplines you are qualified to deliver: "; $Body .= $other2; $Body .= "\n"; $Body .= "\n"; $Body .= "Personal qualities and experience that you feel is beneficial to operating a Simply Skills franchise: "; $Body .= $other3; $Body .= "\n"; $Body .= "\n"; $Body .= "\n"; $Body .= "How did you hear about Simply Skills: "; $Body .= $hear; $Body .= "\n"; $Body .= "\n"; $Body .= "Confirm all information provided is correct: "; $Body .= $confirm; // send email $success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>"); // redirect to success page if ($success){ print "<meta http-equiv=\"refresh\" content=\"0;URL=http://clientzone.trillodigital.co.uk/simplyskills/thankyou.html\">"; } else{ print "<meta http-equiv=\"refresh\" content=\"0;URL=http://clientzone.trillodigital.co.uk/simplyskills/error.html\">"; } ?> Hi all, I am using php to allow users to create a new directory e.g. www.website.com/theirname/ and would like to auto generate an index.php (or index.html) page if possible within this directory. Any tips on how to do it would be appreciated. The code I have for generating the directory is: <?php function handleError() { trigger_error('MY ERROR'); /** usage sample @handleError(); echo $php_errormsg; */ } // detect slash/backslash nomenclature dirname $path = dirname( __FILE__ ); $slash = '/'; (stristr( $path, $slash )) ? '' : $slash = '\\'; define( 'BASE_DIR', $path . $slash ); $folder = $_POST['reg']; // folder name $dirPath = BASE_DIR . $folder; // folder path // print results echo $slash; echo '<hr>'; $rs = @mkdir( $dirPath, 0777 ); @handleError(); if( $rs ) { // print success information echo 'was done!'; echo '<br>folder: <a href="' . $folder . '">' . $folder . '</a>'; echo '<br>dirPath: ' . $dirPath; }else{ // print error information echo "This webpage <b>www.website.com/".$folder."</b> appears to have been already been created. Please try another web name. If the problem persists please report it to us."; } ?> Hi there. I need a function that can generate 15 random numbers between (1,10) and then converts those numbers to Roman numbers. Anyone can help me? |