Upload en rename file + sql
Ik wil een script maken, waarbij je een plaatje kunt uploaden.
Vervolgens wordt dit plaatje hernoemd, en wordt de informatie in de database gezet.
Ook wordt er een description in de database geplaatst, die op dezelfde pagina wordt ingevoerd.
Probleem is echter:
- Script wil het plaatje wel verplaatsen naar de aangegeven map, maar vervolgens niet hernoemen.
error is: " Warning: rename(H:\xampp\tmp\phpF84.tmp,23odhvd2.png) [function.rename]: No such file or directory in H:\xampp\htdocs\upload2.php on line 17 "
- De IF-statement gaat via het verplaatsen. het plaatje wordt wel verplaatst, en dus zou de IF true moetn zijn, maar gaat vervolgens FALSE uitvoeren. zegmaar.
Zie script hieronder.
Wil iemand mij helpen?
SCRIPT VERWIJDERD, ZIE ONDERAAN TOPIC VOOR HUIDIGE VERSIE
Gewijzigd op 10/04/2013 10:08:24 door Kevin Zegikniet
Quote:
This function checks to ensure that the file designated by filename is a valid upload file (meaning that it was uploaded via PHP's HTTP POST upload mechanism). If the file is valid, it will be moved to the filename given by destination.
Aha! ik zal eens kijken.
dan zou $target_path dus:
"thumbnails/" . $_GET['q'] . ".png"
worden?
EDIT: $target_path veranderd in bovenstaande, (met ; erachter), en dat werkt nu prima.
Probleem echter is nu: het plaatje wordt hernoemd en verplaatst naar de map thumbnails, maar daarna komt er wel een foutmelding alsof de IF-statement false is.
MAW: hij upload en hernoemt plaatje wel, maar voert vervolgens niet bijbehorende query uit.
Ik heb de SQL query ook even veranderd.
EDIT: het werkt nu wel.
Hieronder staat het huidige script:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?php
session_start();
IF ( (!isset($_SESSION['Username']) ) OR (!isset($_GET['q']) ) )
{ header('Location: http://localhost/'); }
mysql_connect("localhost", "root", "") or die('Could not connect: ' . mysql_error());
mysql_select_db("youtube") or die('Could not find database: ' . mysql_error());
$name = mysql_result ( mysql_query ("SELECT Name FROM Video WHERE Path = '". $_GET['q'] ."' "), 0);
IF ($_POST['mode'] == TRUE)
{ $target_path = "thumbnails/" . $_GET['q'] . ".png";
IF ( ( (move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path) )== TRUE ) )
{
$sql = mysql_query("UPDATE Video
SET Image = '". $_GET['q'] ."', Description = '".mysql_real_escape_string($_POST['description'])."'
WHERE Path = '". $_GET['q'] ."' ");
header("Location: watch.php?v=".$_GET['q']." ");
}
ELSE { $control = FALSE; }
}
include('header.php');
?>
<html>
<head>
<title>Uploaden!</title>
<link rel="icon" type="image/ico" href="/images/favicon.ico" />
</head>
<body bgcolor="#DFDFDF"><center>
<h3>Video: <?php echo $name; ?></h3>
<?php
IF ($_POST['mode'] != TRUE)
{ ECHO "<form enctype='multipart/form-data' action='' method='post'> <table>
<tr> <td width=450 style='text-align: right'> Wat is de beschrijving van het filmpje?</td> <td width=450 style='text-align: left'><textarea name='description' rows=3 cols=50>Typ hier je beschrijving!</textarea></td></tr>
<tr> <td width=450 style='text-align: right'> Selecteer hier het Plaatje!</td> <td width=450 style='text-align: left'><input name='uploadedfile' type='file' /></td></tr>
<tr> <td colspan=2 style='text-align: center'> <font color='#FF0000'><h3>LET OP! Het plaatje moet <u>PNG</u> zijn, en <u>150 bij 150</u> (of in ieder geval <u>vierkant</u>) !!</h3></font></td> </tr>
<tr> <td colspan=2 style='text-align: center'> <input type='hidden' name='mode' value='TRUE'> <input type='submit' value='Bewerk Video!' /></td></tr>
</table> </form>"; }
ELSE IF ( ($_POST['mode'] == TRUE) AND ($control != FALSE) )
{ ECHO "Succesfully uploaded '". $_FILES['uploadedfile']['name'] ."' !",
"<br>Ga naar <a href='watch.php?v=". $PATH ." '>uw filmpje!</a>"; }
ELSE IF ( ($_POST['mode'] == TRUE) AND ($control == FALSE) )
{ ECHO "Oops, Something went wrong.<br>There was an error uploading the file, please try again!
<br><img border='0' src='/images/uhoh.jpeg' alt='Uhoh, something went wrong!' width='650' height='250'>
<br><a href='javascript:history.back()';>Klik hier om terug te gaan!</a>"; }
?>
</body>
</html>
session_start();
IF ( (!isset($_SESSION['Username']) ) OR (!isset($_GET['q']) ) )
{ header('Location: http://localhost/'); }
mysql_connect("localhost", "root", "") or die('Could not connect: ' . mysql_error());
mysql_select_db("youtube") or die('Could not find database: ' . mysql_error());
$name = mysql_result ( mysql_query ("SELECT Name FROM Video WHERE Path = '". $_GET['q'] ."' "), 0);
IF ($_POST['mode'] == TRUE)
{ $target_path = "thumbnails/" . $_GET['q'] . ".png";
IF ( ( (move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path) )== TRUE ) )
{
$sql = mysql_query("UPDATE Video
SET Image = '". $_GET['q'] ."', Description = '".mysql_real_escape_string($_POST['description'])."'
WHERE Path = '". $_GET['q'] ."' ");
header("Location: watch.php?v=".$_GET['q']." ");
}
ELSE { $control = FALSE; }
}
include('header.php');
?>
<html>
<head>
<title>Uploaden!</title>
<link rel="icon" type="image/ico" href="/images/favicon.ico" />
</head>
<body bgcolor="#DFDFDF"><center>
<h3>Video: <?php echo $name; ?></h3>
<?php
IF ($_POST['mode'] != TRUE)
{ ECHO "<form enctype='multipart/form-data' action='' method='post'> <table>
<tr> <td width=450 style='text-align: right'> Wat is de beschrijving van het filmpje?</td> <td width=450 style='text-align: left'><textarea name='description' rows=3 cols=50>Typ hier je beschrijving!</textarea></td></tr>
<tr> <td width=450 style='text-align: right'> Selecteer hier het Plaatje!</td> <td width=450 style='text-align: left'><input name='uploadedfile' type='file' /></td></tr>
<tr> <td colspan=2 style='text-align: center'> <font color='#FF0000'><h3>LET OP! Het plaatje moet <u>PNG</u> zijn, en <u>150 bij 150</u> (of in ieder geval <u>vierkant</u>) !!</h3></font></td> </tr>
<tr> <td colspan=2 style='text-align: center'> <input type='hidden' name='mode' value='TRUE'> <input type='submit' value='Bewerk Video!' /></td></tr>
</table> </form>"; }
ELSE IF ( ($_POST['mode'] == TRUE) AND ($control != FALSE) )
{ ECHO "Succesfully uploaded '". $_FILES['uploadedfile']['name'] ."' !",
"<br>Ga naar <a href='watch.php?v=". $PATH ." '>uw filmpje!</a>"; }
ELSE IF ( ($_POST['mode'] == TRUE) AND ($control == FALSE) )
{ ECHO "Oops, Something went wrong.<br>There was an error uploading the file, please try again!
<br><img border='0' src='/images/uhoh.jpeg' alt='Uhoh, something went wrong!' width='650' height='250'>
<br><a href='javascript:history.back()';>Klik hier om terug te gaan!</a>"; }
?>
</body>
</html>
Gewijzigd op 10/04/2013 10:06:08 door Kevin Zegikniet