Question: 1. Create a new document in your text editor. 2. Add the following script section to the document body. Be sure that there is nothing

1. Create a new document in your text editor. 2. Add the following script section to the document body. Be sure that there is nothing in the fi le before the opening PHP tag: 3. Add the following code to the script section to check if the requested fi le exists and is readable: $Dir = "files"; if (isset($_GET['filename'])) { $FileToGet = $Dir . "/" . stripslashes ($_GET['filename']); 254 CHAPTER 5 Working with Files and Directories if (is_readable($FileToGet)) { } else { $ErrorMsg = "Cannot read \"$FileToGet\""; $ShowErrorPage = TRUE; } } else { $ErrorMsg = "No filename specified"; $ShowErrorPage = TRUE; } if ($ShowErrorPage) { 4. Add the following code in the if section of the inner if...else statement for the is_readable() test to download the fi le: header("Content-Description: File Transfer"); header("Content-Type: application/force-download"); header("Content-Disposition: attachment; filename=\"" . $_GET['filename'] . "\""); header("Content-Transfer-Encoding: base64"); header("Content-Length: " . filesize($FileToGet)); readfile($FileToGet); $ShowErrorPage = FALSE; 5. Add the following code immediately after the closing PHP tag to show the error page. Note the use of advanced escaping to display the Web page output. File Download Error

There was an error downloading ""

7. Reopen ViewFiles.php. Replace the line that reads: echo "" . htmlentities($Entry). " "; 255 Uploading and Downloading Files with a line that reads: echo "" . htmlentities($Entry). " ";

8. Save ViewFiles.php and upload the fi le to the Web server. 9. Open the ViewFiles.php fi le in your Web browser by entering the following URL: http:///PHP_Projects/Chapter.05/Chapter/ViewFiles.php. Click one of the highlighted fi lenames. Your Web browser should display a save fi le dialog box like the one shown in Figure 5-8. Save the fi le and verify that it downloaded correctly. Figure 5-8 The save fi le dialog box for polarbear.gif 10. Close your Web browser window.

1. Create a new document in your text editor. 2. Type the declaration, element, header information, and element. Use the strict DTD and Visitor Comments as the content of the element. 3. Add the following script section to the document body: <?php ?> 4. Add the following code to the script section to store the form data entered: $Dir = "comments"; if (is_dir($Dir)) { if (isset($_POST['save'])) { if (empty($_POST['name'])) $SaveString = "Unknown Visitor "; else $SaveString = stripslashes ($_POST['name']) . " "; $SaveString .= stripslashes ($_POST['email']) . " "; $SaveString .= date('r') . " "; $SaveString .= stripslashes ($_POST['comment']); $CurrentTime = microtime(); $TimeArray = explode(" ", $CurrentTime); $TimeStamp = (float)$TimeArray[1] + (float)$TimeArray[0]; In a publicly accessible application on the Internet, using the microtime() function would not be suffi cient to guarantee a unique fi lename, although it is suffi cient to use in this exercise. 258 CHAPTER 5 Working with Files and Directories /* File name is " Comment.seconds. microseconds.txt" */ $SaveFileName = "$Dir/Comment.$TimeStamp. txt"; if (file_put_contents($SaveFileName, $SaveString)>0) echo "File \"" . htmlentities ($SaveFileName) . "\" successfully saved.<br /> "; else echo "There was an error writing \"" . htmlentities($SaveFileName) . "\".<br /> "; } }</p> <p>5. Add the following XHTML form immediately after the closing PHP tag: <h2>Visitor Comments</h2> <form action="VisitorComments.php" method="POST"> Your name: <input type="text" name="name" /><br /> Your email: <input type="text" name="email" /><br /> <textarea name="comment" rows="6" cols="100"></textarea><br /> <input type="submit" name="save" value="Submit your comment" /><br /> </form> 6. Save the document as VisitorComments.php in the Chapter directory for Chapter 5 and upload the fi le to the server. 7. Create a new subdirectory named comments. Verify that the comments directory on the Web server has read, write, and execute permissions enabled for user, group, and other. 8. Reopen ViewFiles.php, change the title to View Comments, and immediately save the fi le as ViewComments.php. 9. Change the value of $Dir to "comments", as follows: $Dir = "comments"; 10. Convert the code that uses FileDownloader.php back to a standard hyperlink, as follows: echo "" . htmlentities($Entry). ""; 11. Save ViewComments.php in the Chapter directory for Chapter 5 and upload the fi le to the server. 12. Open the VisitorComments.php fi le in your Web browser by entering the following URL: http://<yourserver>/PHP_Projects/Chapter.05/Chapter/VisitorComments.php. Attempt For most uses, granting write permission to others is not a safe choice. When making this choice, be sure you have considered the security risks. Do not grant write permissions unless it is absolutely required. 259 Reading and Writing Entire Filesto submit a comment. You should receive a message stating whether the comment was saved successfully. Figure 5-9 shows an example in which the comment was successfully saved. Figure 5-9 A successfully written comment using VisitorComments.php 13. After you have successfully submitted one or more comments to the server using the VisitorComments.php form, open the ViewComments.php fi le in your Web browser by entering the following URL: http://<yourserver>/PHP_Projects/ Chapter.05/Chapter/ViewComments.php. You should see the new fi les in the directory listing. Figure 5-10 shows the output of ViewComments.php with two comments submitted. Figure 5-10 Listing of the comments subdirectory with two saved comments 14. Close your Web browser window.</p> <p>1. Create a new document in your text editor. 2. Type the <!DOCTYPE> declaration, <html> element, header information, and <body> element. Use the strict DTD and Visitor Feedback as the content of the <title> element. 3. Add the following script section to the document body: <?php ?> 4. Add the following code to the script section to store the form data entered: $Dir = "comments"; if (is_dir($Dir)) { $CommentFiles = scandir($Dir); foreach ($CommentFiles as $FileName) { if (($FileName != ".") && ($FileName != "..")) { echo "From <strong>$FileName</strong><br />"; echo "<pre> "; $Comment = file_get_contents ($Dir . "/" . $FileName); echo $Comment; echo "</pre> "; echo "<hr /> "; } } } 5. Add the following XHTML form immediately before the closing PHP tag: <h2>Visitor Feedback</h2> <hr /> 6. Save the document as VisitorFeedback.php in the Chapter directory for Chapter 5 and upload the fi le to the server. 7. Open the VisitorFeedback.php fi le in your Web browser by entering the following URL: http://<yourserver>/ PHP_Projects/Chapter.05/Chapter/VisitorFeedback.php. You should see a list of all the user comments from the comments subdirectory. Figure 5-12 shows an example with two comments. 263 Reading and Writing Entire Files8. Close your Web browser window. Figure 5-12 The Visitor Feedback page with two visitor comments If you only want to display the contents of a text fi le, you do not need to use the file_get_contents() function to assign the contents to a variable and then display the value of the variable as a separate step. Instead, you can use the readfile() function discussed earlier to display the contents of a text fi le to a Web browser. For example, the following example uses the readfile() function to accomplish the same task as the file_get_contents() example you saw earlier: readfile("sfweather.txt"); At times, text fi les are used to store individual lines of data, where each line represents a single unit of information. e easiest way to read the contents of a text fi le that stores data on individual lines is to use the file() function, which reads the entire contents of a fi le into an indexed array. e file() function automatically recognizes whether the lines in a text fi le end in , , or . Each individual line in the text fi le is assigned as the value of an element. You pass to the file() function the name of the text fi le enclosed in quotation marks. For example, the weather service that stores daily weather reports may also store average daily high, low, and mean temperatures, separated by commas, on individual lines in a single text fi le. e following code uses the file_put_contents() function to write the temperatures for the fi rst week in January to a text fi le named s anaverages.txt: $January = "61, 42, 48 "; $January .= "62, 41, 49 "; 264 CHAPTER 5 Working with Files and Directories - Feedback - Mozilla Firefox 1 xl File Edit View History Bookmarks lools Help - C \j 1 0|http://student200.ucb.sephone.us/PHP_frojects/Chapter.05/Chapter/VisitorFeedback!php""Visitor Feedback From Comment.l240187766.2.txt Joseph Michaels jm0example.com Sun, 19 Apr 2009 20:36:06 -0400 Ireally like your sice. From Comment.l240187812.43.txt Nancy Daniels nancy.danielsSexample.edu Sun, 19 Apr 2009 20:36:52 -0400 Ireally don'c like your srce. j Done$January .= "62, 41, 49 "; $January .= "64, 40, 51 "; $January .= "69, 44, 55 "; $January .= "69, 45, 52 "; $January .= "67, 46, 54 "; file_put_contents("sfjanaverages.txt", $January); e fi rst statement in the following code uses the file() function to read the contents of the s anaverages.txt fi le into an indexed array named $JanuaryTemps[]. e for statement then loops through each element in $JanuaryTemps[] and calls the explode() function from Chapter 3 to split each element at the comma into another array named $CurDay. e high, low, and mean averages in the $CurDay array are then displayed with echo statements. Figure 5-13 shows the output. $JanuaryTemps = file("sfjanaverages.txt"); for ($i=0; $i<count($JanuaryTemps); ++$i) { $CurDay = explode(", ", $JanuaryTemps[$i]); echo "<p><strong>January " . ($i + 1) . "</strong><br /> "; echo "High: {$CurDay[0]}<br /> "; echo "Low: {$CurDay[1]}<br /> "; echo "Mean: {$CurDay[2]}</p> "; } Figure 5-13 Output of individual lines in a text fi le 265 Reading and Writing Entire Files )january Temperatures - Mozilla Firefox - I x I File Edit View History Bookmarks lools Help c x ... |Q | http://student200.ucb.sephone.L * January1 High; 61 Low: 42 Mean: 48 January 2 High: 62 Low: 41 Mean: 49 January 3 High: 62 Low: 41 Mean: 49 | Done ATo modify the VisitorFeedback.php fi le so it opens the comment fi les with the file() function instead of the file_get_contents() function: 1. Return to the VisitorFeedback.php fi le in your text editor. 2. Replace the section of code from the opening <pre> statement to the closing </pre> statement with the following code. Notice that because the fi rst three lines of the comment are the commenters name and e-mail address and the date of the comment, the loop to display the comment text has a starting index of 3. $Comment = file($Dir . "/" . $FileName); echo "From: " . htmlentities($Comment[0]) . "<br /> "; echo "Email Address: " . htmlentities($Comment[1]) . "<br /> "; echo "Date: " . htmlentities($Comment[2]) . "<br /> "; $CommentLines = count($Comment); echo "Comment:<br /> "; for ($i = 3; $i < $CommentLines; ++$i) { echo htmlentities($Comment[$i]) . "<br /> "; } 3. Save the VisitorFeedback.php fi le and upload it to the Web server. 4. Open the VisitorFeedback.php fi le in your Web browser by entering the following URL: http://<yourserver>/PHP_Projects/ Chapter.05/Chapter/VisitorFeedback.php. Figure 5-14 shows the new version of the Web page for the same two comments. Figure 5-14 The Visitor Feedback form using the file() function 5. Close your Web browser window.</p> <p> </p> </div> <div class="question-answer-divider"></div> <section class="answerHolder" itemscope itemtype="http://schema.org/Answer"> <div class="answerHolderHeader"> <h2>Step by Step Solution</h2> <div class="answerReviews"> <div class="starIcon"> </div> </div> </div> <div class="questionProperties"> <p>There are 3 Steps involved in it</p> <div class="cart-flex"> <div class="cart cart1"> 1 Expert Approved Answer </div> </div> </div> <div class="step org_answer"> <span class="view_solution_btn view-solution-btn-cursor"> <strong class="step-heading step-1">Step: 1 <span>Unlock <i class="fa-solid fa-lock"></i></span></strong> </span> <img src="https://www.solutioninn.com/includes/images/document_product_info/blur-text-image.webp" class="blured-ans-image" width="759" height="271" alt="blur-text-image" decoding="async" fetchpriority="high"> <div class="step1Popup"> <span class="heading">Question Has Been Solved by an Expert!</span> <p>Get step-by-step solutions from verified subject matter experts</p> <button class="view_solution_btn step1PopupButton">View Solution</button> </div> </div> <div class="step"> <span class="view_solution_btn view-solution-btn-cursor"> <strong class="accordion step-heading">Step: 2 <span>Unlock <i class="fa-solid fa-lock"></i></span></strong> </span> </div> <div class="step"> <span class="view_solution_btn view-solution-btn-cursor"> <strong class="accordion step-heading">Step: 3 <span>Unlock <i class="fa-solid fa-lock"></i></span></strong> </span> </div> </section> <section class="relatedQuestion"> <h3>Students Have Also Explored These Related Databases Questions!</h3> <div class="relatedQuestionSliderHolder"> <div class="relatedQuestionCart "> <p class="heading">Q: </p> <a class="relatedQuestionText" href="/study-help/questions/php-programming-question-kindly-please-include-clear-instructions-on-how-12703752" > PHP Programming Question Kindly please include clear instructions on how many files to create and their names in bold. Also include comments comments in your code as I am having trouble with this... </a> </div> <div class="relatedQuestionCart "> <p class="heading">Q: </p> <a class="relatedQuestionText" href="/study-help/questions/php-exercise-25-1-create-a-new-document-in-your-13299982" > PHP Exercise 2-5 1. Create a new document in your text editor. 2 Be sure to include all the appropriate html tags for a basic document. Add id comments at the top containing: your name, the date, and... </a> </div> <div class="relatedQuestionCart "> <p class="heading">Q: </p> <a class="relatedQuestionText" href="/study-help/questions/in-this-project-you-will-create-a-script-that-validates-10355039" > In this project, you will create a script that validates whether a credit card number contains only integers. The script will remove dashes and spaces from the string. After the dashes and spaces are... </a> </div> <div class="relatedQuestionCart "> <p class="heading">Q: </p> <a class="relatedQuestionText" href="/study-help/questions/in-this-project-you-will-create-a-script-that-uses-10380264" > In this project, you will create a script that uses regular expressions to validate that an e-mail address is valid for delivery to a user at example.org. For an e-mail address to be in the correct... </a> </div> <div class="relatedQuestionCart "> <p class="heading">Q: </p> <a class="relatedQuestionText" href="/study-help/questions/you-use-the-numberformat-function-when-you-want-to-format-8536060" > You use the number_format() function when you want to format the appearance of a number. Th e number_format() function adds commas that separate thousands and determines the number of decimal places... </a> </div> <div class="relatedQuestionCart "> <p class="heading">Q: </p> <a class="relatedQuestionText" href="/study-help/questions/you-use-the-numberformat-function-when-you-want-to-format-13024882" > You use the number_format() function when you want to format the appearance of a number. Th e number_format() function adds commas that separate thousands and determines the number of decimal places... </a> </div> <div class="relatedQuestionCart "> <p class="heading">Q: </p> <a class="relatedQuestionText" href="/study-help/questions/create-a-new-document-in-your-text-editor-and-add-13774368" > Create a new document in your text editor and add the following text and elements: PHP Exercise 2-5 1. Create a new document in your text editor 2. Be sure to include all the appropriate html tags... </a> </div> <div class="relatedQuestionCart "> <p class="heading">Q: </p> <a class="relatedQuestionText" href="/study-help/questions/exercise-62-in-this-project-you-will-create-a-multidimensional-13337001" > Exercise 6-2 In this project, you will create a multidimensional array that contains the measurements, in inches, for several boxes that a shipping com- pany might use to determine the volume of a... </a> </div> <div class="relatedQuestionCart "> <p class="heading">Q: </p> <a class="relatedQuestionText" href="/study-help/questions/please-answer-all-in-this-project-you-will-modify-a-13566563" > please answer all In this project, you will modify a nested if statement so it instead uses a compound conditional expression. You will use logical opera- tors such as II (or) and && (and) to execute... </a> </div> <div class="relatedQuestionCart "> <p class="heading">Q: </p> <a class="relatedQuestionText" href="/study-help/questions/php-programming-in-this-project-you-will-write-a-while-8976805" > PHP Programming! In this project, you will write a while statement that displays all odd numbers between 1 and 100 on the screen. You will be marked on convention (like good variable names and... </a> </div> <div class="relatedQuestionCart "> <p class="heading">Q: </p> <a class="relatedQuestionText" href="/how-would-you-respond-when-someone-makes-a-decision-that" > How would you respond when someone makes a decision that adversely affects you while saying, its nothing personal, its just business? Is business impersonal? </a> </div> <div class="relatedQuestionCart "> <p class="heading">Q: </p> <a class="relatedQuestionText" href="/you-are-a-financial-adviser-to-a-us-corporation-that" > You are a financial adviser to a U.S. corporation that expects to receive a payment of 40 million Japanese yen in 180 days for goods exported to Japan. The current spot rate is 100 yen per U.S.... </a> </div> <div class="relatedQuestionCart "> <p class="heading">Q: </p> <a class="relatedQuestionText" href="/study-help/questions/dl-2-0-2-5-spring-crn-4-0-27883588" > DL 2 0 2 5 Spring - CRN 4 0 6 8 4 Alexandra Alvarez 0 3 / 2 4 / 2 5 1 0 : 5 7 AM m / de Question 1 7 of 5 1 This test: 7 6 point ( g ) possible This question: 1 point ( ) possible Submit test Which... </a> </div> <div class="relatedQuestionCart "> <p class="heading">Q: </p> <a class="relatedQuestionText" href="/study-help/questions/ct-corp-comprehensive-question-canadian-tire-corporation-limited-canadian-tire-15961853" > CT Corp Comprehensive Question Canadian Tire Corporation, Limited (Canadian Tire) is a family of companies that includes a retail segment and a financial services division, among others. The retail... </a> </div> <div class="relatedQuestionCart "> <p class="heading">Q: </p> <a class="relatedQuestionText" href="/study-help/fundamentals-of-human-resource-management/foreign-investors-these-often-bring-fixed-ideas-about-hrm-in-2116445" > Foreign investors. These often bring fixed ideas about HRM in terms of organizational culture, management philosophy and practice. </a> </div> <div class="relatedQuestionCart "> <p class="heading">Q: </p> <a class="relatedQuestionText" href="/study-help/fundamentals-of-human-resource-management/3-how-would-the-situation-be-different-if-volkswagen-were-2116440" > 3 How would the situation be different if Volkswagen were to establish a joint venture with a Russian company? What people management principles and practices should be put in place? </a> </div> <div class="relatedQuestionCart "> <p class="heading">Q: </p> <a class="relatedQuestionText" href="/study-help/fundamentals-of-human-resource-management/strained-labourmanagement-relations-that-are-deeprooted-longterm-benefits-they-believe-2116437" > Strained labourmanagement relations that are deep-rooted. Long-term benefits, they believe, can be obtained through appropriate employee training on company survival, and both managers and employees... </a> </div> </div> <nav class="navigationButtons"> <a class="previousQuestionButton" href="/study-help/questions/java-programming-which-of-the-following-statements-is-not-true-12547867">Previous Question</a> <a class="nextQuestionButton" href="/study-help/questions/harvard-business-school-professor-michael-porter-created-the-competitive-forces-12547869">Next Question</a> </nav> </section> </main> <aside class="expertRight"> <section class="relatedBook" style="margin-bottom:40px; width: 100%;" > <div class="bookHolder" > <div class="relatedBookHeading" > <h2 class="heading">Recommended Textbook</h2> </div> <div class="bookMainInfo" > <div class="bookImage" style="width: 100px !important; min-width: 100px; flex-shrink: 0; margin-right: 20px;"> <a href="/textbooks/database-systems-for-advanced-applications-dasfaa-2023-international-workshops-bdms-2023-bdqm-2023-gdma-2023-bundlers-2023-tianjin-china-april-17-20-2023-proceedings-lncs-13922-1st-edition-978-3031354144-177348"> <img src="https://dsd5zvtm8ll6.cloudfront.net/si.question.images/book_images/2024/01/6598e2f2c8f80_3866598e2f2b7f12.jpg" width="100" height="131" alt="Database Systems For Advanced Applications Dasfaa 2023 International Workshops Bdms 2023 Bdqm 2023 Gdma 2023 Bundlers 2023 Tianjin China April 17 20 2023 Proceedings Lncs 13922" loading="lazy" style="width: 100px !important;"> </a> <a href="/textbooks/computer-science-armadillo-2795" style="margin-top: 8px; display: block; text-align: left;">More Books</a> </div> <div class="bookInfo" style="text-align: left;"> <span class="bookTitle" style="text-align: left;"> <a href="/textbooks/database-systems-for-advanced-applications-dasfaa-2023-international-workshops-bdms-2023-bdqm-2023-gdma-2023-bundlers-2023-tianjin-china-april-17-20-2023-proceedings-lncs-13922-1st-edition-978-3031354144-177348" style="text-align: left;"> Database Systems For Advanced Applications Dasfaa 2023 International Workshops Bdms 2023 Bdqm 2023 Gdma 2023 Bundlers 2023 Tianjin China April 17 20 2023 Proceedings Lncs 13922 </a> </span> <div class="bookMetaInfo" style="text-align: left;"> <p class="bookAuthor" style="text-align: left;"> <b>Authors:</b> <span>Amr El Abbadi ,Gillian Dobbie ,Zhiyong Feng ,Lu Chen ,Xiaohui Tao ,Yingxia Shao ,Hongzhi Yin</span> </p> <p class="bookEdition" style="text-align: left;"> 1st Edition </p> <p class="bookEdition" style="text-align: left;"> 3031354141, 978-3031354144 </p> </div></div></div> </div> </section> <div class="post-question-section"> <div class="description-question-section"> <span class="post-question-section-title">Ask a Question and Get Instant Help!</span> </div> <div class="text-area-post-question"> <form action="/study-help/post-question?ref=search" method="post" enctype="multipart/form-data"> <textarea rows="4" class="form-control form-posting-margin" name="textarea-question-content" id="textarea-question-content" placeholder="Type Your Question ...."></textarea> <button type="submit" class="btn btn-sm btn-submit-post-question text-center">Get Answer</button> </form> </div> </div> </aside> </div> </div> <div class="promo items-center justify-center hidden"> <div class="app_promo"> <span class="app_promo_dismiss"> <i class="fa-solid fa-x"></i> </span> <div class="app-button"> <div class="image-wrapper"> <img width="30" height="30" src="https://www.solutioninn.com/includes/images/rewamp/common/mobile-app-logo.png" decoding="async" fetchpriority="high" alt="SolutionInn App Logo"> <strong>Study Help</strong> </div> <button class="app_promo_action redirection" data-question-open-url='q_id=12547868&q_type=2'> Open in App </button> </div> </div> </div> </div> </div> <div class="blank-portion"></div> <footer> <div class="container footerHolder"> <div class="footerLinksFlex"> <div class="footerLinksCol col-md-3 col-lg-3 col-sm-6 col-6"> <p>Services</p> <ul> <li><a href="/site-map">Sitemap</a></li> <li><a href="/fun/">Fun</a></li> <li><a href="/study-help/definitions">Definitions</a></li> <li><a href="/tutors/become-a-tutor">Become Tutor</a></li> <li><a href="/books/used-textbooks">Used Textbooks</a></li> <li><a href="/study-help/categories">Study Help Categories</a></li> <li><a href="/study-help/latest-questions">Recent Questions</a></li> <li><a href="/study-help/questions-and-answers">Expert Questions</a></li> <li><a href="/clothing">Campus Wear</a></li> <li><a href="/sell-books">Sell Your Books</a></li> </ul> </div> <div class="footerLinksCol col-md-3 col-lg-3 col-sm-6 col-6"> <p>Company Info</p> <ul> <li><a href="/security">Security</a></li> <li><a href="/copyrights">Copyrights</a></li> <li><a href="/privacy">Privacy Policy</a></li> <li><a href="/conditions">Terms & Conditions</a></li> <li><a href="/solutioninn-fee">SolutionInn Fee</a></li> <li><a href="/scholarships">Scholarship</a></li> <li><a href="/online-quiz">Online Quiz</a></li> <li><a href="/study-feedback">Give Feedback, Get Rewards</a></li> </ul> </div> <div class="footerLinksCol col-md-3 col-lg-3 col-sm-6 col-6"> <p>Get In Touch</p> <ul> <li><a href="/about-us">About Us</a></li> <li><a href="/support">Contact Us</a></li> <li><a href="/career">Career</a></li> <li><a href="/jobs">Jobs</a></li> <li><a href="/support">FAQ</a></li> <li><a href="https://www.studentbeans.com/en-us/us/beansid-connect/hosted/solutioninn" target="_blank" rel="noopener nofollow">Student Discount</a></li> <li><a href="/campus-ambassador-program">Campus Ambassador</a></li> </ul> </div> <div class="footerLinksCol col-md-3 col-lg-3 col-sm-6 col-12"> <p>Secure Payment</p> <div class="footerAppDownloadRow"> <div class="downloadLinkHolder"> <img src="https://dsd5zvtm8ll6.cloudfront.net/includes/images/rewamp/common/footer/secure_payment_method.png" class="img-fluid mb-3" width="243" height="28" alt="payment-verified-icon" loading="lazy"> </div> </div> <p>Download Our App</p> <div class="footerAppDownloadRow"> <div class="downloadLinkHolder mobileAppDownload col-md-6 col-lg-6 col-sm-6 col-6 redirection" data-id="1"> <img style="cursor:pointer;" src="https://dsd5zvtm8ll6.cloudfront.net/includes/images/rewamp/home_page/google-play-svg.svg" alt="SolutionInn - Study Help App for Android" width="116" height="40" class="img-fluid mb-3 " loading="lazy"> </div> <div class="downloadLinkHolder mobileAppDownload col-md-6 col-lg-6 col-sm-6 col-6 redirection" data-id="2"> <img style="cursor:pointer;" src="https://dsd5zvtm8ll6.cloudfront.net/includes/images/rewamp/home_page/apple-store-download-icon.svg" alt="SolutionInn - Study Help App for iOS" width="116" height="40" class="img-fluid mb-3" loading="lazy"> </div> </div> </div> </div> </div> <div class="footer-bottom"> <p>© 2026 SolutionInn. All Rights Reserved</p> </div></footer> <script> window.addEventListener("load",function(){jQuery(document).ready(function(t){ // Clarity tracking (function(c,l,a,r,i,t,y){ c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); })(window, document, "clarity", "script", "sjv6tuxsok"); // Helper to read a cookie by name function getCookie(name) { return document.cookie .split('; ') .map(v => v.split('=')) .reduce((acc, [k, val]) => (k === name ? decodeURIComponent(val || '') : acc), ''); } // Read cookies var si = getCookie('si_u_id'); var uid = getCookie('u_id'); var zen = getCookie('zenid'); // Send to Clarity if (si) clarity('set', 'si_u_id', si); if (uid) clarity('set', 'u_id', uid); if (zen) clarity('set', 'zenid', zen); clarity('set', 'ip_address', '216.73.216.134'); t.ajax({type:"POST",url:"/",data:{trackUserActivity:!0,reqUri:document.URL,referer:document.referrer},success:function(t){}})})},!1),window.addEventListener("load",function(){jQuery(document).ready(function(t){t.ajax({type:"POST",url:"/",data:{insertCrawler:!0,reqUri:document.URL,parseTime:"0.056",queryTime:"0.01654768548584",queryCount:"30"},success:function(t){}})})},!1),window.addEventListener("load",function(){jQuery(document).ready(function(){function t(t="",n=!1){var i="itms-apps://itunes.apple.com/app/id6462455425",e="openApp://action?"+t;isAndroid()?(setTimeout(function(){return window.location="market://details?id=com.solutioninn.studyhelp",!1},25),window.location=e):isIOS()?(setTimeout(function(){return window.location=i,!1},25),window.location=e):(i="https://apps.apple.com/in/app/id6462455425",n&&(i="https://play.google.com/store/apps/details?id=com.solutioninn.studyhelp"),window.open("about:blank","_blank").location.href=i)}jQuery("#appModal").modal("show"),jQuery(".download-app-btn").click(function(){t(jQuery(this).attr("data-question-open-url"))}),jQuery(".redirection").click(function(){var n=jQuery(this).attr("data-question-open-url"),i=jQuery(this).attr("data-id");void 0!=n?1==i?t(n,!0):t(n,!1):1==i?t("",!0):t("",!1)}),jQuery(".app-notification-close").click(function(){jQuery(".app-notification-section").css("visibility","hidden");var t=new FormData;t.append("hide_notification",!0),jQuery.ajax({type:"POST",url:"/",data:t,cache:!1,contentType:!1,processData:!1,beforeSend:function(){},success:function(t){location.reload()}})})})},!1); </script> </body> </html>