формы — php одинарные или двойные кавычки $ _FILES

Я новичок в php, беру мой первый курс сейчас. Я не могу понять, почему только $ screenshot = $ _FILES [«screenshot»] [«name»] нужны двойные кавычки. У меня изначально были одинарные кавычки, и это не работало. Я случайно решил попробовать двойные кавычки, и это начало работать … может кто-нибудь сказать мне, почему?

<?php
// Define the upload path and maximum file size constants
define('GW_UPLOADPATH', 'images/');

if (isset($_POST['submit'])) {
// Grab the score data from the POST
$name = $_POST['name'];
$score = $_POST['score'];
$screenshot = $_FILES["screenshot"]["name"];

if (!empty($name) && !empty($score)) {
// Move the file to the targe upload folder
$target = GW_UPLOADPATH . $screenshot;
// Connect to the database
$dbc = mysqli_connect('localhost', 'root', 'Bandito8', 'gwdb')
or die('Unable to connect to databse');

// Write the data to the database
$query = "INSERT INTO guitarwars VALUES (0, NOW(), '$name', '$score', '$screenshot')";
mysqli_query($dbc, $query)
or die('Unable to complete query');

// Confirm success with the user
echo '<p>Thanks for adding your new high score!</p>';
echo '<p><strong>Name:</strong> ' . $name . '<br>';
echo '<strong>Score:</strong> ' . $score . '</p>';
echo '<img src="' . GW_UPLOADPATH . $screenshot . '" alt="Score image"></p>';
echo '<p><a href="index.php">&lt;&lt; Back to high scores</a></p>';

// Clear the score data to clear the form
$name = "";
$score = "";
$screenshot = "";

mysqli_close($dbc);
}
else {
echo '<p class="error">Please enter all of the information to add your high score.</p>';
}
}
?>

0

Решение

Парсер php пытается интерпретировать строку в двойных кавычках как переменную, в то время как строка в одинарных кавычках интерпретируется как буквально строка …

интерпретатор php ищет переменную и занимает больше времени php, так как не находит никакой переменной …

echo $_FILES["upload"]["size"];

Интерпретатор php ищет строку и занимает меньше времени php, так как ему не нужно искать переменную …

echo $_FILES['upload']['size'];

Другой пример:

этот пример обрабатывает $ hidden как переменную и работает нормально …

echo "the red fox was $hidden to the hunter";

этот пример обрабатывает $ hidden как строку и не может работать как положено …

echo 'the red fox was $hidden to the hunter';

Надеюсь это поможет!

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]